OhhWells Starter Template
A minimal base for every vibe-coded site.
Clean structure, content-driven architecture, and a brand layer ready for any client. Swap colors, fonts, and copy — nothing else changes.
What's included
Every layer, already built.
Six core conventions that make every OhhWells site consistent, editable, and fast to launch.
Brand Layer
All visual tokens — colors, fonts, spacing — live in brand.ts. One file controls the entire look of the site.
Content Convention
Content lives in typed TS objects. Components receive data via props. The OhhWells Content API can override any field.
Ownership Model
Developers own the template structure. Clients own the data. Clean handoff, zero conflicts.
App Router
Built on Next.js App Router with server components, typed metadata, and SEO utilities baked in.
Typed Everywhere
Every content shape has an interface in types/content.ts. Catch errors at build time, not in production.
Deploy Ready
Sitemap, robots.txt, OG images, 404, error pages. Configured out of the box for Vercel or any host.
About this template
Built once. Customised forever.
The OhhWells starter is a neutral canvas — no opinionated colors, no industry-specific imagery. It gives you the architecture: brand tokens, content conventions, typed props, and App Router scaffolding.
From here, every site fork gets a unique brand, real photography, and genuine copy — all while staying compatible with the OhhWells editor.
Testimonials
Builders who rely on it.
“The content convention means I can hand off to any client knowing they won't accidentally break the layout.”
“Switching brand tokens takes two minutes. I've launched five client sites from this base in a month.”
“TypeScript interfaces on every content shape means zero runtime surprises. It just works.”
Ready to build
Fork it. Brand it. Ship it.
The base template is your starting point. Every client gets a unique skin on top of the same solid architecture.