Skip to content

Case study

Accounting-App

LanguageTypeScriptAccessLive
ACASE STUDY

Built with

AngularTypeScript

Accounting application built with Angular and TypeScript, using local storage for persistence and running entirely without a backend.

The no-backend constraint is the interesting part. It suits personal and small-scale accounting, where the data belongs to one person on one machine and the overhead of accounts, servers, and hosting would exceed the value. It also removes an entire category of concern: there is no transport to secure and no server-side data to protect.

What it introduces instead is a persistence layer with real limits. Local storage is synchronous, size-capped, and stores strings, so the data model has to be serialised deliberately and read patterns have to avoid touching everything on every render. Treating it as a database rather than as a convenience is what keeps the app responsive as the transaction history grows.

The application covers transaction entry, categorisation, and tracking, with reporting and summaries for an overall financial picture. Accounting is unusual in that a rounding error is not a cosmetic bug, so the arithmetic and the display formatting both have to be exact.

Built on Angular with services, reactive patterns, and a component architecture, with TypeScript providing type safety across the financial models. Angular's opinionated structure is well suited to this kind of application: the framework decides the organisational questions, which leaves the domain logic as the only thing to think about.

Visit live site →Want something like this? Let's talk

Topics
#angular#finance

More work

Other case studies