Case · Agency platform · Disruptors Media
A platform that ships a client website with one command and one approval.
The situation
Disruptors Media builds websites for small businesses. Every site lived somewhere different, every deploy was by hand, and every blog post meant someone opening the code. The agency wanted one place every client site runs from, and a way to publish new pages without touching the design.
What we built
One command to ship. Each client site is its own private repository, built to a static folder and served from a Cloudflare Worker. The deploy command reads the site's manifest, builds it, refuses anything uncommitted, creates the repository, pushes production and preview branches, creates the Worker and connects automatic builds. From then on a push to main is a deploy. It dry-runs by default and only writes after a human approves the plan.
A portal with real identity. Admins and client users sign in through Cloudflare Access. The platform verifies the signed token, never the email header. Each client reaches only the websites they are a member of.
Blog drafts in the client's own template. A Blog Kit gives every site a fixed article model and a branded adapter. An AI chat drafts an article from a pasted brief or a long note, but can only produce validated blocks: headings, paragraphs, lists, quotes, images, links, a call to action, a YouTube embed. No raw HTML. The draft lands on a preview branch and nothing goes live until someone approves and publishes.
Domain checks without touching DNS. An admin enters a hostname and sees whether it is outside Cloudflare, ready, waiting, or live. Read-only on purpose.
What changed
Mass Design's rebuilt site runs on SiteDisruptor today and redeploys itself on every push. Bolt Outdoor Lighting and PTI Stock Yard are built for it. The whole platform was built in about five weeks, 37 scoped tasks, every external change stopping for a human yes first.
What is next
A weekly SEO loop on top: Search Console in, one article a week out, written only from the client's own voice notes and call transcripts. Safe edits like titles and schema publish alone. New pages wait for a text that says GO.
What one deploy does
- Reads and validates the site manifest
- Builds the site, refuses uncommitted files
- Creates or verifies the GitHub repository
- Pushes production and preview branches
- Creates the Cloudflare Worker, serves only the built folder
- Registers the website in the portal
- Connects automatic builds so pushes to main deploy
- Reports the preview link
Dry run by default. Remote writes only after approval.
Have a workflow like this?
Ninety minutes inside your business. You leave with the three things worth building.
Book a working session