A curated directory of affiliate programs that pay recurring lifetime commissions.
Introduction · Installation · Deploy With Vercel · Setting Up Locally · Tech Stack · Contributing
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.
- 📒 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
You can deploy with Vercel or set up the project locally.
First, follow the instructions in the Getting Started section of the Outstatic documentation.
Click the button below:
Then follow the Deploy with Vercel steps.
Continue reading for the remaining environment variables.
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.
Add the following to the .env.local file:
- RESEND_API_KEY
- RESEND_SEGMENT_ID
- NEXT_PUBLIC_EMAIL_LIST_ENABLED - set to
trueto show the subscribe UI and enable the/subscribeendpoint. Defaults tofalsewhen omitted. - NEXT_PUBLIC_SUBMIT_CONTENT_ENABLED - set to
trueto show the submit UI and enable the/submitendpoint. Defaults tofalsewhen 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.
If the project is on Vercel, enable BotID to protect form submissions.
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 IDNEXT_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.
Revlist is built on the following stack:
- Outstatic - CMS
- Next.js - framework
- TailwindCSS - styles
- shadcn/ui - components
- React Hook Form - forms
- Zod - validation
- Resend - newsletter subscription & submission notifications
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.