Featured

Educational Model Spec

An open-source spec for how AI should behave in a classroom. It puts learning and the teacher first and automation last, and it says so in terms a school could actually hold a vendor to.

View on GitHub
Native Apps

Designed, built, and shipped end to end

The apps (Archive Watch, Tidbits Trivia, Bsky Dreams, and Boba Playbook) and the open-source template behind them have a page of their own: what each one is, what building it taught me, and where to try it.

Explore the apps

New in 2026

The newest things here: a civic tool for my kids' school district, a fantasy football advisor, and the plumbing that lets one person ship to every platform.

Civic · Live

Yes on 4A: Tell the Story of Our Schools

A volunteer-built storytelling toolkit for supporters of the Littleton Public Schools mill levy override on the November 2026 ballot. Story prompts by who you are, a Share Studio that hands your words to each network with the least friction the platform allows, a share-card generator, a cost calculator that shows the county assessor's actual math with every source linked, and a team playbook. Every fact links to where it came from, because a campaign like this should be able to show its work.

yeson4a.org View project
Data & Simulation

Harvey Cup Draft Assistant

A fantasy-football projection engine, draft simulator, and live advisor that runs inside the Yahoo draft room. Blends four sources' stat projections, scores them under the league's own rules, values against a simulated replacement level, and picks a strategy by running thousands of drafts and seasons scored on title odds. Every clever rule was tested, and most of them lost. Twenty-six mock drafts and two real ones, every pick graded against the advice.

Open the board View project
Open Source · Templates

The App Template

One open-source starter, written so Claude Code can use it, for building a shared-core app with native shells for phones, tablets, desktops, TVs, and the web, with feature parity. It grew one screen at a time (Dual, Tri, Quad, Quint) and is now a single rolling Universal App Template, with the store-submission pipelines and device harnesses from the live apps vendored in.

View project How I build
AI & Education

Minerva Web App Template

An ethical-first template for Minerva University students and staff to build learning-oriented web apps with Gemini CLI (or any AI tool). The Minerva AI guardrails (human-centered learning, named accountability, zero trust on student data) are wired into how the project works instead of sitting on a page you read once. Refreshed in August 2026 with multi-tool support.

View project

AI-Powered Tools

Small tools I wanted for my own work in admissions, teaching, and civic life. Each one does one thing.

AI & Education

Reverse Accomplishments Search

A search tool that starts from what high school students have actually done and works backward, instead of starting from the college and working down.

View project
AI & Civic

Political Persona Post Generator

See how each political viewpoint might write up the same story or event. An exercise in perspective-taking and media literacy, and a reminder that every outlet is choosing what to emphasize.

View project
AI & Creative

Reddit Weaver

Takes Reddit stories and rewrites them as literary fiction. An experiment in what changes when the same events get told with more care.

View project
AI & Design

Stylized Map Generator

Make stylized road maps and export them at exactly the size you need. I built it for visual storytelling; it turned out to be useful for a lot of other things.

View project
Utility

URL to Markdown Converter

Turn any web page into a Markdown file you can save or share. Simple, and I use it constantly.

View project
AI & Education

University Search

A university search tool with filters that actually matter to a family. I built it for my middle son's college search and then left it up for everyone else's.

View project
Portfolio

PDF Portfolio Generator

Turns a LinkedIn profile into a clean PDF portfolio you can send to someone.

View project
Activism

D.A.V.I.D.

Daily Antifascist Video of Inspired Defiance. A video a day, as a way of showing up.

View project
Creative

Vintage Typewriter

A vintage typewriter that runs in any web browser. I own the real thing, and this is for when I don't have it with me.

View project
Archive

Modern Twitter Archive

A browsable archive of my nineteen thousand tweets. I left the site, but I did not want to lose that many things I had said.

View project View live
Creative

Textshot

Turn a passage of text into a retro image you can share.

View project
Community

One Typed Page Mobile

A phone-friendly viewer for One Typed Page, so the typewriter community's pages are easier to read on a phone.

View project

Infrastructure & Platform

Everything I run is a static site on GitHub Pages with no servers. These are the systems that make that possible.

Platform

Learning is Change CMS

Learning is Change itself: twenty years of WordPress moved to JSON and static files, with every URL, comment, and feed kept working. LiC Admin, the editor I write in now, is a small app that talks to GitHub and renders the whole site in about five seconds, with no backend at all.

View admin tools
Infrastructure

CI Fleet & Device Harnesses

Archive Watch's content pipeline is 30+ scheduled GitHub Actions workflows that discover titles, audit rights, check that every file plays, and publish one catalog to every app. Keeping that fleet honest meant building the compute/apply lock split, budgets that publish, a self-healing sweeper, a health auditor where a red X is reserved for broken, and a product-health dashboard that reads every store's metrics. On the device side: scenario harnesses that drive real Apple TVs, Pixels, Fire TVs, and Rokus and read the screen back with OCR, so a feature ships when it has been seen working. All of it is documented in the Universal App Template.

CI fleet engineering Device harnesses
Infrastructure

Multiple Ongoing Projects & Sites

Eleven sites: learningischange.com, archivewatch.org, tidbitstrivia.com, bskydreams.com, bobaplaybook.com, yeson4a.org, bothand.learningischange.com, theapplehunter.learningischange.com, quantifiedben.learningischange.com, whitfordwest.family, and masculinitydetox.org. Each one is for a different group of people. All of them are static sites on GitHub Pages with no servers to run.

How I decide what to build

Every project starts with a real need, usually mine. I build tools that solve one specific problem for students, for teachers, or for me. I build most of them with Claude, and I still decide what is worth building and whether it is done. I want each one to work, to be open, and to be something someone else can learn from or build on.