Senior full-stack engineer for startups and small teams
I build and launch web and mobile products in TypeScript, with React, Next.js, React Native and Node. I've spent over ten years at startups and at Arc'teryx and Toyota Europe, and this year I designed, built and launched Cereal on my own.
It matches learners with TV shows at their level, graded by CEFR from real subtitles.
Live on the App Store, with 1,800+ episode study packs across 180+ titles.
Browse, graded for the learner's level, and the words a show uses most
What I did.
Designed and built the React Native (Expo) app and the Next.js website.
Built a batch pipeline that uses LLMs to write per-episode vocabulary from subtitles and checks every word against the dialogue.
Added StoreKit and RevenueCat subscriptions, Apple and Google sign-in, analytics and over-the-air updates.
Shared one TypeScript domain package across the app, website and pipeline, so business logic is written once.
Arc'teryx: cutting bots off from inventory data
Senior full-stack developer, contract · 2024–2026
Bots were pulling inventory counts and upcoming product drops from the Magento API to buy out releases.
Bots could no longer read inventory counts or upcoming drops from the Magento API, and the frontend no longer depends directly on Magento.
StorefrontNext.js, React
Scraping botsno direct access
tRPC layeronly the data each page needs
Magento
The storefront talks to Magento only through the tRPC layer
What I did.
Built a tRPC layer between the storefront and Magento that exposes only the data each page needs.
Led the site-wide rebrand on the Brand Web team, including the shared typography library.
Moved hardcoded content into Sanity, so non-technical teams publish without a developer.
Aurora: syncing Shopify with the CRM/ERP
Senior full-stack developer · 2019–2024
An online shop for registered medical patients couldn't launch until orders, customers and products synced with the CRM/ERP, including insurance coverage and province-specific tax rules.
The shop launched and had 120k+ registered customers while I was there.