The platform is the portfolio
Why we built the studio's web platform from scratch instead of using a template — and what that decision says before any conversation starts.
nextjs · studio · platform
The shortest possible pitch
When a prospective client lands on a studio's website, the site itself is the first deliverable they ever see. Before the case studies, before the proposal, before the kickoff call — the site is the proof.
If your studio sells brand identity and web platforms, and your own site runs on a Squarespace template, the prospect notices. They might not articulate it. But the question forms anyway: if you didn't build your own platform, why would I trust you to build mine?
So we built ours. From scratch. Next.js 15, React Server Components, Postgres, Drizzle, Better Auth, self-hosted infrastructure where it matters. The whole stack we'd deploy for a client engagement.
What "from scratch" actually means
It does not mean reinventing primitives. We use Tailwind for styling, shadcn/ui for accessible component foundations, Framer Motion where animation needs to be physics-aware. Tools exist for a reason.
It means the surface is custom. The hero. The case study templates. The portfolio gallery. The client portal. The admin dashboard. The blog you are reading. Every component is one we wrote, named, refined, and could ship for a client tomorrow.
It also means the infrastructure is real. The contact form writes to a real Postgres table. The blog renders MDX through Velite. The auth system is Better Auth with magic links and proper rate limiting. There is no "this part is a stub on the live site." If a client asks "can you do X," we can usually point to where on this site we already did X.
The dogfooding test
There is a useful question to ask any studio: what runs on what you ship?
If their own site uses tools they would never recommend to a client, the recommendations to clients are not load-bearing. They are sales theater.
We ship Next.js, Postgres, Drizzle, Tailwind, Better Auth, and a self-hosted analytics stack to clients. So those are what run on noctivstudio.com. When we tell a client we recommend a particular pattern — server components for read paths, server actions for mutations, edge middleware for auth — we point them at where it lives in our own platform and they can read the diff.
What this trades against
Time. A custom platform costs months of work that a template would not. We spent the first two years iterating in public.
Surface area for bugs. A template comes pre-tested. A custom platform is bugs we own.
Maintenance burden. Tailwind v4 ships, the upgrade is on us. Next.js 16 ships, the migration is on us. The price of bespoke is permanent ownership.
We pay those costs because the alternative is shipping our value proposition on rented surface. The platform is what we sell. The platform has to be ours.
The argument for the prospective client
You are evaluating whether a studio can build the thing you need built. Look at what they built for themselves first. The site is the audition.
If the studio's site is fast, considered, custom, and built on the stack they would deploy for you — they have already proven the case before the kickoff call. If it is not, the proposal is the sales pitch and the work is the gamble.
We built ours so the gamble would be smaller.