Shipping to someone who depends on it
Sparkify has a real user running a real shop on it. That changes the job. There is no such thing as a small deploy, migrations have to be reversible, and "I'll fix it tomorrow" means somebody can't invoice a customer today.
Production and the modernization branch stay strictly separated. Nothing reaches the live shop until it has been used end to end somewhere else first.
Building it and using it at the same time
I don't just write Sparkify, I use it in the shop. That is the fastest bug-finder there is. You hit the broken thing yourself, mid-job, instead of waiting for someone to describe it to you over the phone and then trying to reproduce it.
It's also where most of the features come from. The quality-of-life stuff was never on a roadmap; it was whatever annoyed me the third time I did it by hand.
Booking that doesn't need anyone to pick up the phone
Customers book their own appointment online, against the shop's real availability, instead of calling during the two hours a day the shop is quiet enough to answer.
Every booking is backed by SMS the whole way through: a confirmation when it lands, and reminders before the appointment. No-shows are the expensive kind of empty bay, and a text the day before is the cheapest fix there is.
