nikolas.sapa
August 11, 2026

My Stack

Frontend

Next.js — App Router, TypeScript, Tailwind CSS. My default for everything. Fast to build, easy to deploy, great ecosystem. React Server Components for data-heavy pages, client components when needed.

SwiftUI — for iOS. Native, and the thing I reach for now instead of a cross-platform layer. RevenueCat handles the App Store billing side.

Tailwind CSS — utility-first CSS. Faster than writing custom CSS, consistent results. I use it on everything.

Backend & Data

Convex — reactive backend with auth built in. My default now for new products; Creator Roast and MarketMyApp both moved off Supabase onto it.

Supabase — Postgres with auth, storage, realtime and edge functions. Still what I use where Postgres is the right answer, and self-hosted on the homelab for personal projects.

Python / FastAPI — for ML services and AI pipelines. When I need to run models or do heavy processing that doesn't belong in Next.js.

Infrastructure

Vercel — deployment, preview URLs, analytics. Automatic deploys from GitHub. Never had a problem with it.

GitHub — version control. Nothing exotic.

AI

Claude API — for AI-powered products. Haiku for filtering and screening, Sonnet for most work, Opus when the reasoning has to hold up.

Claude Code Max — for development. The AI layer on top of my whole workflow.

Design

Figma — wireframes and high-fidelity design before a single line of code. I deliver Figma files to clients before starting builds.

The principle

I pick boring tech that ships — not whatever's trending this month. Next.js + Convex + Vercel handles 90% of what I need, and I know it well enough to move fast without hitting walls. The stack changes when something is clearly better, not when something is new.