Projects
Tools I needed, so I built them, and then I put them where anyone can use them: AI tools for education and civic life, open-source templates, and the static-site plumbing under every site I run. The native apps have their own page.
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.
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 projectHarvey 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 projectThe 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 buildMinerva 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 projectAI-Powered Tools
Small tools I wanted for my own work in admissions, teaching, and civic life. Each one does one thing.
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 projectPolitical 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 projectReddit 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 projectStylized 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 projectURL to Markdown Converter
Turn any web page into a Markdown file you can save or share. Simple, and I use it constantly.
View projectUniversity 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 projectPDF Portfolio Generator
Turns a LinkedIn profile into a clean PDF portfolio you can send to someone.
View projectD.A.V.I.D.
Daily Antifascist Video of Inspired Defiance. A video a day, as a way of showing up.
View projectVintage 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 projectModern 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 liveOne 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 projectInfrastructure & Platform
Everything I run is a static site on GitHub Pages with no servers. These are the systems that make that possible.
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 toolsCI 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 harnessesMultiple 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.