Full-stack developer and systems builder. I've been building for the web since 2004: web apps, automation, and fast-turnaround websites for small businesses, organizations, and startups. Based on Vancouver Island, BC.
- 🔭 Currently working on: Celebrator, a platform for collecting and publishing client and contributor media, and Express Website, fast-turnaround websites and web apps
- ⚙️ Day to day: AI-assisted development with Claude Code, shipping Next.js + Supabase projects
- 💬 Ask me about: TypeScript, React, Next.js, Supabase, testing, workflow automation
- 📫 Reach me: [email protected] · LinkedIn
Most of these are client or team work, so the code is private. The live sites are linked.
- Celebrator: Web app for photographers and videographers to collect client and contributor uploads and publish showcase pages. Multi-tenant teams, presigned direct-to-storage uploads on Cloudflare R2, row-level security in Supabase, weekly email digests. Next.js, TypeScript, Supabase, Cloudflare R2, Resend, Vitest.
- StartOver.Earth: Renders a Notion workspace as a website, with a members-only experiment-logging game, an admin area, and a Strikingly-to-Notion migration tool. Team project, one of five contributors. Next.js, Notion API, Supabase, Redis, Docker, Vitest, Playwright.
- Pacific Marine Circle Route: Fundraising and event site for a 5-day mental-health run, with a photo and video timeline, sponsor grid, and newsletter signup. Next.js, Resend, PostHog, Vercel.
- Unhookable: Site for a collective of creators, with members, offerings, events, a store, and a creator signup flow that writes to Supabase and sends email through Resend. Deployed to a VPS with GitHub Actions and pm2. Next.js, Supabase, Resend, GitHub Actions.
- Languages: JavaScript, TypeScript, HTML, CSS
- Frameworks & runtime: Next.js, React, Tailwind, Node.js
- Backend & infrastructure: Supabase (Postgres, auth, row-level security), Cloudflare (R2, Workers, domains, email), Vercel, Redis, Docker, GitHub Actions, VPS (nginx, pm2)
- Testing & analytics: Vitest, Playwright, PostHog
- AI & workflow: Claude Code, Grok, Zapier, Notion, Google Workspace, Resend
- Tools: Git/GitHub, REST APIs, CI/CD
- CMS & design: WordPress, Canva, Photoshop, Illustrator
- Strengths: Problem-solving, UX thinking, documentation, troubleshooting, clear communication
- Spoken languages: English (proficient), Spanish (native)
Thanks for visiting. Feel free to say hi 👋


