My Stack

Furkan Portakal

This is the shape my side projects keep settling into. Most of it comes from building Fisle in the evenings — there's more context on that project in this post. The constraints (low cost, small team, mostly serverless) pushed me toward a specific stack and away from a lot of things I used to default to.

I write everything in TypeScript.

Frontend

The user-facing app and the marketing site live in the same Next.js project, deployed on Vercel.

Backend

The API runs as a Cloudflare Worker. Same TypeScript, much smaller surface.

Data

AI

We use a mix of providers in different parts of the pipeline.

Different models are good at different things, and the cost/latency profile changes depending on what part of the flow you're in. So we don't pick one and live with it — we route based on the task.

Auth

Hosting

Why this shape

Most of the choices come from one constraint: a side project has to be cheap to run when nobody is using it, and not break when a lot of people are. Cloudflare's free tier covers the API, the database, and the storage for the entire current load. Vercel covers the frontend. The AI providers are the only line that scales with usage, and that's by design.

The other thing is that I want to keep the surface small enough that one person can hold it in their head. Hono + Drizzle + D1 is a much smaller mental model than Express + Postgres + Redis + a queue worker. When something breaks at 11pm, I want to be able to fix it without paging in a microservices diagram.

Most of my recent writing about this stack lives over at fisle.co/blog — practical notes from actually shipping with it.