AIAI Generated

The Stack I Use for Every New Project in 2026

The Stack I Use for Every New Project in 2026

Sebastjan Mislej2026-02-218 min read
Key Insight

The best solo-developer stack isn't the most powerful — it's the one that lets you ship alone, fast, and forget about infrastructure. Next.js + Supabase + Vercel + Tailwind covers 90% of projects for under $50/month.

Every time I start something new, I have the same argument with myself about the stack. And every time, I pick roughly the same tools. Not because they're trendy. Because they let me ship alone.

I run a car-sharing company, a silver investment blog, a SaaS product, and this blog. All as one person. The stack I choose has to survive contact with reality: tight deadlines, no team, and the certainty that I'll forget how everything works in three months.

Here's what I reach for in February 2026, why each piece earned its spot, and what I intentionally leave out.

The core: Next.js 15 + TypeScript

Every project starts with Next.js. Not because I love React (I have complaints), but because it solves the most problems with the fewest decisions.

Server components handle the data-heavy pages. Client components handle the interactive parts. The App Router gives me file-based routing that I don't have to think about. API routes live in the same project, so I don't need a separate backend for simple endpoints.

TypeScript is non-negotiable. I'm a solo developer working across multiple codebases. Without types, I spend half my time reading my own code trying to figure out what I meant six weeks ago. TypeScript catches mistakes before they become bugs in production.

The template I clone for every new project has: App Router, TypeScript strict mode, a basic layout, and environment variable handling. Nothing else. I add complexity when I need it, not before. Six months from now, half these projects might be dead. The ones that survive get proper architecture. The ones that don't cost me an afternoon, not a week.

Hosting: Vercel

I deploy everything to Vercel. The git-push-to-deploy workflow is the single biggest time saver in my stack. Push to main, get a production URL. Push to a branch, get a preview URL. No CI/CD configuration, no Docker, no server management.

The free tier covers most side projects. When something grows, the Pro plan ($20/month) handles it without surprises. I've never hit a scaling issue that wasn't my own fault.

Vendor lock-in note: The Next.js parts are portable if you ever need to leave Vercel. The Edge Functions and middleware are less so. I accept that tradeoff because the deployment speed is worth it.

The one thing I dislike: vendor lock-in on serverless functions. If I ever need to leave Vercel, the Next.js parts are portable. The Edge Functions and middleware are less so. I accept that tradeoff because the deployment speed is worth it.

Database: Supabase (Postgres)

Supabase gives me a real Postgres database with authentication, storage, and real-time subscriptions built in. For most projects, that's everything I need on the backend.

What I actually use from Supabase:

  • Postgres for structured data (users, orders, content)
  • Auth for login flows (email, OAuth)
  • Storage for file uploads (images, documents)
  • Row-level security for access control without writing middleware

What I skip: Edge Functions (I use Next.js API routes instead), Realtime (rarely needed), and the vector/AI features (I use other tools for that).

The SQL-first approach matters. I write raw SQL or use the Supabase client. No ORM. When I need to debug a data issue at 11pm, I want to query the database directly, not figure out what my ORM abstracted away.

Tip: For simple tools and scripts, SQLite is hard to beat. A single file database that needs zero configuration. My content pipeline runs on SQLite. No server, no connection strings, no maintenance. For anything user-facing or multi-service, it's Supabase.

Styling: Tailwind CSS

I tried going back to CSS modules last year. Lasted two days. Tailwind is faster for solo developers because you never leave the HTML file. You see the styling right where you see the structure.

The complaints about ugly markup are valid if you're working on a team where readability matters across five developers. For a solo builder, the speed of "type the class, see the result" beats any alternative I've tried.

One rule I follow: extract components early. A <Button> component with Tailwind classes inside is clean. Twenty raw <button> elements with identical class strings is not. Tailwind is the styling engine. Components are the organization.

Payments: Stripe

For anything that takes money, it's Stripe. The API is the best I've used in any category. The documentation is the standard other companies should copy. And the ecosystem (Checkout, Customer Portal, Webhooks) handles 90% of payment flows without custom code.

I use Stripe Checkout for most products. Redirect the user, Stripe handles the form, webhook confirms the payment. Three integration points. Done.

The 2.9% + 30¢ per transaction adds up compared to some alternatives. But the time I save not debugging payment edge cases pays for itself many times over.

AI tooling: Claude Code + OpenClaw

This is the layer that changed my productivity the most in 2025. Claude Code handles the coding assistance (refactors, debugging, code review). OpenClaw handles the automation (scheduled tasks, content pipeline, monitoring).

Together, they replaced what would otherwise require at least two more people. My content pipeline uses AI agents to research, write, edit, design, and publish blog posts across three different sites. Cron jobs check my email, calendar, and monitoring dashboards.

Andrej Karpathy recently coined the term "Claws" for this category: persistent AI agents running on personal hardware. That's exactly what my setup is.

A Linux box running OpenClaw 24/7, handling the work that used to pile up in my inbox.

If you're a solo developer and you're not using some form of AI automation for the repetitive parts of your business, you're leaving hours on the table every week.

Monitoring: PM2 + simple health checks

I don't use Datadog. I don't use New Relic. I use PM2 to keep my Node.js processes running and a simple health check script that pings me on Telegram if something goes down.

For most solo projects, this is enough. If your app crashes, PM2 restarts it. If it stays down, you get a message. The total cost is $0 and the setup takes 10 minutes.

When a project grows past "solo side project" into "people depend on this," I add Sentry for error tracking. But I start with PM2 and add complexity only when I'm losing sleep over reliability.

What I intentionally skip

The tools I don't use are as important as the ones I do.

Docker

Adds complexity I don't need for most projects. Vercel handles deployments. SQLite doesn't need a container.

Kubernetes

Never. I'm one person. If I need orchestration, I've overbuilt.

GraphQL

REST or tRPC covers everything I build. GraphQL solves problems I don't have at my scale.

Comprehensive testing

I test payment flows and auth. Everything else gets tested by deploying and clicking around.

Terraform/IaC: my infrastructure is Vercel + Supabase. There's nothing to provision.

Micro-frontends: a single Next.js app handles everything. Splitting it would create coordination problems with nobody to coordinate with.

Each of these tools is excellent for the right team at the right scale. For a solo builder shipping fast, they're overhead.

The full list

<$50
Monthly cost per project
12
Tools in the stack
0
DevOps engineers needed
CategoryTool
FrameworkNext.js 15 (App Router, TypeScript)
HostingVercel
DatabaseSupabase (Postgres) + SQLite for tools
StylingTailwind CSS
PaymentsStripe
AuthSupabase Auth
AIClaude Code + OpenClaw
MonitoringPM2 + Telegram alerts
Error trackingSentry (when needed)
DNS/CDNCloudflare
EmailSendGrid or Resend
Version controlGitHub

Total monthly cost for a typical project: under $50 until you have real users. Most of my side projects run on free tiers for months before I decide whether they're worth paying for.

Why not use a monorepo?

I've tried Turborepo and it works well. But most of my projects are independent enough that separate repos are simpler. I use a monorepo only when multiple packages share types or utilities.

Do you use an ORM?

No. I write SQL directly or use the Supabase client library. ORMs add a layer of abstraction that makes debugging harder. For simple CRUD, the Supabase client is enough. For complex queries, raw SQL is clearer.

What about mobile apps?

React Native with Expo. Same reason as Next.js: I already know React, and Expo handles the build/deploy complexity. I haven't shipped enough mobile projects to have strong opinions beyond "use what you know."

How do you handle authentication?

Supabase Auth for most projects. It supports email/password, magic links, and OAuth (Google, GitHub) out of the box. For projects that need more control, I've used NextAuth, but Supabase Auth covers 90% of cases.

Would this stack work for a team?

Yes, up to about 3-4 developers. Beyond that, you'd probably want more structure: a proper CI/CD pipeline, staging environments, and maybe an ORM for consistency. The stack itself scales fine. The "minimal tooling" philosophy doesn't.