Every architectural decision I made building OvertimeIQ came from the same four constraints. Not preferences — constraints. Things that were non-negotiable before I wrote a line of code. Work data cannot leave the user's control. Hours, rates, employer names, project names — this is sensitive professional information. It cannot live on my server, my cloud provider, or anyone else's database. Zero cost at zero subscribers. A solo project that costs $40/month before it earns a rupee is a liability, not a product. Works with Indian payment infrastructure. UPI AutoPay, ₹149/month price points, T+1 settlement. Stripe is the wrong answer for a domestic Indian product. Offline-first. The app must work fully on a flight, in a basement, with no signal. Work happens everywhere. Those four constraints didn't just influence the architecture — they eliminated five of the six options I seriously considered. Here's each one, what it looked like, and exactly where it failed.…