FinTrack
A single-file budget planner. No libraries at all — I wrote the chart layer myself with the Canvas 2D API.
Most personal budgeting apps ask you either to create an account or to send your spending data to the cloud — yet a budget is among the most private data a person has. The question was: how small can a budgeting tool be if it sends data nowhere and needs no installation?
- I wrote the whole app in a single HTML file: 639 lines, about 33 KB, no build step. You double-click it and it runs.
- Data stays in the browser’s localStorage and never reaches a server. The one outbound request is for live exchange rates.
- I drew the donut chart with Canvas 2D rather than Chart.js: slices computed as angles through ctx.arc(), then hollowed into a ring with a second circle.
- For spending warnings I wrote a rule-based engine — rent-to-income ratio, savings percentage, concentration in discretionary categories.
Entirely mine, from design to code. Written for a Financial Technologies course.
Income and expense tracking, category analysis, recurring subscriptions, savings goals in four units (lira, dollar, euro, gram gold), CSV export and a dark theme — all with zero dependencies.
The app’s "Financial Intelligence Assistant" is not an AI model but an engine of hand-written rules. The name is ambitious; what it does is threshold checking.
Installing Chart.js takes three minutes; drawing the ring yourself with trigonometry takes an afternoon. But afterwards you know what a charting library actually does, where it slows down and what it hides. Adding a dependency is sometimes outsourcing your own thinking.
HTML · CSS · JavaScript · Canvas 2D API · localStorage