Stashlog
Open-source members-only content platform — paid courses & communities on Next.js + Firebase.
Stashlog is a members-only content platform built with Next.js and Firebase (source-available on GitHub, proprietary license). Course creators and community builders get gated access control, MDX content authoring, and whitelist-based member management — self-hosted knowledge monetization.
What is Stashlog?
Stashlog is a premium members-only content platform built with Next.js and Firebase, designed for course creators, paid-community builders, and coaches to monetize their knowledge through exclusive gated content. All content requires authentication (no public access), member access is controlled through a Firestore whitelist (authorized_users collection), and content is written as MDX files (Markdown + React components) in a posts/ directory. The stack is Next.js 15, React 19, TypeScript, Tailwind CSS v4, Firebase Auth, Firestore, and Firebase App Hosting, and it's self-hosted so creators keep full ownership.
Key features
- Members-only access: secure authentication ensures only authorized members can view content — no public access
- Whitelist member management: access controlled via a Firestore authorized_users collection keyed by email
- Rich content authoring in MDX (Markdown + JSX/React components), stored as files in a posts/ directory with frontmatter
- Tech stack: Next.js 15 with Turbopack, React 19, TypeScript, Tailwind CSS v4, Firebase Auth (Email/Password + Google sign-in), Firestore
- Deploys to Firebase App Hosting via the Firebase CLI (firebase deploy)
- Mobile-responsive UI with a clean, professional design
- Self-hosted architecture: full control and ownership, described as scaling from 10 to 10,000+ members
- Content organization patterns for courses (module files), communities (topic files), and coaching (client-specific paths)
Who it's for
- Course creators sharing premium courses with paying students, with lessons organized by modules
- Community builders running exclusive paid communities with a gated premium content library
- Coaches and consultants delivering private materials and personalized content paths to clients
- Content creators monetizing expertise through subscription-style exclusive tutorials and resources
When not to use it
Stashlog is not for public blogging — every page requires authentication, so it's the wrong tool if you want openly readable content. It also does not include built-in payment processing (the README suggests pairing it with Stripe, PayPal, or another gateway), and the license is proprietary with contributions limited to authorized team members, so it's not an open-contribution OSS project to extend freely.
FAQ
How does Stashlog control who can access content?
Through a Firestore whitelist: you add each member's email as a document in the authorized_users collection (Document ID = email, field { email }). Firebase Auth handles sign-in via Email/Password and Google providers; only whitelisted, authenticated users see content.
Does Stashlog handle payments?
No — it provides the gated-content foundation. The README recommends combining it with a payment gateway like Stripe or PayPal, plus email marketing for onboarding and analytics for engagement tracking.
What tech stack does Stashlog use?
Next.js 15 (with Turbopack), React 19, TypeScript, Tailwind CSS v4, Firebase Auth, Firestore, MDX for content, and Firebase App Hosting for deployment. Node.js 18+ and a Firebase project with Auth and Firestore enabled are prerequisites.
How do I add content to Stashlog?
Write MDX files in the posts/ directory with title/date frontmatter. Suggested organization: module-numbered files for courses (module-1-intro.mdx), topic files for communities, and client-specific paths for coaching (week-1-goals.mdx).
Is Stashlog open source?
The repo is public on GitHub, but the license states the project is private and proprietary, all rights reserved, and contributions are typically limited to authorized team members — contact the administrator for access.
Share this launch
Embed this badge
<a href="https://orangebot.ai/product/stashlog" target="_blank" rel="noopener noreferrer"> <img src="https://orangebot.ai/api/badge/stashlog.svg" alt="Featured on OrangeBot" width="200" height="54" /> </a>