avitorio/revscout

★ 0Forks 0TypeScriptGitHub ↗Compare

README

A curated directory of affiliate programs that pay recurring lifetime commissions.

Introduction · Installation · Deploy With Vercel · Setting Up Locally · Tech Stack · Contributing


Introduction

Revlist is a directory of SaaS, tools, and services that offer recurring lifetime commissions to their affiliates — so you can find programs worth promoting for the long haul.

An open source project by Andre Vitorio.

Key features

  • 📒 Curated Affiliate Directory: Programs with recurring or lifetime payouts
  • 📝 Full-Featured Dashboard: Powered by Outstatic
  • 🚀 Quick and Easy Setup: No hassle installation
  • 💾 Database-Free: No need for a database
  • 🧩 Custom Fields: Commission rate, cookie duration, payout details, etc.
  • 💌 Newsletter Subscription: Integrated with Resend
  • 🤖 Vercel's BotID: Prevent bot submissions
  • 📈 Analytics: Use Google Analytics or Umami

Installation

Getting Started

You can deploy with Vercel or set up the project locally.

First, follow the instructions in the Getting Started section of the Outstatic documentation.

To deploy with Vercel

Click the button below:

Deploy with Vercel

Then follow the Deploy with Vercel steps.

Continue reading for the remaining environment variables.

Setting up locally

Clone the repository.

To run the app locally:

pnpm i
pnpm build
pnpm dev

Open http://localhost:3000/outstatic

Click on Sign in with GitHub and follow the steps to set up your Outstatic dashboard.

Optional Features

Set mailing list and submission notifications

Add the following to the .env.local file:

  • RESEND_API_KEY
  • RESEND_SEGMENT_ID
  • NEXT_PUBLIC_EMAIL_LIST_ENABLED - set to true to show the subscribe UI and enable the /subscribe endpoint. Defaults to false when omitted.
  • NEXT_PUBLIC_SUBMIT_CONTENT_ENABLED - set to true to show the submit UI and enable the /submit endpoint. Defaults to false when omitted.
  • FROM_EMAIL - the sender address for notification emails when submit content is enabled (e.g. [email protected])
  • OWNER_EMAIL - the email address that receives a notification when a new program is submitted

To get your API key and segment ID, visit resend.com.

Set up Vercel BotID to protect form submissions

If the project is on Vercel, enable BotID to protect form submissions.

Analytics

Revlist includes a unified analytics component that supports Google Analytics and Umami. Set the corresponding environment variables in .env.local to enable your preferred provider:

Google Analytics:

  • NEXT_PUBLIC_GA_TRACKING_ID - your GA measurement ID (e.g. G-XXXXXXXXXX)

Umami:

  • NEXT_PUBLIC_UMAMI_WEBSITE_ID - your Umami website ID
  • NEXT_PUBLIC_UMAMI_HOST (optional) - custom script URL (defaults to /stats/script.js)
  • NEXT_PUBLIC_UMAMI_HOST_URL (optional) - custom host URL for data collection

Only one provider is used at a time -- Google Analytics takes priority if both are configured. Check .env.local.example for the full list of variables.

Tech Stack

Revlist is built on the following stack:

Contributing

Here's how you can contribute:

  • Open an issue if you believe you've encountered a bug.
  • Make a pull request to add new programs, features, quality-of-life improvements, or fix bugs.

Contributors

avitorio

Issues