Hi, I’m Kevin Boller

Advisor, operator, investor, and sports fanatic. Deep financial and analytical background, working at the intersection of data, analytics, and AI for several years.

My focus is on building data and AI infrastructure, workflows, and products that grow revenue, generate operational efficiency, and drive enterprise-wide adoption.

Having executed across finance, product, and business intelligence, I understand what it takes to move from insight to action at scale.

Recent Projects

View all →
AI-Native House Manager App (Next.js + Supabase)

Building an AI-native household management app designed for busy parents. Provides households with an intuitive application that learns more about your family and improves over time. Eliminates the setup, development, maintenance, API-cost tracking, and overall burden of building with Claude Cowork/Claude Code, while delivering a comprehensive household management solution that drives actionable workflows rather than piecemeal outputs, like an email digest of the week ahead.

Tech stack: Next.js 16 (App Router), TypeScript, Supabase/Postgres, Claude API, Tailwind CSS + shadcn/ui, deployed on Vercel. Claude API calls run server-side.

Applied AI features:

  • Agent email triage: Gmail integration with a per-sender monitoring gate. Claude triages opted-in senders: summarizes, extracts structured data, classifies, drafts replies, and surfaces everything in an Action Needed queue
  • Family context layer: Server function assembles a structured prompt block from the DB for Claude API calls. Structured context upfront means outputs are more deterministic and consistent across features
  • Skill-based AI behaviors: AI tasks (weekly digest generation, email triage, assistant Q&A) are encoded as versioned skill files that capture domain rules and edge cases. Skills define the expected behavior and are independently improvable without touching application code
  • Week-ahead digest: AI-generated “Next Two Weeks” summary card surfaces upcoming health appointments, school events, vendor visits, and tasks. Refreshable on demand
  • Draft → Approve → Act pattern: The AI never takes unilateral action. The focus is on keeping humans in the loop before anything is sent or committed
  • Telemetry on every AI call: input_tokens, output_tokens, cache_read_tokens, latency_ms, and prompt_version captured per feature at build time. Usage tab shows API cost by day, supporting per-feature cost tracking and prompt regression debugging

Key technical work:

  • 8-module app: Dashboard, Email Triage, Kids Health, Car Maintenance, Home Vendors, Utilities, Pets, and a Calendar screen (FullCalendar supporting different school feeds)
  • 40+ table Postgres schema in Supabase, including staging/prod split via Supabase CLI with a migration workflow
  • Deployed to Vercel with feature-branch workflow
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
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)
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.

Python syntax I used to search for on Stack Overflow, Claude handled directly. When I ran into issues with the synthetic dataset, I asked Claude to review it and tell me if it saw the same problems that I did. Once we agreed on fixes, Claude normalized the data and kept a running record of the adjustments. Last, what would have been an intractable challenge for my front-end skills took about 20 minutes of iteration to produce a finished dashboard.

I’ve been using AI daily for analysis for several years, but the past few weeks ramping on Claude Code and Claude in Excel have felt much different. The ability to move from concept to working product quickly and spend most of my time on insights rather than implementation is here.

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

Recent Posts

People watching sports at a bar

The Jagged Future of Live Sports — Part 1

One of my favorite generative AI/AGI writers is Professor Ethan Mollick, whose latest book is “Co-Intelligence: Living and Working with AI” and who is also the author of the substack One Useful Thing. As someone with early access to the latest frontier models from labs including Open AI and Anthropic, he’s one of my first reads when the latest models are released so that I can quickly be up to speed on the advancements and new capabilities. And while Professor Mollick finds AI remarkable and shares compelling use cases for the technology, he also talks about “the jagged frontier”. The jagged frontier is a concept that describes the uneven and unpredictable boundaries of AI capability. In essence, AI can perform complex, expert-level tasks, such as math and coding, with remarkable efficiency and efficacy, while failing at seemingly simpler tasks that lie outside the capability reach of the models. In his GPT-5.5 post, he mentions that “every few months a new model arrives…[and] the size of the leaps grows each new release cycle. The jagged frontier is still there. It is just much further out than it used to be”. ...

April 27, 2026 · 8 min · Kevin Boller

Economics of Home Ownership Deep Dive

Evaluating home purchase scenarios and associated investment opportunity costs. Photo by Breno Assis on Unsplash. Part 1 of Home Purchase Scenario Model Analyses. Introduction. For those who have previously considered or are considering the purchase of a home, then this post is meant for you to help customize your scenarios and vet your available options. I hope that you find the included financial model, available here, informative as you evaluate potential home purchase scenarios. This post and model should help you understand the full costs associated with home ownership and the inherent opportunity costs of not investing downpayment and ongoing maintenance costs in other assets, e.g., passive market ETFs. ...

August 10, 2020 · 20 min · Kevin Boller

Python for Finance: Robo Advisor Edition

Extending Stock Portfolio Analyses and Dash by Plotly to track Robo Advisor-like Portfolios. Photo by Aditya Vyas on Unsplash. Part 3 of Leveraging Python for Stock Portfolio Analyses. Introduction. This post is the third installment in my series on leveraging Python for finance, specifically stock portfolio analyses. In part 1, I reviewed a Jupyter notebook with all of the code needed to extract financial time series data from the Yahoo Finance API and create a rich dataframe for analyzing portfolio performance across individual tickers. The code also included a review of some key portfolio metrics with several visualizations created using the Plotly library. In part 2, I extended Part 1’s analyses and visualizations by providing the code needed to take the data sets generated and visualize them in a Dash by Plotly (Dash) web app. ...

April 6, 2019 · 16 min · Kevin Boller

Python for Finance: Dash by Plotly

Expanding Jupyter Notebook Stock Portfolio Analyses with Interactive Charting in Dash by Plotly. Part 2 of Leveraging Python for Stock Portfolio Analyses. In part 1 of this series I discussed how, since I’ve become more accustomed to using pandas, that I have signficantly increased my use of Python for financial analyses. During the part 1 post, we reviewed how to largely automate the tracking and benchmarking of a stock portfolio’s performance leveraging pandas and the Yahoo Finance API. At the end of that post you had generated a rich dataset, enabling calculations such as the relative percentage and dollar value returns for portfolio positions versus equally-sized S&P 500 positions during the same holding periods. You could also determine how much each position contributed to your overall portfolio return and, perhaps most importantly, if you would have been better off investing in an S&P 500 ETF or index fund. Finally, you used Plotly for visualizations, which made it much easier to understand which positions drove the most value, what their YTD momentum looked like relative to the S&P 500, and if any had traded down and you might want to consider divesting, aka hit a “Trailing Stop”. ...

July 13, 2018 · 14 min · Kevin Boller

Scaling Financial Insights with Python

My two most recent blog posts were about Scaling Analytical Insights with Python; part 1 can be found here and part 2 can be found here. It has been several months since I wrote those, largely due to the fact that I relocated my family to Seattle to join Amazon in November; I’ve spent most of the time on my primary project determining our global rollout plan and related business intelligence roadmap. ...

March 4, 2018 · 30 min · Kevin Boller