Stop paying for landing pages. Start owning your validation.
You're stuck in the loop:
- "Just one more feature before I launch"
- "The design isn't perfect yet"
- "I need to add this integration first"
Meanwhile, landing page builders charge $50-300/month. Your content is locked in their platform. Migration means rebuilding from scratch.
You waste months building. Then discover nobody wants it.
Founder Funnel is an open-source landing page template that helps you prove demand before you build anything.
- Deploy in 15 minutes β Live site, capturing signal, tracking conversions
- $0/month forever β Your code, your hosting, your data
- Multiple validation paths β Email signups, presales, service bookings
- Own your stack β No vendor lock-in, swap any tool anytime
Built with: Nuxt 4 Β· Tailwind v4 Β· TypeScript
A complete validation system designed around one question:
"Is there real demand for this?"
Multiple validation paths depending on your offer:
Email capture β Visitors convert to leads for your free magnet Presales β Collect payment before building the product Service bookings β Sell consultation calls, learn from delivery, systematize into product
Each path generates evidence. You measure signal, then decide.
Hero Β· Benefits Β· Outcome Β· Product Β· Testimonials Β· FAQ
Built to convert. Not to look pretty in your portfolio.
Standard Nuxt app. Swap analytics providers in 5 minutes. Change hosting in 10. Add any integration you want. You control everything.
Offer valuable content in exchange for email signup. Measure conversion rate to validate interest before creating the full deliverable.
When to use: Testing demand for courses, guides, frameworks, templates.
Sell the product before you build it. Payment is the strongest signal.
When to use: Digital products, cohort-based courses, software tools.
Sell consulting calls. Deliver service manually. Learn what clients actually need. Systematize the process. Build the product that solves it.
When to use: Unclear product-market fit, need revenue while validating, domain expertise without product clarity.
Philosophy: Service delivery teaches you what to build. Client feedback reveals real pain points. Systematization creates your product roadmap.
- Technical founders validating SaaS or digital product ideas
- Experienced developers (3+ years) who can edit config files
- Service providers ready to systematize their delivery
- Perfectionists who need constraints to ship
- Non-technical founders needing drag-and-drop builders
- Anyone wanting fully managed no-code solutions
- Post-PMF companies already scaling validated products
- Clone & Install
git clone https://github.com/incubrain/founder-funnel.git
cd founder-funnel
pnpm install- Customize Content
Edit content/pages/index.md β uncomment sections as you need them:
<!-- Start minimal: Hero + Product only -->
::section-hero
::
::section-offer
::
<!-- Uncomment when driving traffic -->
<!-- ::section-benefits
:: -->Then edit content/config/site.yml with your business info.
- Set Up Webhooks
Configure where leads go (Telegram, Slack, Discord):
cp .env.example .env
# Add your webhook URL
NUXT_WEBHOOK_URL=https://discord.com/api/webhooks/...- QR Codes for In-Person Distribution (Optional)
Generate trackable QR codes for events, flyers, or business cards.
Recommended tool: Dub.co (free tier: 1K clicks/mo)
Quick setup:
# 1. Sign up at dub.co
# 2. Create short links for your offers:
# /offers/mentorship β go.yourdomain.com/mentor
# /offers/template β go.yourdomain.com/template
# 3. Per campaign (conference, meetup, etc):
# - Open link in Dub dashboard
# - Add UTM: utm_campaign=techcrunch2024
# - Download QR codeAlternatives: bit.ly, rebrandly, or any URL shortener with QR generation.
- Deploy
pnpm run build
# Deploy to your preferred hosting providerFounder Funnel automatically syncs updates from the upstream template to your repository.
- Automatic Updates β Every month, GitHub Actions checks for template updates
- Pull Request β If changes exist, you'll receive a PR with updates
- Review & Merge β Review changes, test locally, then merge
Don't want to wait for the monthly sync? Trigger an update manually:
- Go to Actions tab in your repository
- Click Template Sync workflow
- Click Run workflow β Run workflow
- Wait ~1 minute for PR to appear
β Core files (always synced):
layers/base/*β Template components, layouts, composablesmodules/events/*β Event tracking systemshared/*β Shared configuration and utilitiesscripts/*β Build and deployment scripts
β Your content (never synced):
templates/*/content/**β Your business contenttemplates/*/nuxt.config.tsβ Your template config.env*β Your environment variables
shared/config/navigation.tsβ May need manual merge- Root
nuxt.config.tsβ Review carefully - Root
package.jsonβ Dependency updates
When you receive a template sync PR:
- Check the "Files changed" tab β See exactly what changed
- Look for breaking changes β Read PR description
- Test locally (recommended):
gh pr checkout <PR_NUMBER> # GitHub CLI
pnpm install
pnpm dev- Merge or close β Your choice
If the PR shows merge conflicts (rare):
- Checkout the PR branch β
gh pr checkout <PR_NUMBER> - Resolve conflicts β Edit conflicted files
- Commit resolution β
git add . && git commit -m "resolve conflicts" - Push β
git push
Most conflicts will be in shared/config/* if you customized navigation.
Don't want automatic syncs? You have two options:
Option 1: Delete the workflow (permanent)
rm .github/workflows/template-sync.yml
git commit -am "disable template sync"
git pushOption 2: Disable in GitHub UI (temporary)
- Go to Actions tab
- Click Template Sync workflow
- Click β― (three dots) β Disable workflow
Customized a core file and don't want it synced? Add it to .templatesyncignore:
# Example: You customized the navigation config
echo "shared/config/navigation.ts" >> .templatesyncignore
git commit -am "ignore custom navigation"
git pushPR not appearing?
- Check Actions tab for workflow run status
- Ensure GitHub Actions is enabled (Settings β Actions β General)
- Verify no error messages in workflow logs
Workflow failing?
- Check workflow logs for error details
- Common issue: Missing permissions (should auto-configure)
- Try manual trigger to see detailed logs
Too many PRs?
- Old PRs are auto-closed when new one appears
- If needed, manually close old ones
Need help?
The template uses progressive disclosureβstart minimal, expand as you validate.
Open content/pages/index.md and follow the inline guides:
::section-hero
---
data:
intro:
# Answer: What problem do you solve? For whom?
title: Your Outcome-Focused Headline
---
::Each section includes:
- Decision guides β When to use this section
- Anti-examples β What NOT to write
- Structure templates β How to organize your copy
No config files. Just uncomment sections as you grow.
No docs that go stale. Instead:
pnpm repomixThis bundles your codebase context into a single file. Paste it into Claude or ChatGPT.
Ask anything:
- "How do I change the color scheme?"
- "Where do I configure email webhooks?"
- "How do I hide a section?"
- "How do I add a presales funnel?"
The LLM explains the code directly. Always up-to-date. Zero maintenance.
This template does not include:
- β Email sequence automation
- β User authentication systems
- β Payment processing (external links only)
- β Content delivery platforms
- β Database management
- β Admin dashboards
Why?
These add complexity that distracts from validation. Once you prove demand, add them to your actual product codebase.
The template captures signal. Your product delivers value.
Stop chasing traffic. Focus on signal:
- Email signups β Are people interested enough to give you their contact?
- Presale conversions β Are people interested enough to pay before you build?
- Service bookings β Are people interested enough to pay for your time?
Quality of signal matters more than quantity of visitors.
Weak signal? Your offer doesn't resonate. Pivot or kill the idea.
This is success. You saved months of building something nobody wants.
Can't validate with a landing page? Sell service first:
- Offer paid consulting/implementation
- Learn what clients actually need
- Systematize your process
- Build the product that solves it
Your template supports this path. Service revenue funds validation. Client feedback guides product development.
We document every strategic decision, pivot, and learning in our public Decisions Log.
Why?
- Transparency: See how we think, not just what we ship
- Learning: Real validation decisions from real founders
- Accountability: Public decisions force clear reasoning
Subscribe via RSS: /rss/decisions
Perfect for:
- Investors monitoring portfolio thinking
- Founders learning from validation experiments
- Mentors assessing decision quality
Found a bug? See a better way? Pull requests welcome for:
- Bug fixes
- Documentation improvements
- New validation path examples
- Performance optimizations
Not accepting: Feature additions that violate "best part is no part" philosophy.
MIT β Use for personal or commercial projects.
One restriction: Don't clone this and sell it as a competing template product under a different name.
Everything else? Fair game.
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Decisions Log: Strategic Decisions
- RSS Feed: Subscribe
Stop overthinking. Start validating.
Deploy your landing page today. Measure real signal tomorrow. Build only when the evidence is clear.
Your future self will thank you.