Proof

Things I’ve shipped on personal time

Small apps against publicly available problems — built to prove the patterns I write about actually work in production. The consulting practice is what I do for clients. These are the receipts.

By the numbers

Shipped

Screenshot of the High School Pathways planner showing credits earned, gen-ed coverage, and a savings calculator

Make the complex obvious

High School Pathways

Ogden School District’s degree-requirement PDF rebuilt as a living visual roadmap. Parents see credits earned, gaps to close, and the next decision they need to make.

What shipped

  • Static dashboard that translates a dense policy PDF into a status bar + course timeline
  • No login, no tracking — designed for a parent on a phone at the kitchen table
  • Same lens used in the consulting work: find the moment of decision, surface the constraint, make the next step obvious
Screenshot of the Economic Dashboard showing cycle-signal charts with recession bands and a yield-curve read

Live data, plain-language reads

Economic Dashboard

Live macro indicators from FRED — Buffett indicator, yield curve, employment, housing — with a running notebook of what each move means. Refreshed weekdays by a GitHub Action.

What shipped

  • FRED data pipeline: 27 indicators pulled, validated, and committed daily — runs in this repo
  • Dashboard with reference zones, presets, and a raw/relative toggle (landing here in Phase 2)
  • Clips: a tagged, monthly-archived notebook of what each macro move actually means (Phase 3)
In flight · porting from GitHub Pages
Screenshot of the Salary Dashboard showing data-role base-salary panels and methodology callout

Compensation evidence

Salary Dashboard

Data-role salary panels from ai-jobs.net postings: base salary only, USD, global, with role classification, per-role outlier trim, sample-size gates, and explicit methodology notes.

What shipped

  • ai-jobs.net pipeline adapted into this repo: fetch, classify, trim, aggregate, and publish static data
  • Recharts dashboard for postings, median base trends, recent distributions, experience levels, remote share, country comparison, and summary table
  • Methodology guardrail: base salary from ai-jobs.net is kept separate from levels.fyi total compensation
Live · ai-jobs.net base salary source
Screenshot of the Browser GIF and Meme Maker tool for captioning images and converting screen recordings into platform-sized GIFs

No-upload media workflow

Browser GIF & Meme Maker

A browser-native meme and GIF maker: place any number of Impact captions on a photo, add a caption bar above it, or convert a short screen recording with trim, boomerang playback, filters, and target-size compression — without sending source files to a server.

What shipped

  • React island mounted inside Astro so the heavy ffmpeg workflow only loads on the tool page
  • Client-side conversion with file picker, drag-and-drop, clipboard paste, preview, and download
  • Platform-aware target-size mode that retries with lower width, FPS, and palette size when needed
  • A still-image path that skips ffmpeg entirely — canvas straight to PNG, so photo memes export instantly
  • Caption geometry as a tested pure module, sized in fractions of the frame so text holds its weight at any export size
  • Free-placement caption layers with drag-to-position, and keyboard nudging so every layer stays reachable without a pointer
  • Panel templates (two-panel reaction, before/after, 2x2, escalating list) shipped as zone layouts over the user’s own pictures — no third-party meme images hosted
Screenshot of the Ogden Home Finder with housing stats and an interactive map of listings

Search → ranked output → delivery

Ogden Home Finder

A living catalogue of Ogden-metro housing. A daily Claude task scrapes 2BR rentals, tracks price history and days-on-market, and renders everything on an interactive map and filterable table — with for-sale homes landing next.

What shipped

  • Daily scheduled scrape merged into a cumulative JSON catalogue with first-seen, price changes, and disappearances
  • Static page renders stats, an interactive Leaflet map, sortable table, and per-listing price sparklines — entirely client-side
  • Rent / Buy mode toggle wired up; rentals tracked today, for-sale listings landing next

The receipts, in depth

Two standing records back this up: the validation evidence — 27 series checked against source every weekday — and the build log, the full shipping cadence newest-first. If you’d rather not wait for the next entry,the writing is where the work-in-progress shows up first.