The workshop / designed, coded, shipped solo

Pete builds things.

By day, Pete runs a production organization. Nights and weekends, he designs, codes, and ships his own products end to end, from database schema to browser extension to the marketing site. The same obsession with craft that drives the reel, pointed at software. Both products below are live, in production, and built entirely by one person.

No. 01 / Consumer app / Live

WantHave

“List what you Want, track what you Have.” A free shopping companion that folds shareable wishlists, automatic order tracking, self-filing receipts and discount codes, price-drop alerts, gifting, and a digital closet into one app. Private by design. Discovery comes from friends, not an algorithm.

RoleDesign, code, product / all of itStackNext.js · Postgres · ClaudeSurfaceWeb · Chrome · Safari (Mac/iOS)StatusIn production
A tour of wanthave.app: the homepage, how it works, real public lists, and the comparison page
wanthave.app / home / how it works / real lists / compare

“Your shopping life is scattered across a dozen tabs, three inboxes, and a screenshot you’ll never find again.”

WantHave is an unusually wide surface for one person: a Next.js web app of roughly 158,000 lines of TypeScript, spanning about 80 pages, 115 API routes, and a 55-table Postgres schema. Add a Chrome extension, a Safari extension ported to Mac, iPhone, and iPad through an Xcode wrapper, and a custom MCP server that lets Claude work as an editorial curator against the production data model.

The heart of it is email intelligence. A hand-rolled Gmail OAuth client feeds a ~3,300-line sync engine that reads order confirmations, shipping updates, refunds, and promo emails and turns them into structured purchases, shipments, and discount codes. Parsing is hybrid by design: fast heuristic parsers for known vendor patterns, with an LLM extraction layer behind them. A regression suite of anonymized real-email fixtures runs in CI, and self-healing crons flag anything the pipeline failed to understand.

The AI architecture is deliberately routed. A frontier model does low-volume editorial curation with live web research, under a hard monthly spend budget. A fast model handles the bulk: receipt parsing, discount extraction, and classifying products into Google’s ~5,600-category taxonomy through a two-stage prompt, built after the single-prompt approach proved impossible to run reliably. Email-derived inference can route through AWS so that data stays inside the app’s own tenancy.

Around all of that runs the machinery of a real consumer product: 22 scheduled jobs handling package tracking across six carriers, Amazon price monitoring, image moderation with per-label confidence policies, TOTP two-factor auth, guest gift flows with surprise mode (reservers stay invisible to the list owner), and a checkout extension chip that fills coupon fields the way React expects.

  • ~158,000 lines of TypeScript, solo
  • 55-table Postgres schema, 68 migrations
  • 115 API routes · 22 scheduled jobs
  • Chrome + Safari extensions (Mac, iPhone, iPad)
  • Hybrid heuristic + LLM receipt parsing with CI fixtures
  • Custom MCP server: 23 tools, 9 curator personas
  • Package tracking across 6 carriers with live delivery map
  • Private by design. Monetized by affiliate links, never data

Visit wanthave.app

No. 02 / Creative tool / Live

What the GIF

A frame-perfect video-to-GIF maker for people who present for a living. Trims for Slides, Keynote, and Slack, 100% in your browser. No uploads, no signup, no watermark, no “let me just check with IT.”

RoleEverything, including the codecsStackVanilla JS · zero dependenciesWeightOne ~9,500-line fileStatusIn production

“Put motion in the deck. Keep it off the cloud.”

Adding a meme caption to a GIF in What the GIF
Captions
Frame-accurate stepping in What the GIF
Frame-perfect trims
Sequencing multiple clips on the What the GIF timeline
Multi-clip sequencing
Adjusting playback speed in What the GIF
Speed & boomerang

Naturally, every demo above is a GIF exported from the tool itself.

Most tools in this category ship ffmpeg compiled to WebAssembly and wire up a UI. What the GIF takes the constraint that nothing ever leaves the browser to its logical end: the entire codec layer is written from scratch in vanilla JavaScript, in a single static file with zero runtime dependencies and no build step.

That means a hand-written GIF89a encoder. Median-cut palettes refined with k-means passes. Floyd-Steinberg dithering through a 15-bit color lookup table. A from-scratch LZW compressor with gifsicle-style optimizations: inter-frame deltas that write only each frame’s changed pixels, identical-frame merging, and an optional lossy mode that trades pixel accuracy for smaller files. MP4 export pairs the browser’s H.264 encoder with a hand-assembled MP4 muxer built byte by byte. APNG export re-chunks PNG frames with a hand-rolled CRC32 that also powers a from-scratch ZIP writer. The live file-size estimate doesn’t guess. It encodes sample frames through the exact export pipeline and extrapolates.

The privacy claim is enforced by architecture, not promised in a policy. The page’s Content-Security-Policy blocks scripts from making any network call that could carry your media, so uploads aren’t just avoided. They’re technically impossible. Around the codecs sits a real editor: a ten-clip timeline with J/K/L keyboard shortcuts, crop, speed, boomerang, captions, a built-in tab recorder, and project files you can save and reopen. Even distribution is engineered. A data-driven generator produces 86 SEO landing pages and guides, verified in CI on every deploy.

  • Hand-written GIF89a encoder + LZW compressor
  • From-scratch MP4 muxer, APNG assembler, ZIP writer
  • Zero uploads, enforced by Content-Security-Policy
  • Live size estimation running the real encode pipeline
  • 10-clip timeline, frame-accurate J/K/L editing
  • Built-in screen recorder, straight into the editor
  • Android Motion Photo extraction via XMP parsing
  • No accounts, no watermarks, no servers

Visit whatthegif.com

The workshop is where the day job’s instincts get sharpened.

The AI workflows Pete champions at Credit Karma aren’t borrowed from a conference talk. They’re things he builds, breaks, and ships himself. Read about the leadership side.