Architecture This page documents the current architecture of the platform. I update it as the system evolves. Last updated: April 2026 Stack Overview Layer Technology Notes Data Sources yFinance, FRED API Equity prices + macro indicators Storage PostgreSQL Single database, multiple schemas Transformation dbt Staging → intermediate → mart pattern Orchestration Dagster Scheduled jobs + event sensors Auth / API FastAPI JWT-based auth, user management Frontend Streamlit Transaction input + personal dashboards Deployment Docker Compose-based, self-hosted Data Sources yFinance Yahoo Finance is the primary source for daily equity prices. When a user logs a transaction for a ticker the system hasn’t seen before, it backfills the full available price history for that ticker into bronze.raw_prices before writing the transaction. This ensures the daily holdings computation has complete data. ...
Lenny Kiruthu
I’m a data / analytics engineer based in Nairobi. I build data systems end-to-end — ingestion, transformation, orchestration, and the UIs that sit on top.
This site is where I document what I’m building, why I made certain decisions, and what I’m learning along the way. It’s part personal portfolio, part build-in-public log, part eventual pitch to collaborators and potential partners.
What’s here
- Platform — A deep dive into my flagship project: a self-hosted portfolio analytics platform built on real infrastructure.
- Build Log — Release notes, decisions, dead ends, and progress updates posted as I ship.
- Docs — User documentation for anyone who ends up using the platform.
The longer ambition
Right now I’m focused on global equities and macro data. But the real goal is African market data — equities, fixed income, currencies, commodities across the continent. The infrastructure and the methodology I’m building today is designed to scale there.
If you’re working on something similar, or you’re interested in what I’m building, I’d genuinely love to hear from you.
Getting Started
Getting Started The platform is self-hosted and currently in early access. Here’s how to get up and running. Creating an Account Navigate to the platform URL and you’ll land on the login screen. Click Create Account and fill in your email and password. There’s no email verification step right now — your account is created immediately. Once logged in, you’ll see the Portfolio Transaction Ledger — the main interface for logging trades. ...