Skip to main content
INDEX / PROJECTS / 2015–2026

Selected Work

I love making computers do things no one's seen before. For people I think are trying to make the world a better place. My freelance work pays for my journalism habit. I take on 3 projects at a time, and 2 slots are open→ grab a slot

Last updated 2026-09-30 · Terminal Tools
NBC NewsGothamist / WNYCKnight FoundationGlobal Energy Monitor44 projects · 2015–202634 shipped since 2024101 technologies

Subway Builder

personalai-assisted ↗
javascript · simulation · transit · game modding

The mission, as I see it: hyperstitioning public transit into every American city. Subway Builder is a game created by Colin Miller, a member of Room 302 Studio, in 2025 — a sort of Ender's Game for transit, using realistic simulations to let train-people SHOW their elected leaders what is and is not possible.

Subway Builder screenshot 1Subway Builder screenshot 2Subway Builder screenshot 3Subway Builder screenshot 4Subway Builder screenshot 5Subway Builder screenshot 6
+ 1 more →

Vulpes

personalai-assisted ↗
lua · swift · metal · rust · zig · tauri · flipper zero

I believe that if I spend so much time looking at and thinking about my computer, I want to have full control over the fonts and colors I look at — to make it cinematic, aesthetic, "me," and different. And it's so dope that when I go to coffee shops (true story), people stop me and say "that setup looks sick, can I give you my card in case I need a dev?"

Vulpes screenshot 1Vulpes screenshot 2Vulpes screenshot 3Vulpes screenshot 4Vulpes screenshot 5Vulpes screenshot 6
+ 1 more →
neo4j · sqlite · gephi · network analysis · cypher

In 2021, WNYC/Gothamist got the NYPD's full civilian-complaint dataset through a FOIL request and handed it to me — every complaint and every officer since 2000, including officers named only as witnesses and complaints the CCRB never substantiated. Noisier than the data ProPublica had published a year earlier, but for mapping a network that noise is the signal: being named on a complaint alongside another officer, even an unfounded one, means the two of them interacted in a way the public noticed.

Clusters of NYPD Misconduct screenshot 1Clusters of NYPD Misconduct screenshot 2

Pixel Canvas

personalai-assisted
esp32-s3 · arduino · lovyangfx · bash · rest api

I spend all day looking at screens that want something from me. Pixel Canvas is a screen that doesn't — a networked 320×240 display that sits on my desk and quietly shows me my own life in the Vulpes palette.

Pixel Canvas screenshot 1Pixel Canvas screenshot 2Pixel Canvas screenshot 3Pixel Canvas screenshot 4Pixel Canvas screenshot 5
+ 2 more →

Flipper Zero Tools

personalai-assisted ↗
flipper zero · c · embedded · floyd–steinberg dithering

Two small apps for the same tiny, useless-but-perfect screen: flipper-space-calculators and flipper-generative-art.

Flipper Zero Tools screenshot 1Flipper Zero Tools screenshot 2Flipper Zero Tools screenshot 3Flipper Zero Tools screenshot 4Flipper Zero Tools screenshot 5Flipper Zero Tools screenshot 6
+ 1 more →
d3.js · network analysis · data visualization

Global Energy Monitor's Ownership Tracker is a giant network: thousands of owners — governments, corporations, private equity firms, and the intermediaries between them — connected to tens of thousands of energy-related assets around the world. It's a rich dataset that had been genuinely hard to explore, so we built a set of tools to open it up. You can trace the full ownership chain behind a single project (down to the stakes held by the likes of BlackRock and EDF), see the whole energy-asset portfolio connected to one owner, and screen owners by what they actually own — coal-based steel plants, proposed mines in BRICS countries, captive gas plants for data centers.

Global Energy Ownership Tracker screenshot 1Global Energy Ownership Tracker screenshot 2Global Energy Ownership Tracker screenshot 3Global Energy Ownership Tracker screenshot 4Global Energy Ownership Tracker screenshot 5Global Energy Ownership Tracker screenshot 6
+ 1 more →

Paramilitary Leaks

collaborativeai-assisted
nuxt · vue · search · data visualization

I was perusing Mastodon, as one does, and noticed a post from journalist Micah Lee saying he was exploring a 200GB dump from American paramilitary groups — a leak made possible through the incredible bravery of John Williams, who infiltrated these groups and exfiltrated the data. I hadn't heard of the dump before, and immediately sent Micah an email offering to help with any dataviz.

Paramilitary Leaks screenshot 1

NBC News Big BoardNBC News

clienthuman-only
d3.js · javascript · touch interface · election data

It started as a prototype I made in January — a touchscreen way to explore county-level election results — that I demoed to Adam, then to Steve, then to Marc, until it got the budget and became the real thing: the "Big Board" Steve Kornacki wields on air, live, in front of ten to nineteen million people.

NBC News Big Board screenshot 1NBC News Big Board screenshot 2NBC News Big Board screenshot 3NBC News Big Board screenshot 4
ffmpeg · python · generative art · data visualization

I started filming my rides in case something went wrong. A helmet cam is insurance — if an accident or something crazy happened, at least there'd be a tape. But over a few years the reason quietly changed on me. I'd flip it on for the beautiful stuff instead: a good stretch of road, the light, whatever cool thing was happening. One time I caught a train and a helicopter lining up over the Hudson River exactly as I rode past.

Motorcycle Meta-Visualizations screenshot 1Motorcycle Meta-Visualizations screenshot 2Motorcycle Meta-Visualizations screenshot 3Motorcycle Meta-Visualizations screenshot 4Motorcycle Meta-Visualizations screenshot 5
+ 2 more →

Archive · by year

35

2026

16 projects

Dataviz

2
Connectology screenshot 1
Connectology screenshot 2
collabai-assisted· nuxt 3 · vue 3 · d3
Coach Artie — Memory Analysis screenshot 1
Coach Artie — Memory Analysis screenshot 2
Coach Artie — Memory Analysis screenshot 3
collabai-collaborative· python · t-sne · hdbscan

Art

2
TV Station screenshot 1
TV Station screenshot 2
ai-assisted· typescript · deno · smallweb
Butt Math screenshot 1
Butt Math screenshot 2
ai-assisted· svg · nuxt · vue

Hardware

3
Amen Slicer screenshot
· c++ · makefile · python
Vulpes Devices screenshot 1
Vulpes Devices screenshot 2
ai-assisted· flipper zero · onionos · theming

Apps

1
Tempo screenshot 1
Tempo screenshot 2
ai-assisted· swift · swiftui · ios

Tools

8
Terminal Tools screenshot 1
Terminal Tools screenshot 2
Terminal Tools screenshot 3
ai-assisted· rust · go · python
Scrapbook Core screenshot 1
Scrapbook Core screenshot 2
Scrapbook Core screenshot 3
ai-assisted· javascript
GitHub Sloth screenshot 1
GitHub Sloth screenshot 2
ai-assisted· rust
clipgoblin screenshot 1
clipgoblin screenshot 2
clipgoblin screenshot 3
ai-assisted· swift
cyberdeck-saver screenshot 1
cyberdeck-saver screenshot 2
ai-assisted· swift · metal · macos
Vulpes Browser screenshot 1
Vulpes Browser screenshot 2
Vulpes Browser screenshot 3
ai-assisted· swift
vulpes.nvim screenshot 1
vulpes.nvim screenshot 2
vulpes.nvim screenshot 3
ai-assisted· lua
Vulpino screenshot 1
Vulpino screenshot 2
Vulpino screenshot 3
ai-assisted· swift

2025

7 projects
WebSDR VCV screenshot 1
WebSDR VCV screenshot 2
ai-assisted· c++ · vcv rack · cardinal
paperclip screenshot 1
paperclip screenshot 2
ai-assisted· swift · swiftui · kotlin
towntuner screenshot 1
towntuner screenshot 2
ai-collaborative· swift · swiftui · ios
Newswell Studio screenshot 1
Newswell Studio screenshot 2
ai-assisted· nuxt 4 · vue · wordpress
OpenRouter Census screenshot 1
OpenRouter Census screenshot 2
ai-assisted· javascript
Smallbot MCP screenshot 1
Smallbot MCP screenshot 2
Smallbot MCP screenshot 3
ai-enhanced· mcp · ai · web generation
NOAA Satellite CLI screenshot 1
NOAA Satellite CLI screenshot 2
NOAA Satellite CLI screenshot 3
ai-assisted· typescript

2024

4 projects
Obsidian Analysis screenshot 1
Obsidian Analysis screenshot 2
Obsidian Analysis screenshot 3
ai-collaborative· python · embeddings · umap
Hand-Tracking & Generative Art screenshot 1
Hand-Tracking & Generative Art screenshot 2
Hand-Tracking & Generative Art screenshot 3
ai-assisted· computer vision · midi · webgl
showtouch screenshot 1
showtouch screenshot 2
ai-assisted· python · ascii art · terminal
EXIF Printer screenshot 1
EXIF Printer screenshot 2
ai-assisted· photography · exif · print design

Earlier

8 projects

Journalism

5
The Margin screenshot 1
The Margin screenshot 2
The Marginhuman-only· mapping · satellite imagery · scrollytelling
Long Lead screenshot 1
Long Lead screenshot 2
Long Leadhuman-only· scrollytelling · data visualization · network analysis
COVIDcast screenshot 1
COVIDcast screenshot 2
clienthuman-only· data visualization · javascript · covid-19 data
NBC News Specials screenshot 1
NBC News Specials screenshot 2
NBC News Specials screenshot 3
NBC Newshuman-only· javascript · d3 · longform design
Dataproofer screenshot
collabhuman-only· javascript · electron · data quality

Art

1
Twitter Artbot screenshot 1
Twitter Artbot screenshot 2
Twitter Artbot screenshot 3
· coffeescript · html · javascript

Games

1
Motorcycle.p8 screenshot
collabhuman-only· pico-8 · lua

Tools

1
Coach Artie screenshot 1
Coach Artie screenshot 2
collabai-enhanced· node.js · typescript · discord.js