Skip to content
Back to work

IFinToo — Personal Finance, Two Clients

One backend, a phone app and a desktop app sharing the same data, with device-level authentication and a mortgage simulator that answers the question people actually ask.

Client work — source not public

Type
Product
Period
2025 — present
Status
In progress
Role
Architect & Developer

The problem

Personal finance apps split into two unsatisfying groups. The ones on the phone are quick to type into and useless for thinking. The ones on the desktop show you charts of numbers you never bothered to enter, because entering them was tedious.

The two halves want opposite things. Entry wants to take four seconds standing at a till. Analysis wants a wide screen, history and comparison.

What I built

One backend with a client built for each half, sharing a single dataset: a phone app for capture, a desktop app for the view. Accounts, movements, transfers, subscriptions and instalments, debts and credits — with balances always computed from the movements rather than typed in, and every entry reversible instead of quietly editable.

It is one person across several devices, which is its own security problem: the server keeps only hashes of device tokens, and the PIN and biometrics never leave the phone.

The mortgage simulator is the part I would show first. Anyone can compute a monthly payment; this one compares the offers actually on the Italian market at current rates and says whether the payment is carryable against your income.

Where it stands

Live and in daily use, both clients off a single deployment. The screenshots below come from a demo account seeded for the purpose.

What I did

  • Designed a single backend serving two very different clients without either becoming the special case
  • Built the movements domain: balances, transfers, reversals and refunds, where correctness is the whole product
  • Implemented device pairing: a first device bootstrapped by setup key, further devices enrolled by code from an authorised one
  • Wrote the mortgage simulator with a sustainability read, not just a payment figure

Impact

  • Entry on the phone in seconds, analysis on the desktop, one dataset behind both
  • The server stores only token hashes; PIN and biometrics never leave the device

Stack

  • .NET 10
  • Blazor WASM
  • PostgreSQL
  • Docker
  • MAUI
  • EF Core

Screenshots

Recognise one of these problems?

If any of this looks like the system you are living with, that is usually a good place to start a conversation.