I'm Peter Filias. In six months I took a legacy maintenance app running a real 107-store franchise, rebuilt it into production-grade software, stood up the TixWork brand and a live marketing site with published pricing, shipped multi-vertical demos, and then built the next-generation multi-tenant platform beside it — the engine new operators now run on. Same founder, three surfaces, no team. Along the way I turned what this project generates for the business into something that actually compounds.
The founding customer — JK&T Wings, a 107-store franchise across five districts — was already running an earlier version of the maintenance app I'd built for them years before; the operation has run on it continuously for 17 years. By April 2026 that stack was carrying real daily traffic and every kind of age: no modern security posture, no tests, no mobile, shared hosting. I pulled a production snapshot on April 7 and rebuilt it in place.
Day 0 → Day 36: dedicated infrastructure, security hardening, executive analytics, mobile-first ticketing, preventive-maintenance automation, a verified email pipeline, and a Playwright merge gate. Zero-downtime cutover. Zero production data lost. Then I kept shipping — every release drawn from what the operator actually needed.
mail() — hope it arrivedThe rebuild got the founding customer onto a real platform. Every release after v3.0 started the same way: a real need in production, shipped as a platform capability. The founding customer stays on this release line; the public v3.x story closes at v3.7, and new product work now lands on the platform.
While the app kept moving, I stood up everything a product company needs to show
itself: name, mark, site, story, verticals, a public price list, and demos you can see
on a walkthrough. Same solo seat. Different repo — tixwork-com for brand
and GTM, product staying in its own tree.
Naming locked. Ticket-lifecycle pip mark (open → in progress → done). Signal Orange / Graphite / Bone system. Favicon, social kit, embroidery pack — all designed and checked in by me.
Cloudflare Worker, vanilla HTML/CSS, no build step. Home, features, pricing calculator, operator story + anonymized case study, docs hub with ROI calculator and roadmap, changelog, five vertical suites — restaurants, hotels, fitness, daycare, fleet — trust pages and Terms, plus my own contact chat wired into the CRM.
Restaurant, hotel, fitness, daycare, and fleet — each on its own tenant config, same product underneath. Walkthrough-gated, never a public link. Monitors so a walkthrough never opens on a broken login.
This is the part most founder-engineers skip or hire out. I did the brand decision docs, the site copy, the vertical landings, the pricing math, the demo stacks, and the sales-facing story pages myself — because the product only lands if the company around it looks finished.
By September the founding customer's production stack was solid enough that the future of TixWork — multi-tenant, multi-vertical, clean schema — belongs in a new repo beside it, not on top of it. Cash cow stays stable and still gets production polish when the operator needs it. New product ships next door. Same codebase for restaurant, hotel, daycare, fitness, and fleet: templates and seeds, never per-vertical forks.
Demos and new operators now run on the one engine. What the founding customer teaches in production — report drills, photo UX, deploy discipline — feeds straight back into the platform. They stay on their app until they're ready to move over as a tenant like everyone else.
A 107-store production customer live on software I rebuilt and keep polishing. A brand, marketing site, and published price list I designed and deployed myself. A multi-tenant one-engine platform I stood up in nine days beside the cash cow and kept shipping into October — so the next vertical doesn't need a fork.
That's TixWork. That's what six months looks like when you refuse to wait for a team.