A Firebase-backed CRM I built for a real business — not a class assignment. Real architecture decisions and real bug-fixing on something that actually deploys.
Why it exists
SC Pressure Point ran on text messages and memory — fine at first, unworkable as jobs piled up. Clearline is the fix: a customer relationship manager that keeps jobs, customers, quotes, and schedules in one place instead of across a phone.
It's the most substantial engineering project I've shipped — a deployable product with a backend, not a static page.
Architecture & decisions
I chose a no-framework, vanilla-JS PWA on purpose — fewer moving parts to break, and it's something I fully understand end to end. Firebase Firestore handles the data; GitHub Pages serves the app.
Real engineering
Shipping it meant solving actual problems, not toy ones:
signedIn() && uid() in accessUids — a get()/owner check made array-contains queries unprovableWhat it taught me
Clearline is where I learned to think like an engineer instead of a tinkerer: a security model that holds, a deploy that's reproducible, and the discipline to debug at the root instead of patching the symptom. The decisions I'd make differently next time are the most valuable part.