Skip to content
Always Shippable

Work from 2001 to 2018 · Part 1 of 12

The Portfolio I Froze in 2018

In 2018 I copied seventeen years of side projects onto one static site and went job hunting. It still runs. Here is the map of what is in it.

5 min read
A grid of portfolio cards with screenshot thumbnails for ad platforms, DocMapper and D3 demos
On this page

I left Oath in March 2018 and started at the Allen Institute for AI in May. In the gap I did what you do: I went looking for the work I was proudest of, so I could show it to strangers. It was scattered across old drives and dead intranets, so over a few weeks in February and March I copied all of it into one directory, wrote a landing page over it, and called that my portfolio.

That directory has sat untouched ever since. I opened it again in 2026, expecting to spend a day resurrecting it. It took one command. This post is the map of what’s in there, and the start of a series where I go through it one project at a time.

What the snapshot actually is#

A single folder of static files with a card grid on top of it: default.htm, split into Products, Demos, and Patents. No build step, no bundler, nothing to deploy. Each card is a thumbnail and a one-line description pointing at a gallery of screenshots, a video, or (for a good number of them) the live thing itself.

The portfolio landing page, a card grid of Products led by Audience Planner above a Demos section
The landing page of the portfolio, as I left it in March 2018.

The card copy is the pitch I was making to hiring managers in 2018, which is why it reads the way it does. “Explore the TV landscape.” “What industries should a network target?” I wasn’t writing for posterity. I was writing for a phone screen next Tuesday. The demos overview video sitting in the folder was recorded in 2018 for the same job hunt, which makes it the closest thing this archive has to a time capsule.

Some of this was the job, and some of it nobody asked for#

I want to be straight about which was which. The Bing work was my job. The ONE TV platform at AOL was my job. Plenty of what’s in this folder was work somebody requested and I shipped.

But the parts I’d show you first weren’t assigned to anyone. DocMapper’s visual ring, the crossfilter and dc.js filtering approach, the PivotViewer Audience Planner, the folder of D3 demos: those I dreamt up and built in 20% time, and several of them stopped being side projects. The Audience Planner, DocMapper, and sell-side targeting all became flagship products for the company that employed me at the time. It happened often enough that I no longer think it was luck.

Seventeen years, four employers#

Almost everything in the folder was made at work, so the folder has the shape of a career: Attenex from 2001 to 2007, straight out of school; Microsoft Bing from 2008 to 2010; PrecisionDemand, a TV ad-tech startup, from 2010 to 2014; and then four years inside AOL, which acquired us in 2014 and was renamed Oath around me in 2017. I made Principal there in 2016.

Where the portfolio came from, 2001 to 2018Four employers back to back with only one real gap, in 2007: Attenex 2001 to 2007, Microsoft Bing 2008 to 2010, PrecisionDemand 2010 to 2014, and AOL then Oath 2014 to 2018. The 3D visualization work at Attenex sits at one end and the TV buying platforms at the other.

The through-line isn’t a technology. The early work is OpenGL and DirectX, the middle is Silverlight, the late work is D3 and AngularJS, and every one of those choices looks dated now. What actually persists is a habit of pointing a visualization at a pile of data nobody could read.

Why it still runs in 2026#

Because it’s all static files, and static files don’t rot the way applications do. Serving the whole portfolio in 2026 is one command:

npx http-server . -p 8123 -c-1

Then open default.htm. Every internal link in the site is root-absolute, so the directory has to be the web root. Opening a file directly off disk breaks the styling and the navigation, which is the only trap.

Two things are genuinely dead: the Silverlight client with its WCF backend, because no browser has Silverlight any more, and an ASP.NET MVC explorer whose API was switched off years ago, though a static equivalent of it survives in the D3 demo set. Everything else (the galleries, the interactive dashboards, the videos) comes up mostly as it did, with the kinds of rot you’d expect of decade-old pages. Each post in this series covers its own project’s damage.

The map of the series#