About Professional
How I Build How I Build Meet the Team
Technology Homelab App Showcase Case Studies
Maverick & Luke Say Hello

Case study

A Three-Tier Access Model, Built Once and Promoted to Two Apps, Catches a Fleet-Wide Bug Only a Human Click Could Find

Designed and built a three-tier authorization model (super-admin / org-admin /

per-item share) from scratch across two personal apps' databases, web frontends, and mobile clients, then promoted both straight to production the next day, where a real user click, not any automated check, caught a bug that had silently broken every "create" action since the model went live.

The challenge

Two personal apps (a vehicle/asset tracker and a project tracker) needed real multi-user access control before they could move onto shared production infrastructure. Neither app had it: one was single-owner-only, the other let every user see everything. Neither model works once more than one person's data can be nearby on the same system. The requirement: private data stays private until deliberately shared, a group admin sees only their own group, and a top-level access-control account can manage who belongs where without ever being able to see the data itself.

Approach

What happened next

Both apps were promoted to production and live-verified the following day. Every automated check had passed: schema validation, permission probes, scripted smoke tests. But the very first real "create" action in production failed. The cause: the access rule that decides whether you can read back a row you just created was, itself, checking your permission by re-querying that same row in the same operation, and a row still being created isn't visible yet to a lookup run in that same instant. The rule always failed, silently breaking the "create, then confirm" pattern everywhere the new model applied, since the moment it first shipped, a day earlier. Nothing scripted had caught it. A person clicking a button did.

It was root-caused and fixed the same day, verified against a real reproduction of the failure plus a specific check that ordinary users still couldn't see anything they shouldn't. A second, unrelated pre-existing display bug was found and fixed the same way, as a byproduct of a human actually using the freshly promoted apps. The natural next question ("how do we catch this automatically next time?") became its own project: real browser-driven tests that exercise actual write paths, specifically because this class of bug evades permission-probe scripts by design.

Results

What this demonstrates


A companion piece on the earlier chapter of the shared production infrastructure this work promoted onto covers the platform migration itself.