Case Study — Productized Delivery

Two Weeks, Zero Lock-In — a Self-Hosted Fitment Intake Tool

A client-branded intake tool for a LATAM tire & wheel retailer — a static branded shell embedding a self-hosted open-source survey platform, containerized on owned infrastructure behind automatic TLS. No SaaS subscription. No data in someone else's cloud. No moving parts to babysit.

~2 wk
Concept → production
64 MB
RAM footprint (0.10 CPU)
0
Third-party SaaS dependencies
100%
Client-owned infrastructure
Role Lead Engineer
Stack nginx:alpine / Formbricks / Coolify / Traefik
Context LATAM tire & wheel retailer
01 — The Problem

Every Fitment Question Started With a Form the Retailer Didn't Own

A LATAM tire & wheel retailer needed a clean, branded way to capture customers' vehicle details — make, model, year, current setup — so their team could match the right tires and wheels for each request. The obvious answer was the one every small business reaches for: rent a SaaS form tool, drop a link in WhatsApp, done.

The obvious answer had three problems. First, recurring cost for a static need — a monthly subscription, priced per seat or per response, for what is fundamentally a form. Second, data custody — every customer's vehicle details and contact information would live in a third-party vendor's cloud, under that vendor's retention policy, in that vendor's jurisdiction. Third, brand dilution — customers would be bounced from the retailer's domain to a generic form host that looks like every other survey on the internet.

The brief was simple to state and easy to over-engineer: give the retailer a branded intake tool on their own domain, on infrastructure they control, without inventing a custom form backend from scratch. The interesting part of this project isn't a clever algorithm — it's the delivery pattern that made it shippable in two weeks.

02 — The Delivery Pattern

A Static Shell, a Self-Hosted Survey Platform, and Deliberately Boring Infrastructure

The whole system is two proven pieces composed cleanly: a client-branded static front end, and a self-hosted open-source survey platform embedded inside it. Everything below the surface is standard, containerized, and stateless.

1

Branded Static Shell — Not a Framework App

The customer-facing page is plain HTML, CSS, and JavaScript carrying the retailer's branding — logo, colors, copy — served by nginx:alpine. No build pipeline, no framework runtime, no dependency tree to patch quarterly. The intake survey itself is an embedded Formbricks form running on a self-hosted instance, so the form logic, question flow, and response storage are handled by battle-tested open-source software rather than bespoke code.

2

Containerized and Stateless by Design

The shell ships as a single Docker container capped at 64 MB RAM and 0.10 CPU — a smaller footprint than a phone photo. No volumes, no environment variables, no runtime state of any kind. If the container dies, the orchestrator restarts it and nothing is lost, because there is nothing to lose. Survey responses persist on the self-hosted platform, not in the shell. Statelessness here isn't an optimization — it's the reason this deployment has no failure modes worth documenting.

3

Coolify + Traefik + Let's Encrypt — TLS Nobody Thinks About

Deployment runs through Coolify on owned infrastructure, with Traefik as the reverse proxy. Point the resource at the client's vanity domain, set the DNS A record, deploy — Traefik provisions and renews the Let's Encrypt certificate automatically. Zero certificate ceremony, zero renewal calendar entries. The retailer's customers see the retailer's domain with a valid padlock, and the retailer never receives a certificate expiry email in their life.

4

DNS Cutover to the Client's Own Domain

The final step is the one that makes it the client's tool rather than the agency's: the intake page lives on a subdomain of the retailer's own domain. If the engagement ended tomorrow, the retailer keeps the domain, the container image, and every response ever collected. That is the practical definition of zero lock-in — not a promise in a contract, but an architecture where there is nothing to be locked into.

"Boring infrastructure is a feature. Every component here is one you already trust, doing the one job it was built for."
03 — Results

Shipped in Two Weeks. Runs on Almost Nothing. Owned Outright.

The value delivered isn't a benchmark number — it's the shape of the delivery: fast, cheap to run, and fully in the client's hands.

~2 wk
Concept to production
64 MB
RAM cap / 0.10 CPU
0
SaaS dependencies
100%
Client-owned infra

Survey Data Stays on Owned Infrastructure

Customer vehicle details and contact information land on the self-hosted survey platform — not in a third-party form vendor's cloud. Retention, access, and export are governed by the infrastructure owner, not a vendor's terms of service.

A Resource Footprint Smaller Than a Phone Photo

The container is capped at 64 MB of RAM and a tenth of a CPU core. It costs effectively nothing to keep running, shares a server with dozens of other workloads, and will never be the reason an ops dashboard turns red.

Nothing to Break, Nothing to Patch on a Deadline

A stateless static container has no database migrations, no session store, no framework CVE treadmill. Updates are a rebuild and redeploy of a page. The operational surface area is as close to zero as a live production service gets.

The Client's Brand, End to End

Customers stay on the retailer's own domain, on a page carrying the retailer's identity, with a valid TLS padlock — instead of being handed off to a generic survey host mid-conversation.

HTML/CSS/JS (static) Formbricks (self-hosted) nginx:alpine Docker Coolify Traefik Let's Encrypt

Need a Branded Tool Shipped in Weeks, Not Quarters?

I ship client-branded tools on infrastructure you own — fast, self-hosted, and free of SaaS lock-in.

Let's Work Together
VERIFIED DELIVERY RECORD →