Building Websites to Friends: a fast, flexible site starter for small brands

I’ve been building a reusable website system that lets me spin up fast, accessible, SEO‑ready sites for friends’ projects in hours, not weeks. The goal: productize the boring parts, keep the fun parts, and ship consistently great results.

Why I Built It

  • Repeatable Foundation: A single codebase that adapts to multiple brands and languages.

  • Real-World Constraints: Simple deployment, low cost, and easy content updates.

  • Solid UX/SEO Foundation: Core Web Vitals, accessibility, and strong standards.

Architecture at a Glance

  • Next.js Application Router with ISR and server-side components for speed and maintainability.

  • Contentful as a content source, with typed templates and a thin search layer.

  • Design System + Themes: SCSS modules with brand tokens and a shared color system.

  • Multi-brand and multi-language routing and configuration.

  • SEO and Metadata: Structured standards and JSON-LD for posts.

What I Focused On

  • Developer Experience: Typed content models, predictable screens, and simple component conventions.

  • Performance: Image optimization, modular CSS, and incremental static regeneration.

  • Accessibility: Contrast-aware tokens, keyboard focus, and semantic structure.

  • Content creation: Rich text rendering with asset embedding and a stable content model.

Challenges I solved

  • Switching local development environments using environment variables and switching brands without changing components.

    • Color configuration file

    • Folder with public files for each brand

    • Default values ​​for Contentful

    • Handling multilingual and non-multilingual sites

  • Typed Contentful templates to maintain a stable rendering path.

  • SEO standards and JSON-LD injection for consistent sharing and discovery.

Results

  • Lighthouse: 95–100 in Performance, Accessibility, Best Practices, and SEO.

  • Rapid creation: New sites in under an hour; New page types in minutes.

  • Predictable UX: Reusable sections (Hero, Services, Testimonials, Blog) with brand styles.

  • Repo containing the public part of the code: Repository link

Websites online at the time of posting:

Thanks for reading! And if you have a project in mind, I'm always happy to chat.

Talk to Daniel

Similar content