Static site
Well Maintained
A bilingual site for a proactive home-maintenance service, with the scheduling logic running client-side — an interactive demo, geo-aware language routing at the edge, and no backend at all.
- EN / 中文
- Locales
- 500+
- Translation keys
- None
- Backend services
- Client-side
- Scheduling logic
Overview
Well Maintained sells a simple proposition to homeowners: answer a few questions about your house — or upload your inspection report — and get back a month-by-month maintenance schedule tailored to the property and the local climate. The pitch targets the gap it names directly: you don’t know what needs doing until it breaks, you don’t know what it should cost, and you don’t know who to trust. So nothing gets done until a $200 problem becomes a $5,000 one.
The site’s job is to explain that clearly enough in two languages that a visitor hands over an email address.
My Role
Solo — positioning and copy, visual design, build, and deployment.
Design & Build
The service behind the site is deliberately manual at this stage: a real person builds each schedule by hand. That shaped the whole build. There was no product to integrate with yet, so the correct architecture was the smallest one that could still capture demand — a fully static Astro site with no backend, no database and no CMS, where form submissions go straight to Web3Forms and land in an inbox.
Bilingual routing without a server. Content lives in a single typed translations
module (~500 keys across en and zh-tw), consumed through a small t() helper, with
pages generated under /[lang]/ routes at build time. Language selection happens in
Vercel Edge Middleware: a request to / reads the x-vercel-ip-country header and
redirects to /zh-tw for Taiwan and /en for everyone else. The geo decision runs at
the edge in single-digit milliseconds and every page it points at is still a
pre-rendered static file.
The sample schedule is not a mockup. The scheduling rules run in the browser: pick a climate, house age, heating system and DIY preference, toggle the features your home actually has, and the task list, high-priority count and rough annual cost recompute immediately. It is the same logic behind the hand-checked plan, which makes the demo a genuine preview of the product rather than a screenshot of one — and it still ships as a static file, because the rules are small enough to live on the client.
Seven pages per locale — landing, sample smart schedule, waitlist, beta request, contact, privacy and terms — sharing one layout and one hand-written stylesheet.