Skip to main content
Case Study

Dinero

An expense tracker where the numbers add up

Dinero is our own product. It is an expense tracker you install on your phone, and the main example of the custom software we build for clients.

Next.jsSupabasePWATypeScriptCustom Software

Role

Product design and development

Timeline

10 weeks

Stack

Next.js, React, TypeScript, Supabase, Tailwind, TanStack Query, Recharts, Vitest

Industry

Personal finance

01

The Challenge

A balance that is off by one dinar costs an expense tracker the trust of the people who use it. We built Dinero to the standard of a client product: exact money handling, private data and a layout that works on a phone.

02

The Approach

We store money as whole numbers in minor units, so nothing drifts through rounding. We never store a balance. Dinero adds the opening balance to every transaction each time it shows one, and setting a balance adds an adjustment transaction. Row level security on every table limits people to their own data. We record credit card payments as transfers, so they never count as spending twice. Recurring transactions carry a unique key in the database, so a rule cannot create the same transaction twice. Around 40 test files cover the money calculations and the database rules, and some of them run against a real database.

Results

What We Delivered

Money stored as integers in minor units, with every conversion in one place

Balances calculated from transactions and never stored

Row level security on every table

Shared spaces with owner, editor and viewer roles, joined by invite link

Accounts in RSD, EUR, USD and AED

Credit card accounts that show the limit and how much of it is used

Recurring transactions that cannot be created twice

Receipt photos attached to transactions

CSV import and export

Budgets, tags and monthly reports with charts

Installable PWA with an offline page

Around 40 test files, including integration tests against a real database

Screens

Inside the app

Dinero home screen on a phone, with net worth in RSD and EUR and recent transactions
Dinero add transaction form on a phone, with account, category, note and tags
Dinero reports on a phone, with spending by category in a donut chart
Dinero accounts on a phone, with a credit card limit and a savings account in EUR
Dinero home screen on desktop, with accounts and recent transactions
Dinero reports on desktop, with spending by category and income against expense over 12 months

Dinero is free to use. Open the app and try it.

Open Dinero

Ready to Start Your Project?

Tell us about your project and get a fixed quote within 2 working days. No commitment.