Skip to content

Projects

Seven things built outside work hours. The pattern is usually the same: a plain JavaScript front end, an n8n workflow or a public API behind it, and a scope small enough that it actually ships. None of them are products. All of them get used.

Stock Analysis

An automated technical-analysis desk. Every trading morning an n8n pipeline reads a year of prices for the S&P 500 and Nasdaq-100, runs SMA, EMA, RSI, MACD, Bollinger Bands, OBV and the Stochastic Oscillator, and has Claude make three to five BUY, HOLD or SELL calls with a short reason. The picks post here and to Slack before the opening bell.

n8nMassive APILLM

LinkedIn Translator

Paste in an unpolished thought, pick one of twelve personas — Inspirational Visionary, Corporate Philosopher, Stoic Executive, Silicon Valley Oracle, LinkedIn Lunatic — and get back a post in that voice. The page posts to an n8n webhook, a model handles the rewriting, and the result comes back with a copy-to-clipboard button. Affectionate parody of a genre I read every day.

Vanilla JSn8nLLM

Dad Joke Generator

Six tones — silly and absurd, wholesome, punny, classic dad, tech and nerdy, and one marked dark humour — feeding a webhook that returns a setup and a punchline. The smallest possible version of the same architecture as the translator, which is exactly why it was worth building first.

Vanilla JSn8nLLM

Tiny Traveler

Trip planning for families whose travelling companions are under five. The form captures who is coming and how old they are, where and when you are going, and what the family actually likes — parks, zoos, aquariums, playgrounds, food — along with dietary and mobility notes. A workflow builds the itinerary and emails it back.

Vanilla JSn8nIn progress

Global Time Converter

Compare a working day across several cities at once and drag a scrubber through the hours to find the overlap. Daylight saving is handled properly rather than assumed, which is the entire reason it exists. No backend — it runs completely in the browser.

Vanilla JSNo backend

World Cup 2026 Tracker

Schedule, standings and knockout bracket for the 2026 tournament across the USA, Canada and Mexico, pulled live from API-Football and normalised to Eastern time. Built for the straightforward reason that I wanted one page instead of five.

Vanilla JSAPI-Football

All About Ants

A loud, friendly explainer about worker, queen and soldier ants, with real photos and a quiz at the end. Written for young readers, and a useful reminder that an interface aimed at a five-year-old has nowhere to hide.

Vanilla JSFor kids

Also built: tools for learning networking

Learn Networking

The ones built to teach

The projects above are the ones I built for fun. There is a second set built to explain the job: subnetting rendered as a field of bits you can pull apart, an exploded TCP segment, the OSI stack taken to pieces a layer at a time, and the calculators that go with them — a VLSM designer, a summarizer, and a subnet calculator that shows its working.

  • Subnetting in 3D
  • TCP Packet Explorer
  • OSI Model Explorer
  • BitStream
  • Advanced MTR
See the learning tools →
Subnetting in 3DTCP Packet ExplorerOSI Model ExplorerNetLearn Directory