CoperachApp
Snap the receipt. The app works out who owes whom.
I build and maintain CoperachApp, a shared-expense app for iPhone and Android. I own the architecture, the React Native client and the Node backend, and I built receipt-photo and voice capture on top of OpenAI. It ships on the App Store and Google Play, with its own download site.
- My role
- Architecture, React Native app, backend and AI integration
- Sector
- Producto propio · App de finanzas
- Scope
- App móvil (iOS y Android) + Sitio web
- iOS + Android
- Platforms shipped
- 3
- Split methods
- 3
- Expense capture modes
- 4
- Group types
Stack
- React Native
- TypeScript
- Node.js
- Express
- Mongoose
- MongoDB
- OpenAI
- Cloudflare R2
- Resend
Screens
Screenshots from the live system.
App móvil
Inicio y balances
La pantalla del grupo muestra cuánto debes o cuánto te deben, y sugiere los pagos justos para que todos queden a mano.
App móvil
Captura inteligente con IA
Anota un gasto tomándole foto al ticket o dictándolo en voz alta, y pregúntale a Pesito cómo vas con tu dinero.
App móvil
Presupuestos y metas de ahorro
Presupuestos tuyos y del grupo para ver cómo vas, y metas de ahorro que puedes juntar entre varios.
App móvil
Pagos programados y a meses
Control de los pagos que se repiten cada mes y de las compras a meses, con calendario y recordatorios para no atrasarte.
App móvil
Comunidad y experiencia
Un recorrido inicial para entenderle rápido y un foro dentro de la app con publicaciones, novedades y logros.
Sitio web
Página para descargar la app desde App Store y Google Play, con sus funciones y ejemplos de uso.
The problem
When people split costs — roommates, couples, family, a trip — the ledger lives in phone notes and in the memory of whoever paid. Nobody is sure who owes what, and the awkward conversation shows up at the end of the month. I started from one design premise: the arithmetic was never the hard part. Typing in every purchase costs more effort than most people will spend, and an app that demands it stops getting opened. And shared spending doesn't end at a dinner halved — some payments come back every month, and some purchases are paid off in installments someone has to keep track of.
What I built
I built the app in React Native and TypeScript on a Node/Express backend with Mongoose and MongoDB. The core is the split engine: an expense can be divided evenly, by percentage or by exact amounts, and from the net balances the app doesn't list debt against debt — it returns the fewest payments that settle everyone. To cut the cost of entry I wired OpenAI into two paths: a photo of the receipt, which yields amount, merchant and category, and spoken dictation. Around that I shipped personal and group budgets, shared savings goals, scheduled and installment payments with their own calendar and reminders, household chores, onboarding, and an in-app forum. One codebase ships to both stores.
Technical decisions
- 01
Minimum transfers, not a web of IOUs
Instead of showing every pairwise debt, I compute net balances and derive the fewest payments that clear the group. That's the difference between a list nobody reads and an instruction people actually act on.
- 02
One expense, three ways to split it
Even shares, percentages or exact amounts, all resolved against a single data model. The real case isn't a dinner halved — it's rent split by percentage and a grocery run where everyone chipped in a different amount.
- 03
Receipt-photo and voice capture on OpenAI
Manual entry is where these apps die. I integrated OpenAI to read the receipt — amount, merchant, category — and to log an expense by speaking it; images go to Cloudflare R2, not the app server. Typing it in became the fallback, not the default path.
- 04
Pesito: ask your spending in plain language
An in-app assistant that answers spending questions and returns charts of where the money went, instead of making the user assemble the report themselves.
- 05
Installments and recurring bills, modelled apart
Payments that come back every month and purchases paid off in installments are modelled as commitments with their own calendar and reminders, rather than one-off expenses someone has to re-enter.
Next project
SmartChef
A recipe app that reads your grocery receipt, stocks your pantry and tracks the spend.