The context
An interior-renovation company needed a credible online presence to convert local quote requests. The real requirement came down to three things: show the work, inspire trust, and make getting in touch take under thirty seconds.
For that scope, a CMS or a modern framework would mostly have added debt: heavier hosting, security updates to track, and slower loading on mobile — while the target audience arrives predominantly from a phone, on a mobile network.
What I built
A single structured page
introduction, expertise, services, project gallery and service area.
Project gallery
before/after photos optimised for fast mobile loading.
Contact form
submitted through a third-party service, with no back-end to host or maintain.
Map and service area
an explicit coverage radius, a decisive criterion for local trades.
Local SEO
semantic structure, metadata and consistent contact details for proximity search.
Architecture & technical decisions
The site fits in a single HTML file, CSS and JavaScript included. This is not a shortcut: it is the choice that minimises network requests, removes any build step, and makes the site deployable on any static hosting, however modest.
Form submission goes through a third-party service rather than a back-end: no database to back up, no server-side attack surface, and zero running cost for the client.
The result is a site no update can break, whose maintenance amounts, in practice, to adding photos.
What this project illustrates
Choosing the right technical scale. Not everything deserves a framework: the value here was in speed, running cost and ease of handover.
Performance as a commercial argument. For local trades, a slow mobile site loses the prospect before the first photo loads.
Client autonomy. A dependency-free codebase means no built-in obsolescence and no imposed maintenance contract.