People often ask: "What's your tech stack?" As a solo developer, my stack needs to be simple, reliable, and cost-effective. Here's what I use and why.
The Core: Next.js
What: React framework for building web applications Why I chose it: Server-side rendering, great developer experience, excellent documentation
Next.js is the foundation of kudutek.com. It handles:
- Server-side rendering for SEO
- Static generation for fast page loads
- API routes for backend logic
- Image optimization out of the box
As a solo developer, I don't have time to wire together a dozen tools. Next.js gives me everything in one package.
Why Not Just React?
Plain React requires you to make a lot of decisions:
- Routing? Need a library
- Server rendering? Configure webpack
- API endpoints? Set up Express
- Image optimization? Good luck
Next.js makes all these decisions for you, and they're usually the right ones.
Database: Supabase
What: Open-source Firebase alternative (Postgres database + auth + storage) Why I chose it: Free tier, easy to use, scales well
Supabase handles:
- Email subscriptions database
- User authentication (when I add it)
- File storage (for images, downloads)
- Real-time subscriptions (if needed)
Why Not Firebase?
Firebase is great, but:
- Proprietary (vendor lock-in)
- NoSQL (I prefer SQL)
- More expensive at scale
Supabase gives me:
- PostgreSQL (standard SQL)
- Can self-host if needed
- Better pricing model
- Open source
Email: Mailgun
What: Transactional email service Why I chose it: Reliable, affordable, good API
Mailgun handles:
- Welcome emails for new subscribers
- Product update announcements
- Contact form notifications
I send a few hundred emails per month. Mailgun's free tier covers that easily.
Why Not SendGrid or AWS SES?
SendGrid is great but overkill for my needs. AWS SES is cheaper but requires more configuration. Mailgun hits the sweet spot of simple and affordable.
Hosting: Vercel
What: Hosting platform for Next.js apps Why I chose it: Made by Next.js creators, automatic deployments, free for side projects
Vercel handles:
- Automatic deployments from GitHub
- Preview deployments for every PR
- CDN for fast global delivery
- SSL certificates
- Environment variables
I push to GitHub, and 30 seconds later, my changes are live. No servers to manage, no DevOps headaches.
Why Not AWS or DigitalOcean?
AWS is powerful but overwhelming. DigitalOcean is great but requires more hands-on management. Vercel is specifically designed for Next.js—the integration is seamless.
Styling: Tailwind CSS
What: Utility-first CSS framework Why I chose it: Fast to write, easy to maintain, great defaults
Tailwind lets me style components directly in JSX:
<button className="bg-blue-500 hover:bg-blue-700 text-white font-bold py-2 px-4 rounded">
Click me
</button>
No switching between files, no naming classes, no CSS sprawl.
Why Not Plain CSS?
Plain CSS grows into an unmaintainable mess. Tailwind keeps styling localized and predictable.
Analytics: Plausible
What: Privacy-friendly analytics Why I chose it: No cookies, fast, respects privacy
Plausible tells me:
- Page views
- Top pages
- Traffic sources
- Geographic data
All without tracking individual users or setting cookies. GDPR-compliant by default.
Why Not Google Analytics?
Google Analytics is powerful but:
- Requires cookie consent banners
- Slower page loads
- Overkill for my needs
- Privacy concerns
Plausible is simple, fast, and ethical.
Development Tools
TypeScript
Why: Catches bugs before runtime, better autocomplete, easier refactoring
TypeScript adds ~10% more typing but prevents 80% of runtime errors. Worth it.
Git + GitHub
Why: Version control, collaboration (with myself, ha), automatic deployments
Even as a solo dev, Git is essential. Time-travel for code is powerful.
VS Code
Why: Fast, great extensions, works everywhere
Extensions I can't live without:
- GitHub Copilot (AI pair programming)
- Prettier (auto-formatting)
- ESLint (catches common errors)
- Tailwind IntelliSense (autocomplete for Tailwind classes)
The Excel Add-In Stack (XLNavigator)
XLNavigator is different—it's not a web app. Here's what I use:
C# + WPF
Why: Native Windows performance, full access to Excel's API
Building Excel add-ins requires working with Microsoft's Office APIs. C# is the natural choice.
Visual Studio
Why: Best IDE for C# development, excellent debugger
ClickOnce Deployment
Why: Simple deployment for Windows apps, automatic updates
Users install once, updates happen automatically.
Cost Breakdown
Monthly costs for running kudutek.com:
- Vercel: $0 (free tier)
- Supabase: $0 (free tier, will upgrade at ~100k rows)
- Mailgun: $0 (free tier, ~500 emails/month)
- Plausible: $9/month
- Domain: $12/year
- Total: ~$10/month
For a company website + blog + email list management, that's remarkably cheap.
What I'd Change
If I were starting over:
Keep:
- Next.js (love it)
- Vercel (seamless)
- Tailwind (fast)
- TypeScript (essential)
Maybe Change:
- Plausible → Might try self-hosted analytics to save $9/month
- Supabase → Might go with raw PostgreSQL + Prisma for more control
Definitely Add:
- Automated testing (I'm bad at this)
- Better monitoring/error tracking
- CI/CD beyond just Vercel
Lessons for Choosing Your Stack
1. Optimize for Development Speed
As a solo dev, your time is the bottleneck. Choose tools that let you ship fast.
2. Embrace Managed Services
Don't self-host unless you have to. Managed services free you to build features instead of managing infrastructure.
3. Start Simple
Don't over-engineer. Start with the simplest stack that works, then add complexity only when needed.
4. Use What You Know
Chasing the hot new framework is tempting, but sticking with what you know lets you ship faster.
5. Free Tiers Are Your Friend
Most tools have generous free tiers. Use them while you're small.
The Stack for Solo Developers
Here's my recommendation for solo developers building a SaaS or content site:
Frontend: Next.js + Tailwind Backend: Next.js API routes (start) → Separate backend (if needed) Database: Supabase (or Planetscale for MySQL fans) Hosting: Vercel (for Next.js) or Netlify (for anything) Email: Mailgun or SendGrid Analytics: Plausible or Fathom Payments: Stripe (when you need it)
This stack:
- Costs almost nothing initially
- Scales to thousands of users
- Requires minimal DevOps
- Has great documentation
- Is actively maintained
The Best Stack Is the One You Ship With
Here's the truth: the best stack is the one you actually use to ship products.
Rails, Django, Laravel, Vue, Svelte—they're all great. What matters is:
- Can you build with it quickly?
- Does it solve your needs?
- Will it scale when you need it to?
The stack I use works for me. Yours might be different. That's okay.
Want to Learn More?
I write about building products and the technical decisions behind them. Subscribe to get new posts in your inbox, or follow me on Twitter for daily updates.
Got questions about my stack? Email me—I love talking shop with other developers.
Building your own product? I'd love to hear about your tech stack. What's working? What's not? Let's chat.