Full-stack PWA for manual-first personal finance tracking, reporting, forecasting, and asset management.

TallyFolio

Privacy-first personal finance tracker

A full-stack PWA for manual-first personal finance tracking, built with deterministic financial calculations, CSV import workflows, reports, forecasting, subscriptions, investments, and asset tracking.

Founder · Product Engineer · Designer· Independent
  • Full-stack product
  • Financial correctness
  • Privacy boundaries
TallyFolio landing page
Landing page. Public landing and support pages introduce the manual-first product positioning before authenticated finance workflows.

Context

TallyFolio is a manual-first personal finance product built around privacy, deterministic calculations, and everyday workflows that do not depend on bank aggregation. The product needed modern import, reporting, and forecasting UX without losing user control over the data model.

Diagram

Where deterministic finance logic ends and AI begins

Select a layer to see what it owns.

  1. Dashboard, imports, budgets, reports, forecasts, subscriptions, investments, and assets, built for everyday mobile use.

AI only explains figures the domain layer has already computed, so financial correctness never depends on model output.

Problem

Most personal finance apps force users into either bank aggregation or spreadsheets. I wanted a private, manual-first system that could still provide modern product workflows: import review, categorization, subscriptions, cash-flow forecasting, investment contributions, reports, and asset tracking.

Diagram

Bank aggregation, spreadsheets, and a manual-first product

Bank aggregation

  • Requires handing over bank credentials
  • Product workflows depend on aggregation as the baseline

Spreadsheets

  • Manual and private, without bank aggregation
  • Leaves out the modern product workflows people expect

Manual-first TallyFolio

  • No bank credentials required
  • CSV import review before data becomes product state
  • Subscriptions and recurring schedules drive the forecast
  • Deterministic totals across budgets, reports, investments, and assets
TallyFolio is the third option: manual-first and private, with modern product workflows built in.

My role

  • Defined the product strategy, UX, frontend architecture, backend shape, and data model.
  • Built the authenticated product workflows for imports, reporting, budgets, forecasting, subscriptions, investments, and assets.
  • Designed the system boundaries around deterministic finance logic, privacy, and optional AI explanations.

What I built

  • Dashboard and authenticated home workflows.
  • CSV import review and transaction management.
  • Budgets, reports, subscriptions, recurring schedules, and forecast views.
  • Investments, asset register, and export/settings flows.
  • Public landing and support pages for the product.

Technical decisions

Decision

Store financial values as integer minor units and keep calculations in pure domain modules.

Why

Budgets, forecasts, reports, subscriptions, investments, and assets all needed deterministic results that could be tested and explained.

Trade-off

This adds domain-modeling overhead compared with scattering financial math across UI and persistence layers.

Result

Totals, forecasts, and finance workflows remain deterministic and easier to validate.

Decision

Make imports manual-first and parse CSV/XLSX files in memory for review rather than persisting raw files.

Why

The product needed modern import workflows without giving up user control or widening the privacy surface unnecessarily.

Trade-off

Manual review adds friction compared with fully automated ingestion and requires more explicit UI states.

Result

Import review stays privacy-conscious and gives users a clearer verification step before data becomes product state.

Decision

Keep AI usage optional and constrained to explaining already-computed figures rather than generating new financial advice.

Why

Financial trust depends on the product staying explicit about what is deterministic system output versus optional interpretation.

Trade-off

This keeps the AI surface narrower and less flashy than broader assistant-style features.

Result

The product can offer assistance without weakening the boundary around financial correctness.

Diagram

Manual-first import review

Select a step to see what happens there.

Step 1 of 5

Choose file

The user selects a CSV or XLSX export to import.

Raw files never persist and nothing enters the data model without an explicit review step, which keeps the privacy surface narrow.

UX and detail decisions

  • Used a manual-first import flow instead of requiring bank aggregation so users stay in control of what enters the system.
  • Modeled subscriptions and recurring schedules as first-class workflows so forecasting stays aligned to schedule truth rather than transaction guesswork.
  • Kept the product mobile/PWA-friendly for everyday use instead of assuming a desktop-only finance workflow.
  • Separated asset tracking from everyday spending flows so investment and cash workflows do not blur together in the UI.

Interface evidence

TallyFolio dashboard showing manual-first finance summaries, recent activity, and navigation into budgets, reports, and import workflows.
Dashboard. The authenticated home surface orients everyday personal finance work around deterministic totals and clear paths into import review, budgets, and reporting.

Outcome

  • Shipped a live full-stack finance product with privacy-conscious workflows and production-grade auth.
  • Established deterministic finance logic across budgets, reports, forecasts, subscriptions, investments, and asset tracking.
  • Created modern import and review workflows without depending on bank aggregation as the product baseline.

What I would improve

  • Expand more product-level evidence around forecast edge cases, import recovery, and mobile-specific workflow detail.
  • Continue refining the boundary between deterministic finance output and optional AI explanations as the product grows.