← All work

Case study · Full-stack / headless

Vii Dohtem

Vii Dohtem is my own venture: as director and CTO, I designed and built the whole platform solo. A headless, multi-site setup brings two consumer brands and a SaaS-style compliance tool under one architecture, with a single WordPress/WooCommerce engine powering content, catalogue and transactions over a REST API, consumed by fast, animated Next.js front-ends on a self-managed Ubuntu VPS with automated CI/CD and TLS.

Role
Director & CTO
Build
Solo, end to end
Backend
WordPress / WooCommerce
Hosting
Self-managed Ubuntu VPS
  • Roots Bedrock (WordPress)
  • WooCommerce
  • WP REST API
  • ACF Pro
  • JWT
  • Next.js 15
  • React 19
  • GSAP
  • Stripe
  • nginx
  • PHP 8.3-FPM
  • MariaDB
  • GitHub Actions
  • Let's Encrypt
  • Docker

The platform

Three sites, one engine

Headless WooCommerce storefront

shop.viidohtem.co.uk

The e-commerce store for the smoked-food range. "Smoked to Seduce. Cured to Keep." Smoked fish, meats and cheeses crafted with salt, time, wood and nothing else.

  • Cold-smoked Scottish salmon (oak-smoked 24h), oak-smoked British cheeses and small-batch pâtés.
  • Built on Roots Bedrock (12-factor WordPress) with WooCommerce, Stripe payments, pre-orders (YITH) and scheduled delivery dates, tailored to a perishable, made-to-order product.
  • Runs headless: content, products and menus served over the WP REST API, secured with JWT auth and CORS, and modelled in ACF Pro.

"Cutting Edge" sharpening service

cuttingedge.viidohtem.co.uk

A distinct brand site for Vii Dohtem's Wiltshire-based knife and tool sharpening service. "Tools deserve care, not replacement."

  • A Next.js 15 / React 19 application with GSAP motion design: a services showcase ("Why We Sharpen", "Services for Creatives"), location content, and its own shop driven from a generated catalogue.
  • Custom touches include a build-time catalogue generator and a shared "smoke" brand-motif animation layer.

HACCP compliance, made simple

haccp.viidohtem.co.uk

A purpose-built food-safety compliance product for modern food producers: real-time production tracking, automatic documentation and complete traceability to stay audit-ready. Built as a separate Next.js application.

  • Production-run tracking with real-time monitoring of critical process steps.
  • Temperature and humidity logging at each stage, with sensor-data import and interactive trend charts.
  • Document management: attach certificates, lab reports, photos and sensor data to any batch, with smart scoping.
  • Supplier traceability: track supplier lots across production runs with automatic document sharing.
  • Role-based team collaboration, plus batch lookup and history with complete audit trails.
  • Recipe calculator (define once, auto-calculate ingredients by batch weight) and duration validation (enforce min/max process times, auto-flag deviations).

Under the hood

Custom development & infrastructure

Vii Smoke Effect

A bespoke WordPress plugin providing a configurable floating "smoke puff" visual effect (ACF-driven settings, optimised WebP assets) that reinforces the smoked-food brand identity across the estate.

  • Single-VPS multi-site hosting: an nginx reverse proxy fronting PHP 8.3-FPM and MariaDB, with an isolated server block and TLS certificate per subdomain.
  • Automated TLS: Let's Encrypt (ECDSA) certificates with certbot auto-renewal and an A-rated SSL configuration.
  • CI/CD via GitHub Actions: push-to-deploy pipelines for staging and production (Composer install, SSH deploy, post-deploy autoloader optimisation).
  • Three-environment workflow (local → staging → production) with environment-specific config and safe database/media sync tooling (automatic backups and URL rewriting).
  • Dockerised local development: a reproducible MariaDB and phpMyAdmin stack.

Recent work · Aug 2026

Production TLS incident

Diagnosed and resolved a certificate outage on the primary domain. The root cause was a missing apex DNS record silently blocking Let's Encrypt validation; I reissued the certificate to an A rating and added a canonical apex → www redirect.

Need a platform built and looked after end to end?