Welcome to my lab. This is where I tinker, build, and break things. Below you'll find a curated collection of projects I've worked on.

Local document parsing for agent-ready knowledge.

HyprDuck turns private PDFs and Word files into reusable, cited local context packs for AI agents. It combines a Rust engine with an Electron desktop shell and an MCP server, keeping all processing local and provenance-visible.

What it builds

  • Source packs and evidence indexes from imported documents
  • Context packs with typed evidence and provenance chains
  • A materialized graph of sources, concepts, and claims

Stack

  • Rust
  • Electron
  • MCP
  • SQLite
  • macOS

AI-powered newsletter generation platform.

Tyquill is a full-stack SaaS platform that helps users create newsletters by scraping web content, generating AI drafts, and editing everything in one place. It spans five codebases — a NestJS API with LangGraph AI workflows, a TipTap-powered React editor, a Chrome extension with platform-specific web clippers, a Python AI agent, and a Next.js landing page.

Key features

  • One-click web clipping from YouTube, Reddit, LinkedIn, X, Threads
  • AI draft generation via LangGraph workflows on Google Vertex AI
  • Notion-like editor with real-time collaboration (Yjs CRDT)
  • Content repurposing across blog, social, and email formats
  • Custom writing style templates with AI adaptation

Stack

  • NestJS
  • React
  • TipTap
  • LangGraph
  • Vertex AI
  • PostgreSQL
  • WXT
  • FastAPI

Web to Markdown, one click.

Mdown is a browser extension that converts web pages to clean Markdown with a single click. It strips ads, navigation, and clutter using Mozilla Readability, then converts the result to properly formatted Markdown. All processing is local-first — nothing leaves your device.

... Chrome Web Store users

Key features

  • Clean extraction using Mozilla Readability
  • Markdown conversion via Turndown
  • Copy to clipboard or download as .md / .json
  • One-click export to ChatGPT, Claude, and Gemini
  • Local-first — all processing on-device

Stack

  • WXT
  • Vue 3
  • TypeScript
  • Readability
  • Turndown
  • Remotion

Time Machine for AI coding agent setups.

Hem is a CLI tool that gives your AI coding agent environment a local history. It scans, snapshots, diffs, audits, and restores MCP servers, skills, hooks, permissions, instructions, and agent configs across Claude Code, Codex, Cursor, OpenCode, and Pi Agent — all local-first and read-only by default.

Key features

  • Scan and snapshot agent setup state across 5 AI coding tools
  • Diff between any two points in time to see what changed
  • Export portable .hem bundles for cross-machine migration
  • Daemon timeline for continuous local setup history capture
  • TUI workspace with persistent profiles and agent navigation
  • Experimental restore with dry-run preview and rollback

Stack

  • TypeScript
  • Node.js
  • Ink
  • React
  • npm
  • CLI