Full-stack engineer in Calgary, AB. I build with TypeScript and Python — mostly AI tooling, web infrastructure, and developer tools. I contribute upstream fixes to the open-source projects I actually use.
8 open pull requests across major OSS projects:
- fix(browser): restore setupWorker lifecycle — mswjs/msw
- feat: add long-term chunk geometry caching — minecraft-web-client (+1896/-31)
- test_models: fuzz openpilot TX against panda on replayed routes — commaai/openpilot
- fix(language-server): rewrite Astro component auto-import names — withastro/astro
- Fix defineLiveCollection interface loader typing — withastro/astro
- Fix getImage error message during astro sync — withastro/astro
- Fix false positive missing-content audit for hidden anchors — withastro/astro
- fix: initialize safety replay test state before segment setup — commaai/opendbc
| Project | PR | What it fixed |
|---|---|---|
| openai/openai-agents-python | #2725 | Race condition in SQLAlchemy session writes |
| openai/openai-agents-python | #2710 | Streaming docs for cancel-after-turn |
| withastro/astro | #15927 | Language server deferring HTML completions to TS |
| mswjs/msw | #2676 | RequestHandler type not accepted in setup functions |
| mswjs/msw | #2669 | Open handles from infinite delays in Node |
| commaai/opendbc | #3052 | Caching hypothesis strategies in car tests |
- docagent-studio — Local-first document QA with hybrid retrieval (FTS5 + vector), citations, GraphRAG navigation, and offline eval. Python, SQLite, FastAPI.
- jungian-typology-assessment — Full-stack personality assessment live at typejung.com. Auth, Stripe billing, AI-generated reports, SEO. Next.js, Supabase.
- collab-editor — Real-time collaborative editor with WebSocket sync, remote cursors, autosave, and multi-provider auth. Live at collab-editor-sand.vercel.app. Next.js, Socket.io, PostgreSQL.
- neuroflow — ADHD-focused planner with AI task breakdown and body-doubling support. Live at neuroflow-gamma.vercel.app. Next.js, Supabase.
- constitutional-playground — Side-by-side comparison of Constitutional AI critique/revision loops. Next.js, Anthropic API.
Day-to-day: TypeScript, Python, Next.js, React, Node.js, FastAPI, PostgreSQL, Supabase, Prisma
AI/ML: OpenAI SDK, Anthropic SDK, RAG pipelines, sentence-transformers, Ollama
Infra: Vercel, Docker, SQLite, Redis



