Back to portfolio

CuotaAlDía

Condominium management built for how buildings actually collect in Venezuela: two currencies, partial payments, and receipts that arrive over WhatsApp.

The problem

A building administrator keeps the books in a spreadsheet and collects over WhatsApp. Every month is the same loop: split the month's expenses across units by ownership share, produce 20 or 40 invoices, send them one by one, and then receive screenshots of bank transfers that have to be matched by hand against who owed what.

The systems that already exist assume a single currency and a neighbour who pays in full and on time. Neither of those is true here.

What I built

  • Split by ownership share. Load the month's expenses and the system builds every invoice according to each unit's percentage.
  • Two currencies with partial payments. An invoice denominated in USD can be paid down in local currency, in instalments, at the exchange rate of each payment's date. The balance tracks itself.
  • AI reconciliation. The resident sends a screenshot of the transfer and the system extracts reference, amount and date to match it against the invoice — instead of someone retyping it.
  • Automated collections. Arrears reminders go out on their own over WhatsApp and email, so the administrator isn't chasing anyone.
The project ships with a seeded demo — Residencias Almara, 20 units, loaded with a real month of expenses — so whoever evaluates it sees the system with data in it from the first minute, instead of an empty screen.

Stack

ComponentTechnology
ApplicationNext.js
Database and authSupabase with RLS
Receipt readingVision-model OCR
NotificationsWhatsApp and email

Status

71 commits. Schema, migrations and seed running, with type-checking and a clean build. Its own commercial brand, and the application separated from the public site.