Live · used daily

Entremigas

A mobile PWA that turned a 2-hour month-end ritual into something that fits in a coffee break. Built for one bakery in Buenos Aires.

My partner Carla was running a bakery's books in Excel, by hand.

Half of Carla's bakery is wholesale: restaurants and cafés that take a delivery every morning and pay weekly or monthly. Each wholesale account is a parent company with its own branches, and every branch wants its own monthly bill, broken down by product, in its own format. That half is what broke Excel. Carla tracked all of it in Excel by hand: each sale typed into a row, columns summed manually at month-end, no formulas. Two hours minimum. Three if she'd missed a day.

The spreadsheet also had the Argentina problem baked in: IVA math, ARCA reporting, mid-month price changes, branches that wanted their bill in a custom shape. Excel could handle any one of those. Stack them and every exception became another manual step at month-end, until the workbook was held together by Carla's memory.

Now: four taps to record a sale on a phone, on a busy bus if she has to. At month-end she opens Resúmenes, picks the month, taps Bulk PDFs. The two-hour ritual fits in a coffee break.

The wholesale flow shipped first. Then the daily books came in, because Carla was running income, expenses, and account balances in a second workbook with nothing clean to hand her accountant. Same app, one more screen.

It's a Progressive Web App. Carla added it to her home screen once. No app store, no install, no manual updates. Works offline once it's loaded.

Built around how Carla works.

Four-tap sale entry

Parent company, sub-company, product, quantity. Done. Big touch targets, no keyboard unless the quantity isn't a default. Before this, the same sale was a row typed into Excel later that night. After a save, the branch stays selected so Carla can run 30+ entries for the same café without picking it again.

Daily books, next to the sales

Carla was running income and expenses in a second spreadsheet, with no view of her account balances. End-of-day income, expenses, and transfers between accounts now live in the same app as the sales. The data model is daily aggregates, not per-transaction, because that's the grain she closes her books at. Excel and PDF exports, admin-gated routes, password hashing, audit log on every write.

Bulk PDFs, sent on WhatsApp

One tap produces every PDF for the chosen month, generated on the edge with pdf-lib. Before the app, Carla typed each branch's bill into Excel at month-end and printed it on paper. The bulk button stitches every parent's run into one document and hands it to WhatsApp via Web Share API. Carla's dad prints them on the receiving end.

Excel ARCA, plus an internal Excel

Argentina's tax authority wants a specific shape: net amount, IVA, total, per parent and branch. The ARCA Excel ships in two sheets, a line-by-line Detalle and a pre-grouped Resumen ARCA. The internal Excel for Carla has its own per-branch pivot tab.

Per-parent pricing in a tabbed catalog

The same loaf goes for 3700 at one café and 4200 at another. Before, those prices lived in scattered Excel cells that Carla edited inline whenever a café renegotiated. Now she sets prices per parent company in Catálogo, with Prices as the default tab. Every sale snapshots its price and IVA at insert time, so an old PDF stays correct even after a price change.

Real screens from the live app. Real flow, demo data. There's a public demo with fake businesses at entremigas-demo.tejorugonda.com if you want to click around.

Sale entry screen: pick the parent company, then sub-company, product, and quantity. Four taps to record a sale. Four taps to log a sale
Transaction history with date-range presets, custom date pickers, and per-row edit and delete actions for admins Auditable history
Monthly summary with range presets, totals, Excel and Excel ARCA exports, and a bulk PDF generator that emails parent companies their statements Month-end in 30 seconds
Finanzas dashboard with month range presets, ingresos and gastos totals, neto, and per-account cash balances Net cash by account
Catálogo with four admin tabs (Matrices, Sub-empresas, Productos, Precios), showing the Matrices view: parent companies with rename, add email, and consolidated summaries Admin: edit the catalog

Edge runtime, no servers to babysit.

The whole thing runs on Cloudflare Workers, which means PDF generation, Excel export, and IVA math all happen on the edge. It runs comfortably at the scale of a single bakery.

Next.js 15 TypeScript Tailwind Supabase (Postgres) pdf-lib exceljs Web Share API Web Crypto (PBKDF2) Cloudflare Workers (edge)

In daily use.

686 sales recorded across 24 branches and 4 parent companies · 12 products · live since April 2026 (data backfilled from January).