Full-stack engineer turned company builder.
Most of my work lives in private repos, but here's the gist:
| Domain | Stack |
|---|---|
| BROWSER EXTENSIONS | TypeScript Manifest V3 Chrome Firefox Vite |
| SERVERLESS SAAS | TypeScript Next.js Hono Edge SQL Drizzle ORM |
| EDGE UTILITIES | TypeScript Serverless Workers Edge SQL Object Storage Bun |
| KUBERNETES & HOMELAB | k3s Kubernetes Helm Helmfile Shell |
| LOCAL AI & LLM | Python FastAPI Docker Local Models GPU Accel |
| CI/CD & AUTOMATION | GitHub Actions Shell Python Docker Automation |
| DEVELOPER TOOLS | TypeScript Node.js Markdown KaTeX PDF Export |
| SECURITY & PRIVACY | Rust TOML OSV Format TypeScript GraphQL |
- Five production Manifest V3 browser extensions - TypeScript extensions for Chrome and Firefox covering tab group memory management (chrome-group-discard), torrent monitoring and auto-cleanup on filelist.io (filelist-ext, filelist-seed-purge), media intro and credits auto-skip on Netflix and Plex (series-auto-skip), and bulk Instagram DM unsending with rate limiting (uninsta).
- Full-stack SaaS products on serverless infrastructure - Multi-tenant TypeScript applications deployed on serverless Workers with Edge SQL persistence and Drizzle ORM migrations, covering fleet management with real-time notifications and Stripe payments, a legal-services marketplace, a personal investment tracker with TWR analysis and a live trading bot, and a multilingual corporate website with Claude API-powered blog automation.
- Lightweight serverless tools and utilities - Smaller Workers-hosted utilities: gw2roi ranks Guild Wars 2 crafting recipes by profit margin on an hourly cron using the GW2 trading-post API; a WASM LibreOffice PDF toolkit with large assets streamed from object storage; and an identity-gated internal app directory for a managed-services team.
- Self-hosted k3s cluster and platform services - Versioned infrastructure-as-code for a production-grade self-hosted k3s cluster with pinned Helm charts and raw manifests for cert-manager, monitoring, and ARC runners, managing self-hosted Nextcloud with mesh networking, age-encrypted nightly Vaultwarden backups committed to Git, and on-cluster GPU inference.
- Self-hosted AI workspace and LLM inference - Odysseus is a Docker-deployed self-hosted AI workspace with local model agents, document management, email, calendar, and notes built on FastAPI, SQLAlchemy, and ChromaDB; a companion project benchmarks FreeToken mixture-of-experts inference against Ollama and llama.cpp on a consumer RTX 3070.
- Reusable CI/CD workflows and automation bots - shared-workflows is a reusable GitHub Actions library covering Node.js/Python CI, Claude Code review, dependency auditing, and browser extension publishing; device-activity-telegram-bot fires a Telegram alert on every device login event; social-update collects daily Claude Code sessions, summarises them with llama.cpp, and generates LinkedIn drafts via a k3s-hosted Express and Vite UI.
- Local-first Markdown presentation tool - deckrun is a local-first presentation tool supporting 14 themes, a live editor with localStorage autosave, KaTeX equation rendering, Mermaid diagrams, and PDF export — built entirely in TypeScript as a Node.js local server with a browser UI.
- Security advisories and privacy automation - advisory-db contributes to the community RustSec advisory database for crates.io using TOML+Markdown advisories exported to OSV format and synced to the GitHub Advisory Database; uninsta is a browser extension and userscript that bulk-unsends Instagram DMs via the GraphQL API with rate limiting and IndexedDB-backed state persistence.
📡 Currently exploring self-hosted LLM inference benchmarking and AI workspace tooling with local GPU compute