Back to work
iOSWebBackendRetail · Santiago

Saronna

Inventory app for iOS and an online store for a retail client, sharing one catalog in real time. Inventory, sales, expenses and losses for more than 100 SKUs, offline first. Over 2M CLP in sales the first month.

Saronna
2M CLPin sales, first month

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. On the web side, Tiendita Saronna reads the catalog live from the inventory app with Firestore onSnapshot listeners, so anything added or edited there appears on the web without a new deploy. Checkout reserves the products first, and stock goes up and down inside atomic Firestore transactions, so two people buying the last unit at the same time cannot both take it. Astro on Vercel for the static part, Firebase client SDK for the live part.

More screens

Want to talk about this project?

Get in touch