Work

Three projects I can talk about in depth, then the archive: 40 smaller tools, services and experiments that each taught me something specific.

Everything else

Most of these are private repos — ask me and I'll happily walk through the code.

Full-stack apps 14

flowboard Full-stack apps

Real-time collaborative Kanban board with live drag & drop sync

  • React
  • Socket.IO
  • SQLite

sniply Full-stack apps

URL shortener with click analytics dashboard

  • React
  • Chart.js
  • Express

splitpay Full-stack apps

Group expense splitter with min-cash-flow debt simplification

  • React
  • JWT
  • SQLite

pollhub Full-stack apps

Live-updating polling app

  • React
  • Socket.IO
  • Chart.js

markdown-notes Full-stack apps

Notes app with FTS5 full-text search and markdown preview

  • React
  • Express

habit-tracker Full-stack apps

Habit streaks engine with heatmap calendar

  • React
  • Express
  • JWT

bookmarkly Full-stack apps

Bookmark manager with link checker and Netscape import/export

  • React
  • Express

recipe-box Full-stack apps

Recipe manager with pantry-match scoring

  • React
  • Express

pastebin Full-stack apps

Paste service with expiry, burn-after-read, password locks

  • React
  • Express

feedr Full-stack apps

RSS/Atom aggregator with hand-written feed parser

  • React
  • Express

chatarena Full-stack apps

Real-time chat rooms with presence and flood control

  • React
  • Socket.IO

flagship Full-stack apps

Feature-flag service with targeting rules and deterministic rollouts

  • React
  • Express

pomoflow Full-stack apps

Pomodoro timer with stats heatmap

  • React
  • localStorage

colorkit Full-stack apps

Palette generator + WCAG contrast toolkit

  • React
  • TypeScript

APIs & services 8

blog-api APIs & services

Blogging engine with roles, drafts, slugs

  • Express
  • JWT

auth-service APIs & services

Auth microservice with refresh-token rotation and reuse detection

  • Express
  • JWT

currency-api APIs & services

Exchange-rate API with cross-rate pivoting and TTL cache

  • Express
  • SQLite

inventory-api APIs & services

Warehouse service on an append-only movements ledger

  • Express

file-vault-api APIs & services

Streaming file storage with content-addressed dedup

  • Express
  • streams

jsonapi-forge APIs & services

Instant REST API from a JSON schema

  • Express

uptime-monitor APIs & services

Uptime monitor with incident log and status badges

  • Express
  • fetch

jobq APIs & services

Durable job queue with leases, retries, backoff, DLQ

  • Express
  • SQLite

Libraries 9

csvforge Libraries

RFC 4180 CSV toolkit with streaming parser

  • Node

cronlingo Libraries

Cron parser with human descriptions and next-run math

  • Node

ratelimit-kit Libraries

Four rate-limit algorithms + middleware

  • Node

cachekit Libraries

LRU+TTL cache with memoize dedup

  • Node

validify Libraries

Chainable schema validation library

  • Node

jsondiff Libraries

Structural JSON diff with LCS move detection

  • Python

netmask Libraries

IPv4/IPv6 subnet calculator

  • Python

marksmith Libraries

Seeded Markov chain text generator

  • Python

hexy Libraries

Hex dump viewer with reverse parser

  • Python

CLI & automation 7

md2html CLI & automation

Hand-written Markdown→HTML converter with sanitizer

  • Node

todo-cli CLI & automation

Terminal task manager

  • Node

backup-rotator CLI & automation

Backup tool with tar writer + GFS retention

  • Node

envvault CLI & automation

Encrypted .env secrets manager, AES-256-GCM

  • Node

log-sentinel CLI & automation

Log watcher with webhook alerting

  • Node

gitstats CLI & automation

Git repository analytics CLI

  • Node

reqspy CLI & automation

HTTP request inspector for webhook debugging

  • Node

Algorithms & visualizers 2

sortscope Algorithms & visualizers

Sorting algorithm visualizer + benchmark lab

  • vanilla JS

shortpath Algorithms & visualizers

Pathfinding playground: BFS/Dijkstra/A*

  • vanilla JS