The Honest Portfolio: What I Learned from My Abandoned Projects

A post-mortem on two side projects I shipped halfway and walked away from. Sharing the lessons publicly because everyone has them and nobody writes about them.

· portfolio, meta, post-mortem

Most developer portfolios are highlight reels. Best work up top, no failures visible. The selection is honest in a narrow sense — every project shown is real — and dishonest in a much bigger one. The omissions are the lie.

Brittany Chiang’s site has four featured projects. Mine has fifteen years of work and I’ll show you the ones that didn’t make it.

sketchr — collaborative whiteboard, 2021

I built sketchr in three months over a sabbatical. Real-time WebRTC mesh, CRDT-backed canvas, decent infinite-zoom UX. I had 60 daily active users, mostly friends and a few strangers who’d found it on Hacker News.

Then Figma shipped FigJam.

I stopped working on sketchr the same week. The CRDT layer was something I was genuinely proud of — Yjs’s awareness API plus a custom undo stack that respected operational intent across users. None of that mattered. The market was solved overnight by a company with 50 designers, a brand, and the existing distribution.

What I learned: “Better than the alternatives” is a fragile moat when the alternatives have a billion-dollar parent. Pick problems where the entrenched players have a structural reason to keep doing them badly.

status-board v0 — 2022

A team-internal status page that read from Slack reactions. Idea: don’t make engineers fill out a status form, just react with 🟢 or 🔴 to a daily prompt. The bot aggregates.

I shipped it. Engineers loved it for two weeks. Then nobody updated it. Then we forgot it existed. Then I noticed it was still running, costing $14/mo, and shut it down.

What I learned: The “lazy interface” win (reactions instead of forms) was real, but two weeks of usage isn’t validation. The thing that needs validation is whether the team will still care in month three.

Why I list these publicly

Because every engineer has these projects. The interview question “tell me about a time you failed” gets canned answers because the canon of public-facing portfolios doesn’t include any failures. We collectively pretend everything we ship is permanent.

Listing the archive on a portfolio is a tiny act of resistance against that. It also makes the rest of the work more credible — you can tell the live projects are the genuinely good ones, because you’d have shown the bad ones too.