Insights · Oct 21, 2026 · 4 min read
The boring stack behind our own SaaS
How we built AgencyPilotHQ with proven pieces everywhere, so the energy went into the product instead of the plumbing.
THE BORING STACKBehind our own SaaSAgencyPilotHQ is the platform we run client work on: clients, projects, a deal pipeline, invoices, proposals, e-signature contracts and AI tools in one place. Here is the stack, and why it is deliberately unexciting.
The application
Next.js App Router with React, TypeScript and Tailwind. Server actions and route handlers keep the data logic close to the pages that use it.
Data and accounts
Supabase Auth and Postgres, with Prisma for the schema and migrations. Every query is scoped per agency, so tenants never see each other’s data. That one rule shaped the whole data layer.
Billing and documents
Stripe subscriptions kept in sync with webhooks, React-PDF for invoices and contracts, and transactional email for the moments that matter.
AI where it helps
The AI tools run on the Claude and OpenAI APIs and are scoped to specific jobs, like drafting a proposal from a brief. Narrow tools beat a general chatbot for real work.
The rule for MVPs
Use boring, proven pieces everywhere you can. Every novel choice is a choice you will have to debug at 2 a.m. Save the novelty for the part customers pay for.


