Agentic Demand Forecasting Data Product with Automated Workflows

Led a 0-to-1 subscription, advertising, and engagement demand forecasting data product. When you’re streaming 50k+ events per year, you cannot possibly forecast demand without an automated, scalable data infrastructure and continually improving ML-based forecasting models. You also should be able to dynamically compare alternative portfolio scenarios, such as decisions to add a new rights contract, to optimize revenue and profitability. In our second iteration after our initial Streamlit application, I led the development of a Sigma-based AI and data application that projects signups, subscribers, subscription and ad revenue, and engagement at the contract level across all of our sports verticals. The underlying Python forecasting engine uses a cohort-based retention framework, historical plan mix, and viewership and live minutes 1P data to allocate revenue across signup, engagement, inactive, and dormant components. Ad revenue layers in based on forecasted engagement and inventory monetization, producing contract-level base forecasts that can also be compared dynamically against alternative portfolio scenarios. ...

January 5, 2026 · 2 min · Kevin Boller

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