Overview
The client was running her whole business on spreadsheets, so I replaced them with an app. It works offline first with SwiftData and syncs the catalog through Firestore listeners, so whatever she changes on her phone shows up on the two online stores right away. It covers full CRUD for 7 product categories and keeps track of losses, incoming batches, expenses and bank accounts. Sales go through atomic Firestore transactions, so the same unit cannot be sold twice in two places. She passed 2M CLP in sales during the first month using it.