Back to journal
Studio5 min read

The stack we actually use to ship fast

React, React Native, Supabase, and a few other tools we reach for constantly. What we use, why, and where we deviate.

The stack we actually use to ship fast

We get asked about our tech stack often enough that it's worth writing down. The honest answer: we use whatever ships the fastest product with the least long-term maintenance burden. That usually means the same tools.

Frontend: React and TypeScript for web. React Native with Expo for mobile. Opinionated frameworks reduce decision fatigue, and the large ecosystems mean we're rarely stuck.

Backend and database: Supabase for almost everything. Real-time features, auth, row-level security, and Postgres in one managed service. For more complex backend logic we use Edge Functions or separate Node services depending on the complexity.

Styling: Tailwind CSS. Fast, consistent, and we can hand a codebase to a new developer without a long onboarding session on the CSS architecture.

Where we deviate: real-time products. Some need a dedicated server for latency and shared state, and we make that call per product rather than by default.

The most important part of our stack isn't any specific tool. It's the discipline to not add new tools without a strong reason. Every dependency is a future maintenance burden. We keep the list short on purpose.