Inspiration
The English-speaking expat community on the Côte d'Azur has a genuine problem. The French home energy market is full of subsidies, regulations, and technical jargon that most contractors don't explain clearly even in French. For someone arriving from the UK, the US, or Australia, getting a fair quote for a heat pump or solar installation is genuinely hard. Riviera Home Experts is my attempt to bridge that gap.
What it does
Riviera Home Experts is a content and contractor directory for English-speaking homeowners on the French Riviera. It covers four service categories: heating and heat pumps, cooling and AC, solar panels and battery storage, and electrical work. Each category has hub and service pages explaining what the technology does, what it costs, and which French subsidies apply. A glossary covers the French terminology that shows up on quotes and contracts. A resources section goes deeper on subsidy guides, cost comparisons, and permit requirements. Homeowners can request quotes through a contact form that routes to vetted local contractors.
How I built it
The site is built with Astro v6, generating a fully static site with one SSR API route for the contact form. TypeScript throughout with strict mode. Styling uses CSS custom properties with a design token system — no utility framework. Fonts are self-hosted WOFF2 (Cabinet Grotesk for headings, Instrument Sans for body) for GDPR compliance. The contact form submits to a Vercel serverless function using the Resend API. JSON-LD schema markup covers LocalBusiness, FAQPage, Article, DefinedTerm, and BreadcrumbList on every relevant page type. Cookie consent uses GA4 Consent Mode v2 with denied-by-default analytics storage.
Challenges I ran into
French government incentive programs change frequently and quietly. MaPrimeRénov dropped biomass boiler eligibility in January 2026. TVA rates shifted in October 2025. ADVENIR, the EV charger subsidy, doesn't apply to individual houses at all despite being widely cited as if it does. Getting the content right required building a fact-checking workflow and a set of rules about what to verify before publishing. Several errors were caught and corrected after a systematic review pass.
Accomplishments that I'm proud of
67 indexed pages at launch, each with full JSON-LD schema. PageSpeed scores of around 94 on mobile and 98 on desktop. The copy avoids the generic contractor-brochure tone that dominates this category online. Every page reads like a knowledgeable local friend explaining things plainly rather than trying to sell something.
What I learned
Establish content accuracy rules before writing a single page, not after. For a site in a regulated niche with changing government policy, the cost of getting facts wrong is high, both for users and for search rankings. The other lesson: a layout component that does too many jobs becomes expensive to maintain fast. BaseLayout.astro ended up at 833 lines. Worth splitting from the start.
What's next
Contractor listing pages with featured and standard tiers, a conditional lead form pre-tagged with service and location, a for-contractors page to support outreach, and a fact-checking system using lastVerified frontmatter fields to flag stale content automatically.
Built With
- astro
- css3
- html5
- json-ld-/-schema.org
- resend
- typescript
- vercel

Log in or sign up for Devpost to join the conversation.