I build full-stack apps, developer tools, and the occasional thing I needed but couldn't find.
🇨🇦 Ontario, Canada · English (native) · Somali (native) · French (DELF B2)
I was the kid who guessed the password to the family computer, then found safe mode when it got changed. It took me a lot longer to work out that this was something people did for a living.
Most of what I know since has come from building projects, getting stuck, and figuring out the next piece. I contribute fixes and features to the tools I use, and publish some of my own on npm.
📖 Read the longer version here
Merged contributions to the tools I use every day.
| Project | Contribution |
|---|---|
| Zed | markdown_preview: show link destinations on hover (Firefox-style URL preview) |
| Zed | markdown: make images nested inside links, like README badges, clickable |
| Zed | git_ui: show total diff stats in the git panel |
| Vite | fix(create-vite): pass the React framework through to the TanStack CLI |
| TanStack CLI | fix(create): strip demo/example files when users opt out |
| TanStack CLI | Drizzle ORM integration: multi-driver (Postgres/MySQL/SQLite) |
npm packages: ~waryawayne
| Package | What it does |
|---|---|
crea-ddf |
Effect-native TypeScript SDK for the CREA DDF (Canadian MLS) API, with Postgres sync |
crea-ddf-mcp |
Read-only MCP server for querying synced CREA DDF data |
ai-hr |
Local "performance reviews" for coding agents, with usage scans and cost estimates in a terminal report card |
lightstack |
Run Lighthouse on every page of a TanStack Start / Router app |
tvagent |
Private Android TV dashboard for monitoring local coding agents |
tailings |
Pull a directory's coding-agent history (Claude Code, Codex, Opencode, Gemini) so the next agent is instantly caught up |
codex-relink |
Recover & relink Codex CLI chat sessions for a directory |
claude-relink |
Recover missing Claude Code chats for a directory |


