Family FIRE Dashboard (Streamlit + PostgreSQL)

Built a multi-page financial planning dashboard in Streamlit + PostgreSQL to model a 40-year household projection, inspired by FIRE (Financial Independence, Retire Early). Upgraded from a scenario-based Excel financial model to a fully interactive, database-driven application with significantly expanded scenario and sensitivity analysis capabilities. Key technical work: Stood up a 40-year per-account projection engine modeling investment accounts (taxable, tax-deferred, Roth, real estate), variable income schedules, and year-by-year surplus/deficit cash flows routed through a designated buffer account Designed a PostgreSQL schema (7 tables) for named scenarios with full assumption, balance, income, expense, and mortgage data. All editable in-app with changes persisted back to the DB, a significant upgrade from the Excel model Built a Sensitivity Analysis page with color-coded HTML tables (nominal and inflation-adjusted) showing investable assets at Year 10 across a growth rate × annual expense matrix; each cell calls the projection engine directly to guarantee exact match with the Overview page Built a Compare Scenarios page with side-by-side KPI cards with deltas, dual line charts (nominal + inflation-adjusted), and a 10-year side-by-side detail table including inflation-adjusted investable asset columns Added an Expenses page with editable budget categories and a Mortgage page backed by a cumulative amortization schedule in Postgres, both with save-to-DB functionality Implemented Altair/Vega-Lite charts throughout: assets over time, account breakdown, income vs. expenses, scenario comparison lines, and mortgage amortization Full dashboard: 6 pages, projection model, sensitivity engine, and schema. Built iteratively with Claude Code from the Excel model foundation and completed in ~3 hours

May 30, 2026 · 2 min · Kevin Boller

Streaming Analytics Dash → Sigma Data Model and Workbook

Ported a Claude Code-developed, synthetic Netflix streaming analytics HTML dashboard (4 tabs, ~10K subscribers, 105K watch sessions) to a production Sigma workbook, rebuilding the Python data pipeline from scratch in order to generate Sigma-compatible CSVs that were added to and power a Sigma data model. Key technical work: Rewrote sigma_export.py, expanding output from four CSVs to nine; added waterfall.csv, top_titles.csv, top_titles_by_plan.csv, device_summary.csv, and monthly_views.csv as pre-aggregated files for charts that could not be derived cleanly in Sigma from grain-level session data Applied all notebook transformations at row level: device watch/completion multipliers, seasonality on watch duration, plan duration/completion multipliers; device session count overrides and monthly seasonality on counts/rates handled in pre-aggregated files Added subscription_plan dimension to cohort_retention.csv and waterfall.csv so that the plan filter control on the LTV tab correctly targets all three data sources Completed in Sigma: LTV tab (all 4 charts + KPIs with working plan filter) and Content tab (all 5 KPIs + 4 charts across 4 data sources)

April 28, 2026 · 1 min · Kevin Boller

Streaming Analytics Dashboard using Claude Code

I recently collapsed several days of work into roughly three hours, and the end result was better than what I would have produced the traditional data science way. The project followed a familiar path: read files into a Jupyter notebook, work through EDA and data transformations to understand what I have and figure out how to best synthesize and present my findings. The key difference for this project is that I used Claude Code throughout. ...

April 23, 2026 · 1 min · Kevin Boller

Personal Website Overhaul

Migrated personal website from Jekyll to Hugo, replacing a stale Jekyll 3.6.3 + Minima stack (last updated ~2021, Ruby 2.3.1) with Hugo 0.160.1 + PaperMod theme, that is now deployed via GitHub Actions to GitHub Pages. Key technical work: Built a GitHub Actions CI/CD pipeline for automated deployment on push to main; subsequently upgraded all actions to Node.js 24-compatible versions ahead of GitHub’s June 2026 forced cutover Implemented GLightbox for all post images. This auto-wires via JavaScript, no markup changes required per post, with “Photo by…” caption detection Designed and built a Projects content type from scratch: custom list and single-page templates, expandable/collapsible cards using native HTML <details>/<summary> (no JS), thumbnail support with full-width banner and lightbox, and a reusable partial as a single source of truth across the home page and Projects page Customized the home page with a Recent Projects section above the posts feed with both being driven by separate Hugo page queries Front matter supports link, LinkedIn, and post fields per project for flexible attribution Initial stand up of this website took an entire Saturday many years ago; working with Claude it was completely overhauled in ~1-2 hours

April 19, 2026 · 1 min · Kevin Boller