← Back to projects
Live business website case study

Stomagia

A client-managed clinic website with controlled publishing and QA

Stomagia is a live dental-clinic website built with WordPress as the content and API layer and Next.js as the public frontend.

I owned the project end to end, from content strategy, copywriting, and UX/UI design through architecture, development, infrastructure setup, deployment, and Quality Engineering.

The completed system lets authorized clinic staff manage content, review structural changes on Preview, run relevant automated checks, and publish the approved frontend to Production without requiring GitHub access.

Stomagia production website shown across desktop and mobile layouts
RoleEnd-to-end content, design, architecture, development, deployment, and Quality Engineering
ProductPublic website for a dental clinic
UsersProspective patients and authorized clinic staff
StackWordPress, PHP, REST APIs, Next.js, Playwright, and GitHub Actions
InfrastructureManaged WordPress hosting with static Preview and Production frontends
StatusLive and actively maintained · 2026–present
01

From an initial brief to a complete product

The clinic owner provided an initial list of services and the necessary medical context. From that starting point, I defined the information architecture, developed and refined the copy, designed the interface, implemented the complete technical solution, and prepared the content for review. The owner checked the final wording for medical accuracy and approved it before publication.

Services, team and business information, FAQs, and contact details needed to remain manageable after launch. Google reviews also needed to reach the frontend without being copied manually into the CMS. The public experience had to explain services clearly across mobile and desktop while keeping contact and appointment actions easy to reach.

02

The system I built

WordPress is the single CMS and backend API, while a separately deployed Next.js application owns the public experience. A custom headless theme defines CMS behavior and protects the intended public REST surface.

The independently maintained repositories form one delivery system: the CMS and theme, static frontend, reviews API, Playwright framework, GitHub Actions, and Deploy & Test as the WordPress control surface.

Google reviews are synchronized through Trustindex and exposed to Next.js through a small custom API rather than being authored manually in the CMS.

System architectureOne CMS, two frontend environments, controlled delivery
01 · UsersAuthorized clinic staff
02 · CMS and APIWordPress CMS
  • Services
  • Team
  • General Info
  • SEO
  • REST APIs
03 · Public applicationNext.js frontend
  • Static site build
04 · Review environmentPreview
  • Manual review
  • Automated checks
05 · Promoted artifactProduction
Release control and validation

Configured actions stay accessible in WordPress while GitHub runs the underlying workflows.

01 · WordPress controlDeploy & Test
02 · AuthenticationGitHub App
03 · AutomationGitHub Actions
04 · ValidationPlaywright + Lighthouse
05 · Returned to WordPressTest summary
Focused repositories

Separately maintained parts of the same delivery system.

stomagia-headlessstomagia-frontendstomagia-at-framework
A high-level view of the CMS, public frontend, delivery controls, validation, and deployment environments.
03

Two proportionate publishing paths

Structural changes receive a reviewable release, while urgent operational information can become public immediately.

01

Reviewed structural changes

  1. Edit content in WordPress.
  2. Deploy the generated frontend to Preview.
  3. Review it on preview.stomagia.ro.
  4. Run the relevant automated checks.
  5. Inspect status and evidence in WordPress.
  6. Promote the accepted artifact to Production.
02

Immediate operational updates

Opening hours and temporary announcement banners can be updated directly from WordPress and appear on the live website immediately.

These operational updates do not require a frontend build or deployment.

This supports holiday schedules, unexpected closures, and other time-sensitive clinic information.

Release evidence

From content edit to Production

A representative change passes through a visible Preview, review, and validation path before it reaches the live frontend.

  1. 01

    Edit in WordPress

    Clinic content is edited in the CMS, including structured service fields and supporting FAQs.

  2. 02

    Build the Preview

    An authorized editor starts the Preview workflow from Deploy & Test and can follow its status without leaving WordPress.

  3. 03

    Review the result

    The resulting page is checked as a real visitor would see it before the change is accepted for Production.

  4. 04

    Validate and publish

    Test evidence is returned to WordPress, and the accepted frontend can then be promoted to Production.

Immediate updates

No frontend deployment required

Time-sensitive operational information follows a direct path from WordPress to the live frontend.

01

Opening hours

Authorized staff can change the schedule in WordPress and see it reflected immediately in the public navigation.

02

Temporary announcements

A short message can be enabled from the same screen and appears as a prominent banner on the live website.

04

Designing around release risk

The publishing model protects what is reviewed, keeps operations accessible, and prevents future content from becoming public before approval.

01

Promote the reviewed output

Production reuses the exact successful Preview artifact instead of rebuilding the frontend. The version reviewed before release is the version that becomes public.

02

Combine judgment with automation

Manual review protects content, layout, and visual context. Automation protects repeatable behavior such as navigation, contact destinations, API contracts, metadata, and page generation.

03

Keep GitHub out of the clinic workflow

Configured actions, status, test summaries, and audit history are available in WordPress, so authorized clinic staff can operate the website without repository access.

04

Keep future content private by default

Clinical Cases remains unavailable on the public website until approved content and written patient consent are available. The frontend does not request or expose that content while the feature is off.

Prepared capability

Built and validated, but intentionally not public

Clinical Cases is implemented across WordPress and the Next.js frontend, including structured content management, listings, individual case pages, and before-and-after comparisons. The feature was validated with clearly labeled synthetic demo content, but remains unavailable on the public website until the clinic provides approved material and written patient consent.

  • Implemented
  • Validated with synthetic content
  • Public rollout pending approval and consent
WordPress management and the resulting listing and individual-case interfaces, demonstrated using synthetic content.
05

Protecting patient-facing journeys

Coverage begins with what a visitor needs to accomplish, not with isolated interface components.

  • Understand the clinic and its principal services.
  • Move from a service listing to the correct detail page.
  • Use the intended phone, WhatsApp, contact, or appointment action.
  • Find current clinic information on mobile.
  • Navigate comfortably on mobile without hidden or unreachable controls.
  • Continue using the core website when optional external content is unavailable.

Critical CMS data can stop a frontend build when it would otherwise produce incomplete essential pages. Optional integrations such as reviews can degrade without taking down the complete website.

From service discovery to an appointment action across desktop and mobile.
06

Risk-based Quality Engineering

Each risk is assigned to the smallest reliable layer instead of forcing every check through a large end-to-end suite.

01

Frontend checks

Linting, type safety, focused unit behavior, and static generation.

02

PHP checks

Theme syntax and regression coverage for the public REST allowlist.

03

API checks

CMS settings, services, reviews, response contracts, and feature flags.

04

Playwright UI

Navigation, responsive behavior, search, contact destinations, and public journeys.

05

SEO checks

Canonicals, metadata, parsed JSON-LD, robots rules, and sitemap content.

06

Navigation smoke

Page-load success and significant first-party request failures.

07

Lighthouse

Repeated mobile performance, accessibility, and SEO measurements using median results.

08

Post-deploy smoke

Confirmation that WordPress remains operational after a theme upload.

Third-party image failures become warnings only when they match an explicit allowlist. Unexpected application and first-party failures remain blocking.

Automated validation

28 / 28 checks passed

Mobile quality budgets

Lighthouse checks passed

Representative Production evidence returned to the WordPress control surface after the configured workflows complete.
07

Outcome

Stomagia is a live and actively maintained website supported by an end-to-end delivery and operating model rather than a collection of static pages. Authorized clinic staff can manage content, publish urgent information immediately, review structural changes on Preview, run relevant checks, and promote the approved frontend without direct GitHub access.

The project demonstrates ownership across product delivery and Quality Engineering: transforming a small initial brief into a complete content and visual system, defining the CMS–frontend boundary, protecting patient-facing journeys, and making release validation repeatable.

Live production website

Explore the public patient-facing experience.