Skip to main content

DevOps

The infrastructure and release work that keeps a platform live: a production migration off managed cloud onto self-hosted Kubernetes with no recorded downtime, Dockerized services behind Cloudflare, CI/CD that ships on push, and mobile releases taken through store review. Backups, TLS and monitoring are part of the job, not extras.

Webanion brand logo

A self-hosted homelab that runs the studio, maintained every day

The studio's own infrastructure on a self-hosted Kubernetes cluster, planned in February 2026 and maintained every day since: its website, CMS and MCP servers and the client platforms it looks after, served through Cloudflare tunnels, with every database dumped and checked each night, metrics and alert rules that reach a phone, an outage monitor outside the house, a container registry and an npm registry, and one private console that joins merges, runs, images, pods and nodes on a single page.

Md Moniruzzaman Image

Md Moniruzzaman

Webanion brand logo

When hosted CI became the slowest step, the builds came home

Builds and deploys moved from GitHub's hosted runners, where every run started on a fresh machine and releases waited on queues and incidents, to a runner pool at home: a build machine that takes every job while it is up, and standby runners on an always-on server behind a watchdog that fails towards shipping. Images go to a private container registry and the studio's libraries to a private npm registry, both in the building, and every run is archived past GitHub's retention. The slowest deploy went from eight minutes twenty-four seconds to three minutes five, and CI came out a third faster.

Md Moniruzzaman Image

Md Moniruzzaman

Sep 24, 2026

Webanion brand logo

One node became a cluster, and no application had to change

A second machine that can be switched off at any moment joined a running single-node cluster without a change to any application. An always-on server keeps the control plane, every database and volume and the first copy of every service; the build machine takes the builds and second copies of stateless services behind a taint, and those copies wait rather than fall back when it sleeps. It powers itself off when the work runs out and comes back when a job is queued, a console shows every node, workload and availability span, and every CPU request on the always-on server was measured, taking its reservations from eighty-four to fifty-six percent of what it can allocate.

Md Moniruzzaman Image

Md Moniruzzaman

Sep 22, 2026

fully booked brand logo

Fully Booked - Zero-Downtime Migration to Self-Hosted Kubernetes

Fully Booked ran on managed cloud infrastructure with a bill that grew every month and a stack nobody fully owned. We moved the whole platform onto a self-hosted Kubernetes cluster without a minute of downtime for the people using it. The cutover covered DNS, ingress, databases and the release pipeline, staged so that traffic shifted only once each layer had been proven on the new cluster. Nobody using the app that week knew anything had happened, which was the point. The recurring bill became owned hardware, and the same cluster now carries the platform's weekly releases.

Md Moniruzzaman Image

Md Moniruzzaman

Jun 23, 2026

+1
Dominic Dormer
fully booked brand logo
Fully Booked Digital Ocean Deployment
DevOps Engineering
2 years 3 months
fully booked brand logo

Fully Booked - Dockerized Deployment with DigitalOcean and Cloudflare

Fully Booked shipped as five Docker services on one DigitalOcean droplet behind Cloudflare, so a very small team could run a marketplace that holds deposits. One repository built every image, a compose file and a Makefile reduced a release to pull, build and up, a Caddy proxy handled certificates and security headers, and Playwright rendered every quote and invoice PDF on the server. Because the services were independent from the start, they later moved to a self-hosted Kubernetes cluster without a rebuild.

Md Moniruzzaman Image

Md Moniruzzaman

Jun 24, 2025

+1
Dominic Dormer
fully booked brand logo
Fully Booked App store and Play Store Deployment
DevOps Engineering
2 years 3 months
fully booked brand logo

Fully Booked - App Store and Play Store Deployment

The Fully Booked operator app reached the App Store and Google Play and keeps passing review, so UK minibus operators can run their business from their phone. The listings sell the business case one benefit per screenshot, compliance is built into the product with in-app account deletion and privacy declarations that match what the app collects, links open the app directly, and releases are staged so an update never breaks an operator's working day.

Md Moniruzzaman Image

Md Moniruzzaman

Jun 24, 2025

+1
Dominic Dormer
27 Pearls App Logo

27 Pearls - Mobile Release and Store Submission

A finished 27 Pearls app became approved listings on the App Store and Google Play inside a one-week engagement, without a round of rejections. The week covered release builds and signing, listing copy written around the student's benefit, screenshots for every required device size, privacy declarations that matched what the app collects, and a reviewer account that worked. The app remains on Google Play today.

Md Moniruzzaman Image

Md Moniruzzaman

May 05, 2023

Dr. Kris Valenza

Other Areas I Build In

MCP servers that expose a real platform to AI assistants, agent pipelines that do real editorial work behind human approval gates, and the plumbing that keeps them in production. Built as systems, authenticated, scoped and audited, never as demos.

iOS and Android apps on React Native and Expo, built as a surface of the platform behind them: the same backend, auth and data model as the web, released through the stores on one cadence. The shelf runs from a booking platform and job-sharing network for UK minibus and coach operators to a traveller help app delivered over eighteen months, a life skills app for students, a local sports app, a distributor's billing tool and a fan platform.

Desktop software in Electron and React for the work that stays on a machine: offline-ready, packaged for Windows, macOS and Linux, and wired to the platform's backend like any other client when there is one. Keyboard Tracker, an employee activity tracker with its own report generator, is the example on this shelf.

Web platforms and the sites in front of them, on React and Next.js against a headless CMS: admin dashboards that run a business day to day, customer portals, a cooperative's ledger and loans, and public sites that load fast and read well to search engines and AI crawlers. Server-rendered, localized and measured, whatever the size.

Embeddable pieces that carry a platform onto someone else's website. The Prebooked widget lets a minibus or coach operator put booking on their own site, served by the Fully Booked platform behind it, so customers book without leaving the page. Small to install, and held to the same standard as the product it extends.

The pieces around the platforms that are neither an app nor a site: gm-libs, the reusable TypeScript packages for auth, data, interfaces and background work that every Webanion frontend and backend starts from, and the design trail of a product, from an interactive Figma prototype and its UI/UX to the visual assets and tutorial videos that took it to market.