Work

Real problems. Real outcomes.

Client Work

Paid engagements — production systems built and maintained for operator-led businesses.

Fintech / Specialty Lending

CSL Capital

Problem

Manual risk review. No ML. Reports took 30 minutes to run.

Outcome

840 API calls reduced to 6. Reports now run in 26 seconds.

PythonBigQueryMLGCPHubSpot
Home Services

A Residential Solar & Home-Services Operator

Problem

No forward visibility into installs. Sales and ops on different numbers.

Outcome

First accurate 6-month install forecast, on a live executive dashboard.

DOMOPythonETLForecasting
Healthcare / Nonprofit

An Autism-Services Provider

Problem

Staff running the same manual workflows 15 minutes at a time, plus a monthly process that consumed a full hour to harden.

Outcome

Both daily processes cut to <5 min. Monthly hardening down from 1 hr to 20 min.

Process AutomationPythonWorkflow Design

Live Demos & Experiments

Personal R&D — public apps I built to pressure-test tools and ideas. Not client work, but the same engineering discipline.

Sports Analytics

DroughtWatch

Problem

NCAA scoring droughts influence outcomes — no tool tracked them.

Outcome

305K plays analyzed. 350+ teams. Live during March Madness.

Next.jsSupabasePythonESPN API
Sports Analytics

OC Tendencies

Problem

No public tool for scouting OC play-calling tendencies.

Outcome

113K plays, 44 coaches profiled, used for real game prep.

PythonCFBD APISupabaseNext.js
Sports / Consumer

Rival Alerts

Problem

Rival fans miss the moment their team wins the day.

Outcome

Multi-sport rival-loss alerts with auto-generated roast copy. CFB + MLB.

Next.jsNeonPythonResend
Sports Analytics

Pickleball Strategy Lab

Problem

No tool surfacing real shot-strategy patterns across pickleball skill tiers.

Outcome

304K shots classified, 935 games, interactive dashboard built in an afternoon.

PythonBigQueryGemini VisionRecharts

Working on something similar?

Start with a diagnostic — a fixed-scope read of your data stack, credited toward the build.

See how I'd approach yours →