Skip to content
Concept

Nova Home Care

An eight-page bilingual website for a fictional Cotonou property-care business — brand direction, a fictional-but-internally-consistent business model, and full French localization.

Role
Design & development, solo
Year
2026
Stack
HTML5, CSS3, vanilla JS
Status
Complete

Nova Home Care is a fictional cleaning company in Cotonou. The brief was a complete small-business site, not just a landing page — eight pages, bilingual, with real prices, hours, and a guarantee a visitor could actually check, not placeholder text standing in for a business that doesn’t exist yet.

What makes it work

  • French that works even if a script fails. It isn’t a script swapping words on the English page — it’s real, separate pages that work with JavaScript off, and that Google can actually find and rank on their own.
  • Every fact matches, in both languages. Prices, guarantee terms, service area — the same real answer everywhere it appears, checked with an actual cross-language audit, not just translated and hoped for.
  • Fake contact details that are still safe. An email that can never resolve to a real inbox, a phone number built from the one pattern telecom networks never assign to a real line — convincing without any risk of reaching anyone.

Design at a glance

  • forest · #1E5245
  • gold · #D89B4A
  • cream · #FAF9F6
  • ink · #16221F
  • border · #DEE3DE
  • Services & pricing — pending capture
  • Gallery — pending capture

Built to last

  • Fully self-hosted fonts — nothing loaded from Google at runtime
  • Every page works with JavaScript switched off
  • Consistent bilingual terminology, locked and checked page by page
  • One placeholder left, and it’s disclosed: About-page team photos

Want a complete, bilingual site like this for your own business?

See it live Start a project
For developers — the full technical breakdown

01. French as real pages, not a JavaScript toggle

Problem
Cotonou is Francophone, but the site also needed to work if JavaScript failed to load.
Choice
Seven real French pages, hand-translated, each linking to its exact English equivalent — not a script.
Result
French that works with JS off and is independently indexable — the same architecture I later chose for this studio’s own site.

02. A fictional business model, held to real consistency

Problem
Prices, hours, and a guarantee that contradict themselves between pages or languages break the illusion.
Choice
A fully specified business model — prices, discounts, guarantee, service area — documented once and reused everywhere.
Result
Every policy has the same real answer everywhere it appears, verified with a cross-language grep audit.

03. Fictional contact details, safe and still convincing

Problem
Contact info needs to look real without any risk of reaching an actual person.
Choice
Email on the .example TLD (RFC 2606, can never resolve). Phone: an all-zero subscriber number.
Result
Visually complete and realistic, while being genuinely, verifiably inert.

Accessibility & performance

  • All JavaScript is progressive enhancement over a fully functional no-JS baseline
  • Three font families self-hosted — zero Google Fonts requests at runtime
  • hreflang alternates connect every page to its translation, English marked x-default
  • Approved bilingual terminology locked in a glossary during QA, so terms translate identically everywhere

What I’d do differently

About-page team photography is still a visual placeholder — the project’s own README says so rather than hiding it. Every other page has a real, licensed photo; this is the one honest gap left.

Stack

  • HTML5
  • CSS3 (custom properties, Grid)
  • Vanilla JavaScript
  • Self-hosted variable fonts