The Indie Maker Tech Stack: Every Tool We Use to Build and Run a SaaS in 2026
The complete stack behind BuiltByMe: framework, database, auth, email, payments, analytics, and deployment. Real choices, real reasons.
The best way to learn what tools to use when building an indie SaaS is to see exactly what another indie maker chose and why. This is the complete stack behind BuiltByMe, a product directory for indie makers built and run by a solo founder. Every tool is a real choice made under real constraints. Here is what we use and what we would change.
Framework: Next.js 15 (App Router)
Next.js with the App Router is our entire frontend and backend. Server components for fast page loads, server actions for form handling, API routes for webhooks and third-party integrations, and static generation for SEO-heavy pages like category listings and blog posts.
The App Router was a significant shift from the Pages Router and the learning curve is real. But the performance difference on SEO-critical pages is material. Our category pages render server-side with fresh data from Supabase on every request. Blog posts are statically generated at build time. The combination gives us both freshness and speed where each matters.
What we would change: nothing. Next.js is the right choice for an SEO-heavy, database-backed web app with a team of one.
Database and auth: Supabase
Supabase handles our Postgres database, authentication (email/password and Google OAuth), and file storage (product logos, featured listing images). The managed Postgres instance means we write SQL and use the Supabase client library without managing a database server.
Row-level security policies in Supabase handle authorization at the database level, which means even if our application code has a bug, users cannot read each other's data. This is the feature most indie makers skip when rolling their own auth and it is worth the slight learning curve.
The Pro plan ($25 per month) gives us daily backups, no project pausing, and the point-in-time recovery we need for a production product. The free tier is excellent for development and early-stage projects.
What we would change: nothing. Supabase is the best managed Postgres with auth product available for indie makers in 2026.
Styling: Tailwind CSS
Tailwind for all styling. No CSS files, no separate design system overhead. Utility classes applied directly in JSX. The productivity gain for a solo founder who is also doing the design work is significant. You make styling decisions inline without context-switching between files.
The trade-off is that components get verbose. We manage this by extracting repeated patterns into React components rather than CSS abstractions. The output is readable, maintainable, and fast to iterate on.
Deployment and hosting: Vercel
Git push to deploy. Automatic preview deployments for every pull request. Global CDN. Serverless functions for API routes. Vercel Pro at $20 per month is worth every dollar for a production product. The zero-config deployment experience and the fact that it is built for Next.js means we have never had a deployment issue that was Vercel's fault.
For a pre-revenue side project, the free hobby tier is sufficient. Upgrade to Pro when you have real users who notice downtime.
Email (transactional): Resend
Resend handles all transactional email: new submission confirmations, payment receipts, weekly competition notifications, product approval emails, and review published notifications. We use React Email to build templates as React components and render them server-side before sending.
The developer experience is the best in the category. The API is clean, the deliverability is consistently good, and the free tier (3,000 emails per month) covered us through our first few months of users without any cost.
Payments: Dodo Payments
We use Dodo Payments for our Launch and Featured plan payments. Dodo is a merchant of record, which means they handle VAT, sales tax, and payment compliance across countries. For a solo founder who does not want to think about tax compliance in 47 US states and 30 European countries, this is a significant operational simplification.
Stripe is the better choice if your users are primarily US-based and you are comfortable managing sales tax compliance yourself (or using TaxJar). The developer experience and reliability of Stripe are still unmatched. We chose Dodo specifically for the global compliance coverage.
Analytics: Google Analytics 4 and Google Search Console
GA4 for user behavior analytics. Search Console for SEO monitoring. Both free, both essential. We check Search Console weekly to identify which queries are generating impressions without clicks. Those represent keyword opportunities where a small content or on-page change could move us from position 15 to position 8.
We have Plausible on our short list for a future migration when GDPR compliance becomes more important to our users. For now, GA4 gives us the depth of data we need for product decisions.
Content management: in-code blog
Our blog content lives in a TypeScript file as an array of post objects with HTML content strings. No CMS, no headless WordPress, no Contentful. Blog posts are code changes deployed through git.
This is an unusual choice that works because we are a developer-run product where all content is created by the same person who writes the code. The benefits: no additional service, no API calls for content, statically generated pages that are extremely fast, and full TypeScript type safety on the content schema. The downside is that non-technical team members cannot publish posts. For a solo founder, that downside does not exist.
Infrastructure and domain: Cloudflare
Cloudflare handles our DNS, SSL, and sits in front of our Vercel deployment as a CDN and DDoS protection layer. The free tier is comprehensive. We use Cloudflare's analytics to get request-level data that Vercel's analytics does not surface, and the security rules have blocked several obvious scraping and abuse attempts automatically.
Error tracking: not yet implemented
This is a gap we acknowledge. Sentry's free tier would cover our error tracking needs. It is on the list for the next sprint. If you are building something new, add Sentry before your first real user. Knowing when things break before users report them is worth the 30 minutes of setup time.
The full stack monthly cost
- Next.js: $0
- Supabase Pro: $25 per month
- Vercel Pro: $20 per month
- Resend (current volume): $0 (free tier)
- Dodo Payments: % per transaction, no monthly fee
- GA4 and Search Console: $0
- Cloudflare: $0
- Domain: ~$1 per month
- Total fixed cost: $46 per month
The stack that lets one person build and run a real product with thousands of users costs $46 per month in 2026. The barrier to building is not infrastructure cost. It has not been for years. The barrier is sustained execution, not access to tools.
What we would recommend for someone starting today
Use this exact stack. Next.js, Supabase, Tailwind, Vercel, Resend, and either Stripe or Dodo Payments depending on your target market. The ecosystem is large, the documentation is excellent, and every problem you hit has been hit by thousands of indie makers before you. Start with all free tiers, upgrade Supabase and Vercel when you have users, and do not change the stack until a specific limit forces you to.
List your product on BuiltByMe when you launch. The directory backlink, the weekly competition, and the community of founders who discover products there are all part of the distribution layer that complements the technical stack.