Skip to main content
Mehdi Cheniki's avatar head

Mehdi Cheniki

Back to projects
Personal projectFull-stack development2026

RestMoney

A personal tool for tracking my income and estimating what remains after contributions and taxes throughout the year.

  • React
  • TypeScript
  • TanStack
  • Tailwind CSS
Open the application
RestMoney presentation montage showing an overview of the dashboard
Presentation montage created from the RestMoney interface.

Starting point

Knowing what remains throughout the year

As a self-employed professional, I wanted to know, with each payment, what I could actually treat as available. Revenue alone does not answer that: RestMoney shows the amounts to set aside for contributions and taxes, then estimates what remains. It is a practical way to follow my year, not accounting advice.

Design challenges

  • Updating the contribution rate without changing calculations for income that has already been recorded.
  • Showing how an income entry affects the annual estimate, including when it is edited or moved to another year.
  • Letting people use and reset the demo without affecting my personal data.

Architecture choices

Technical choices suited to a personal tool

01

A rate stored with each income entry

The contribution rate is stored with each payment. Calculations reuse that value instead of the current setting, so a rate change does not alter amounts that have already been tracked.

02

Shared, tested calculation logic

Calculations are grouped into functions used by the dashboard and forms. An income entry’s impact is estimated from the total for its year; tests cover crossing a threshold and changing the year when editing an entry.

03

An isolated, resettable demo

The demo uses a SQLite file separate from my personal data. Resetting it replaces its sample income and settings in one transaction, restoring a consistent state.

In pictures

Annual overview of income and provisions on the RestMoney dashboard
The dashboard brings together collected revenue, the amounts to set aside and what remains.
List and history of income entries recorded in RestMoney
Income can be searched, sorted and inspected to understand its effect on what remains.

Technologies

A full-stack foundation designed to stay simple

  • ReactReact
  • TypeScriptTypeScript
  • TanStackTanStack
  • Tailwind CSSTailwind CSS
  • SQLiteSQLite

TanStack Start · Better Auth · Drizzle ORM · Bun · Zod · Recharts · Vite

Try the application

Explore RestMoney

The application is available as a demo with fictional data. Displayed amounts are estimates and do not replace tax or accounting advice.