← Projects

PROJECT / 01 Personal software

Personal finance, investing and portfolio tracking built around the way I actually manage my money.

TYPEPersonal software
ACCESSPRIVATE
STATEOPERATIONAL
01

Why I built it

My finances needed to fit my workflow. Not the other way around.

Accounts, transaction categories, monthly budgets, savings and investment decisions are all part of the same financial picture. KuroFinance brings them into one application built around the way I actually manage them.

02

What it does

One financial picture, from daily cashflow to long-term decisions.

A local workspace connects account activity and monthly planning with the savings and portfolio views I use when making spending and investment decisions.

01

Account activity

Import transactions and review accounts in one place.

02

Transaction rules

Categorize, split and lock activity with reusable matching rules.

03

Monthly planning

Set budgets, carry over amounts and track recurring costs.

04

Savings

Connect income, savings and goal progress.

05

Investments

Follow positions, prices and portfolio value.

06

Wishlists

Keep planned purchases beside the wider financial plan.

03

How it's built

Built deliberately simple. No frontend framework. No hidden data layer.

A plain Node.js server powers a framework-free browser interface. Finance routes and page modules stay separated by area, local JSON files keep the data model transparent, and a background service refreshes held-symbol prices and currency rates for the portfolio view.

Stack04 technologies
  • Node.js
  • HTML / CSS / JavaScript
  • JSON storage
  • Yahoo Finance market data
System map05 nodes
1.1 Browser HTML / CSS / JavaScript
2.1 Node.js server Finance routes / page modules
3.1 JSON storage Accounts / planning data
3.2 Yahoo Finance Symbols / currency rates
4.1 Local market cache Prices between refreshes
Engineering notes03 decisions
01

Finance areas are separated into focused server routes and browser page modules.

02

Account imports, transaction rules, splits and locking are handled by the same normalized transaction model.

03

Market data is cached locally so the portfolio can remain useful between external refreshes.

04

Where it stands

OPERATIONAL

StatusActively used
AccessPrivate
DataPersonal / local
Public demoNone by design

KuroFinance is operational and actively used. The application remains private by design because it contains personal financial records; this public page documents the project without exposing the underlying data.

Private application