projects · 9 on the bench

Things I built.

Shipped products, small tools and experiments.

diffle.dev home page in dark mode: the headline Review the diff. Redline it. Hand it back to your agent. beside a diff of src/utils/git.ts with an unresolved inline comment

Review the diff. Redline it. Hand it back to your agent.

A local git diff viewer for focused code review.

  • TypeScript
  • Bun
  • Svelte
  • Vite
  • Tailwind CSS
  • MCP
diffle.dev
tabgrouper.com home page: the headline Group your tabs by domain. beside a live demo of tabs grouped under github.com, youtube.com, docs.google.com, figma.com and stackoverflow.com

Calm, organized tabs for Chrome and Edge.

A browser extension that groups your tabs by domain or subdomain on a schedule and leaves the groups you arranged by hand alone.

  • JavaScript
  • Edge Extensions API
  • Chrome APIs
  • HTML/CSS
Rhombus scout, technical drawing The site mascot drawn as an 11 by 9 pixel diamond: off-white body, one cyan eye and an orange three-pixel aft vent, with dimension lines, labeled callouts and a title block. 11 px 9 px X · body #F8F8F2 E · eye #8BE9FD M · aft vent #FFB86C RHOMBUS-SCOUT RENDER4px/px SRCsprites.ts

A hand-built physics engine and brain for the scout that lives on this site.

Gravity, squash and stretch, and perch-to-perch leaps between real elements on the page, plus a face that reacts to what's on the page, grab-and-fling, and a "wanna fight?" mini game.

sprite
rhombus-scout, 11 × 9 px
render
svg rects, 4px per pixel (3px under 640)
body
#F8F8F2
eye
#8BE9FD
aft vent
#FFB86C
moods
neutral · happy · surprised · sleepy · grumpy
glyphs
Z · ! · ? · @ · heart
src
sprites.ts
  • TypeScript
  • Vue
  • Astro
  • Vitest
  • Jev
  • Cloudflare Workers
porthole's session list on a phone: active sessions with amber indicators and tmux target badges, recent sessions below

Porthole

live

Mobile-first viewer and reply relay for Claude Code sessions running in tmux, served over Tailscale.

Finds every Claude Code session on the box from its JSONL logs, streams live transcripts over SSE to a phone-sized Vue app, and injects replies into the right tmux pane with bracketed paste.

  • TypeScript
  • Bun
  • Vue
  • tmux
  • Tailscale
  • SSE
ImgSmash's upload screen on a desktop, laptop, tablet and phone

Crush image sizes, keep the quality.

Converts PNG, JPG, HEIC and WebP images to WebP right in the browser with createImageBitmap and Canvas, so nothing gets uploaded.

  • Vue
  • TypeScript
  • Vite
  • Canvas API
  • JSZip
imgsmash.com
shockstack.dev home page in its Midnight theme: the headline Build full-stack apps at lightning speed above Get Started and View on GitHub buttons

A convention-first monorepo template for building full-stack apps at lightning speed.

Astro 5 SSR, Vue 3 islands, Tailwind 4, design tokens, Better Auth and an optional .NET 10 backend arrive pre-wired, so the first useful commit comes fast.

  • Astro
  • Vue
  • Tailwind CSS
  • .NET
  • Aspire
  • Better Auth
  • Style Dictionary
  • Turborepo
reposweep.dev home page in its Dracula theme: the headline Sweep the chaos, see where the code is actually moving. beside a sample dashboard with a commit trend chart and repo spread bars

One dashboard to wrangle a sprawling GitHub account.

Bulk cleanup for repos that should've been archived months ago, and commit analytics that show where the energy is actually going.

  • Astro
  • Vue
  • Tailwind CSS
  • TypeScript
  • Cloudflare Workers
  • GitHub OAuth
  • Octokit

Trivy and CodeQL security scanning as one reusable GitHub Actions workflow.

A reusable GitHub Actions workflow that scans a repo with Trivy for dependency vulnerabilities, secrets and misconfig, and with CodeQL for semantic code analysis.

  • GitHub Actions
  • Trivy
  • CodeQL
  • JavaScript
  • Bash
  • PowerShell

Conventional commit checks in local git hooks and CI, from one native checker.

Checks Conventional Commit headers with one small native checker, and runs the same checker version and .commit-guard.json policy in local commit-msg and pre-push hooks and in GitHub Actions.

  • Go
  • GitHub Actions
  • Git hooks
  • JavaScript
  • Bash
  • PowerShell

psst, the websites I built for clients have their own page. Client work