WorthLedger
- Type
- Product
- Built with
- Python
- Source
- Private repository
- Live at
- www.worthledger.com

Overview
An asset tracking and performance platform for physical assets — machinery, vehicles, property, equipment — covering acquisition cost, running costs, depreciation and return, in place of spreadsheet accounting.
Core features
Multi-asset registry spanning bank accounts, real estate, equipment and investments; transaction capture with automated collection and verification; depreciation scheduling; break-even and recovery-progress analysis (total recovered, net cashflow, percentage to break-even); full multi-currency support; timeline and lifecycle views per asset; configurable alerts; imports and exports; tax-ready accountant reports; workspace-scoped collaboration; subscription billing.
Architecture
Async-first FastAPI + SQLAlchemy over PostgreSQL, organised around calculation engines separated from routing: fx (rate resolution), asset_finance and calculations (depreciation, break-even, aggregates), asset_rules, lifecycle, timeline and alerts. Background jobs run on Taskiq with Redis, scheduled work on an async APScheduler, and files on S3-compatible storage. The Next.js frontend pairs TanStack Query for server state with Recharts for reporting.
Two invariants drive the data model. Every monetary record stores full FX provenance — native amount, base amount, currency, rate, rate mode (live/locked/manual) and source — so historical figures never drift when rates move. All timestamps are stored in UTC through shared helpers while preserving workspace-local meaning for user-entered dates, keeping depreciation and reporting periods correct.
Frameworks, tools & libraries
The stack behind it
Frameworks
- FastAPI
- Next.js
- React
- Tailwind CSS
Tools & infrastructure
- PostgreSQL
- Redis
- Taskiq
- APScheduler
- Stripe
- S3-compatible storage
- Docker
Libraries
- SQLAlchemy
- Alembic
- Pydantic
- TanStack Query
- TanStack Table
- Recharts
- shadcn/ui
- Zustand
- openpyxl + ReportLab (exports)
Skills applied
What I brought to it
- 01
Financial systems engineering: depreciation schedules, cost basis, capital tracking
- 02
Multi-currency accounting
FX rate resolution and storage whenever an asset's native currency differs from the workspace base currency
- 03
Timezone-correct accounting
preserving workspace-local meaning for user-entered dates while storing exact UTC timestamps
- 04
Async-first backend architecture with short-lived DB sessions (fetch → compute → write) and non-blocking event loops
- 05
Scheduled/background job processing (Taskiq, APScheduler)
- 06
Tax reporting and audit-ready calculation design
- 07
Data visualisation (Recharts) and 3D graphics (Three.js)
- 08
Object storage integration (boto3/S3), payments (Stripe)
- 09
Containerised deployment (Docker Compose / Dokploy)
Languages
What it's written in
- Python~130 files
FastAPI async backend
- TypeScript / TSX~325 files
Next.js frontend
- SQL
schema and migrations
- CSS
styling
Screens
More screens
Next project
AnalyzeAlpha
Financial analysis platform: filings, fundamentals, charts, real-time data