Skip to main content

Projects

Each project has a short case study: the problem, the design decisions and trade-offs, and what I would do differently. Several repositories are still private, so those pages describe the work without showing the code. Looking for installable pieces? See Libraries.

Private repo Updated October 12, 2026

writing-studio

A git-backed writing environment for fiction: a CLI, a self-hosted server and a browser IDE that treat scenes as plain markdown and record who wrote every character.

  • Node.js
  • Fastify
  • CodeMirror
  • Vitest
  • Playwright
  • Git
  • MCP
Read the case study
Private repo Updated October 21, 2026

agentic-kit

A Claude Code plugin marketplace of four small plugins (core, writing, dnd, coding) that stay inert outside the projects they are meant for.

  • Claude Code plugins
  • TypeScript
  • Hooks
  • Subagents
  • Markdown skills
Read the case study
Private repo Updated October 21, 2026

secrets (agentic-secrets)

A zero-dependency Node CLI that lets an AI coding agent move, generate, compare and check secrets without the value ever being printed or entering its context.

  • Node.js
  • ESM
  • ssh
  • macOS Keychain
  • node:test
Read the case study
Private repo Updated October 17, 2026

fim2

A self-hosted, AI-augmented virtual tabletop for D&D 5e: a Next.js and Socket.io app per campaign, provisioned by a NestJS control plane.

  • Next.js 14
  • TypeScript
  • Socket.io
  • Prisma
  • PostgreSQL
  • NextAuth
  • NestJS
  • Docker
  • Nginx
Read the case study
Public repo Updated June 28, 2025

Foundry Instance Manager

A Python CLI that runs multiple Foundry VTT instances as Docker containers with isolated data directories and a shared one.

  • Python
  • Click
  • Docker SDK
  • Poetry
  • pytest
  • GitHub Actions
Read the case study
Public repo Updated October 19, 2025

kindle-sync

A Python pipeline that watches an Obsidian vault, converts markdown to Kindle-friendly PDFs and emails them to a Kindle Scribe, with OCR to bring annotated PDFs back.

  • Python
  • watchdog
  • ReportLab
  • pytesseract
  • SQLAlchemy
  • Docker
  • pytest
Read the case study