Skip to content

masonthemaker/encore

Repository files navigation

header

Typing SVG


Lesson page

No server knowledge required. No database expertise needed.
If you can fill out a form, you can publish a lesson. Everything you need to manage your course lives in a built-in UI — no SQL, no terminal, no backend work after the initial setup.


Why this exists

I wanted to launch a course. Simple enough.

Then I started pricing out the platforms. Kajabi. Teachable. Thinkific. Circle. You're looking at $150–$400/month just to get started, before you've made a single sale. Some take a cut of every transaction on top of that. And you're always one pricing change away from your margin disappearing.

I didn't want a platform that sort of fit what I needed. I wanted exactly what I wanted — a clean video course, a real community, and tooling that felt like something I'd actually build. So I built it instead.

Encore Avenue is the result. It's free to run, open source, and designed to be launched in an afternoon.


What's included

Video Lessons

Structured courses organized into sections and lessons. Mux-powered video playback, lesson completion tracking, free preview gating, and a full progress system. Students see exactly where they are and what's next.


Live Community Chat

Slack-style community channels with real-time messaging. Members can @mention each other — mentions highlight the message for both sender and recipient, and clicking a mention opens that person's profile. Instructors, premium members, and free members are all visually distinguished. Images supported.

Community chat


Direct Messages

Full 1:1 direct messaging between any members. Real-time updates, unread counts, image sharing, and a clean conversation list — no third-party chat tool required.

Direct messages


Supporters

Students add supporters — a parent, partner, mentor, or friend — and the platform automatically texts or emails them when the student hits milestones. Accountability built into the product itself.


Built-in CMS — the whole point

This is the part that makes Encore Avenue actually usable without a developer on call.

Everything about your course is managed through a visual Content Studio at /admin. You never need to open a database editor, write SQL, or SSH into a server. The CMS handles:

  • Courses — create a new course with a title, description, and slug. Edit or delete at any time.
  • Sections — organize your course into named sections (modules). Reorder, rename.
  • Lessons — add lessons to any section with a title, Mux video URL, and description. Mark individual lessons as free previews so non-paying visitors can get a taste before upgrading.
  • Resources — attach links to each lesson: GitHub repos, Figma files, external docs, tools. They show up below the lesson description with automatic icons.
  • Edit in place — click the edit icon on any course, section, or lesson to pre-fill the form and update it. Changes go live immediately.
  • Delete — remove anything you no longer need, without touching the database.

The only time you'll ever open the Supabase dashboard is once, on day one, to run the migrations and set your account to superadmin. After that, the CMS is your interface.

CMS


Encore AI (UI scaffolded, AI connection ready)

Each lesson has an "Encore AI" button that opens a lesson-aware chat interface. Designed to let students ask questions about exactly what they're watching without leaving the page.

Free / Premium tiers

Free members can browse and watch preview lessons and send up to 10 community messages before being prompted to upgrade. Premium members get full access to all lessons and unlimited community. Stripe handles checkout — one-time course access + monthly community, sold as a bundle.


Tech stack

Next.js Supabase Postgres Stripe Tailwind Vercel TypeScript Mux


Getting started

You need to do the setup steps below exactly once. After that, everything — courses, lessons, resources, sections — is managed through the CMS at /admin. No code changes, no database queries, no server restarts.

1. Clone and install

git clone https://github.com/your-handle/encore-avenue.git
cd encore-avenue
npm install

2. Set up environment variables

cp .env.example .env.local
# Supabase
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
SUPABASE_SERVICE_ROLE_KEY=

# Mux
NEXT_PUBLIC_MUX_ENV_KEY=

# Stripe
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=
STRIPE_SECRET_KEY=
STRIPE_WEBHOOK_SECRET=

3. Run migrations

supabase db push

4. Seed a superadmin

Sign up with your email, then run once in the Supabase SQL editor:

update profiles set role = 'superadmin' where email = 'your@email.com';

The superadmin account unlocks the Content Studio at /admin and is displayed as the instructor on all lesson pages.

5. Run locally

npm run dev

Open http://localhost:3000. The marketing homepage is public. Everything else requires an account.


Access tiers

Feature Free Premium
Watch free preview lessons
Watch all lessons
Community chat (read)
Community chat (send) 10 messages Unlimited
Direct messages
Add supporters

Premium is sold as a bundle: $249 one-time course access + $29.99/month community access.


Deploying

The fastest path is Vercel + Supabase cloud.

  1. Push to GitHub
  2. Import the repo in Vercel
  3. Add all environment variables to Vercel's dashboard
  4. Set your Stripe webhook endpoint to https://your-domain.com/api/stripe/webhook
  5. Deploy

No servers to manage. No monthly platform fee. No DevOps knowledge required.

Once it's live, go to your-domain.com/admin and start building your course. Your students will never know — or care — how the backend works. Neither should you.


Features in progress

  • 2FA — infrastructure complete (Twilio Verify, rate limiting, API routes). Disabled via TWO_FA_ENABLED = false in AuthPage.tsx. See 2FA_REACTIVATION.md to enable.
  • Encore AI — chat UI is built in VideoPlayer.tsx. Connect it to your AI provider of choice.
  • Supporter triggers — the supporters table and UI exist. Wire milestone detection to your notification logic.

License

MIT. Use it, fork it, ship your own thing with it.

footer

About

Open Source Kajabi Alternative Built w/ Nextjs

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages