A private health clinic in Cyprus needed a site that presents its treatments, takes booking requests and reads correctly in both English and Greek, and that the clinic can edit without calling us.
The challenge
Clinic sites are edited by the people who run the clinic: a price changes, a treatment is renamed, opening hours move. A hand-written theme turns every one of those into a developer task. The block editor solves that, but a design translated from a visual mock usually fights it, because the layout ends up in PHP where an editor cannot reach it. Bilingual content adds the familiar trap: a translation plugin that discovers strings by crawling the site leaves you with half-translated pages for weeks.
What we built
A full site editing block theme. Palette, type scale and spacing are declared in the theme's global styles, and every page — home, treatments, booking, about, blog, archive, search and the error page — is a block template the clinic can open in the site editor and change. The utility CSS that the editor cannot express is compiled to one minified stylesheet, committed to the repository, and built by a container in the project rather than by a toolchain on anyone's machine, so the site itself runs with no build step.
Booking is a form with a spam challenge wired in through the form plugin's own support for it, with keys supplied by the environment. When the keys are absent the challenge disables itself and the form still submits, so a missing key cannot silently swallow enquiries. Greek arrives as a dictionary import keyed by the original English, inserted directly rather than discovered by crawling, so the site is fully bilingual the moment it is deployed. Transactional mail goes out through an email provider instead of the server's own mailer.
Production is a container stack behind the host's web server, which terminates TLS with an origin certificate from the CDN in front of it. The theme is mounted read-only from the checkout, so the deployed site cannot drift away from the repository, and a push to the main branch rebuilds the stylesheet and deploys it.
The outcome
The clinic edits its own pages and the Greek stays in step, because both languages come from one source. The first-boot script makes the whole site reproducible: an empty database becomes the configured site, with its pages, categories and booking form, in a single command.

