Hey, I'm Shawn 👋
I build things
that matter.
Full-stack developer and indie maker based in Toronto. 12+ years shipping software — from enterprise platforms at GM and Ford to scrappy side projects I can't stop thinking about. I love the whole thing: the messy idea, the late-night debug session, and the moment it finally clicks.
Things I've built
A mix of commercial apps, games, and creative side projects. Some are live, some are works in progress — all of them taught me something.
Adeso
AI for the rest of us.
A plug-and-play AI appliance built on a Mac Mini — your own private AI assistant that runs locally, speaks your language, and doesn't phone home. No cloud required.
Questify
Turn content into quests.
A platform that gamifies learning through quests and challenges. Built from co-founder to solo maintainer — it's had a journey and keeps going.
Farsi Flash
English ↔ Farsi, the fun way.
A language learning app for English speakers tackling Farsi. Flashcards, quiz rounds, XP/levels/streaks, RTL rendering, and audio pronunciation — built with love and a lot of Unicode.
EdgeLedger
Prediction market analytics.
Portfolio tracker and analytics platform for prediction market traders. Covers Kalshi & Manifold — with arbitrage scanning, price alerts, shareable cards, and a Pro tier.
Dink
Pickleball, organised.
Meetup scheduling and skill tracking for pickleball players. Because the sport deserves better than group texts and Google Sheets.
Threshold
A deckbuilder at the edge of reason.
A cosmic horror roguelite deckbuilder where sanity isn't just a stat — it warps the cards you can play. 131 cards, 21 relics, and a full run loop that will make you question your choices.
Piano AR
See the music, play the piano.
A mixed-reality piano teacher for Meta Quest 3. Virtual keys overlay your real piano, hand tracking guides your fingers, and Guitar Hero-style gameplay makes practice actually fun.
Player Piano
Vonnegut for the algorithm age.
An animated adaptation of Kurt Vonnegut's *Player Piano* — darkly funny shorts about automation, dignity, and what happens when the machines get really good. BoJack meets Black Mirror.
3D Print Boutique
Printed with care, shipped with love.
Custom 3D-printed products on Etsy. Currently featuring a custom car vent phone mount — with more designs in the works. First 5-star review earned May 2026. 🌟
A bit about me
I got into development because I wanted to build things — not just write tickets. Over a decade later, that's still the reason I sit down at the keyboard.
I've shipped production software for some big names (GM, Ford) and spent just as much time building weird side projects that scratch my own itch — a language learning app, a prediction market tracker, a cosmic horror card game, a piano teacher for VR headsets. If the idea is interesting enough, I'll build it.
I'm most at home in the full stack: Next.js on the front, Node on the back, Supabase when I want to move fast. I also wander into game dev (Godot, Unity) and hardware (currently: AI appliances on Mac Minis).
I'm available for freelance contracts, consulting, and the right full-time role. If you've got a hard problem and want someone who gives a damn about the details, let's talk.
12+ years
writing code professionally
Enterprise → Indie
GM, Ford, and now my own thing
Toronto, ON
available remotely worldwide
Currently working on
- Adeso — AI appliance product
- Threshold — cosmic horror deckbuilder
- Piano AR — Meta Quest piano tutor
- Odoo consulting for AMAP
What I work with
Tools I reach for regularly — plus a few I picked up because a side project demanded it.
Frontend
- TypeScript
- React
- Next.js
- Vue / Nuxt
- Tailwind CSS
- HTML / CSS
Backend
- Node.js
- Fastify
- Prisma
- PostgreSQL
- Supabase
- REST & GraphQL
Mobile & Game Dev
- Godot 4 / GDScript
- Unity 6 / C#
- Expo / React Native
- Meta XR SDK
DevOps & Cloud
- Vercel
- Fly.io
- Railway
- AWS EC2
- Docker
- GitHub Actions
Other
- Odoo
- Stripe
- Ollama / LLMs
- 3D Printing / Fusion 360
- Figma
Get in touch
Whether you've got a project in mind, want to hire me, or just want to talk shop — my inbox is open.