Skip to content
Abdullah

Project · 2026

Ledger

A client-side expense tracker designed for simple personal finance tracking without a traditional backend. It keeps the experience lightweight while still feeling organized and practical.

Role

Solo Developer

Status

live

Stack

React, Vite, Tailwind CSS, Puter.js

Overview

Ledger is a fully client-side personal expense tracker. No account required, no data sent to a third-party server, no subscription. It keeps spending organized through a clean interface that runs entirely in the browser.

The Problem

Most expense tracking apps require signing up, store data on infrastructure the user doesn't control, or bundle features the user doesn't need. For straightforward personal tracking, that overhead rarely earns its keep.

Approach

All data stays in the browser. Puter.js provides the client-side persistence layer, storing entries locally without a backend. The result is an app that works immediately after load with no setup, no login flow, and no ongoing cost.

The interface focuses on the core loop: add an expense, assign it a category, and see where money is going over time. Nothing more than that.

Technical Decisions

React and Vite for the application layer, Tailwind CSS for styling, Puter.js for client-side state and persistence. No backend dependencies of any kind.

Outcomes

  • Open-source at m-abdullah-06/Ledger
  • A proof of concept that a useful financial utility can ship with no server whatsoever