Full-Stack &
Mobile Developer
I build iOS apps and full-stack web products — from published App Store apps to Rails APIs and React Native tools. 8 years of shipping software across mobile, backend, and web.
Things I’ve built
A full-stack prototype modeling DJ mix workflows — track attribution, timing metadata, and mix validation. Rails API + GraphQL backend, Next.js frontend, Dockerized PostgreSQL.
A full-stack mobile productivity app with a random task selector — for when you have too many things to do and can't decide where to start. React Native + TypeScript frontend, Node/Express backend.
A TR-909 drum sampler for iOS — 11 pads with self-recorded samples from real hardware. ~5,000 downloads, 5-star rating, zero crash reports. Previously on the App Store.
A UIKit app displaying random anime quotes — migrated from Alamofire to async/await, rebuilt with a tab bar, Settings screen, daily quote caching, and typed error handling. Previously on the App Store.
A SwiftUI workout logger built for personal use — log workouts by date, track history on a visual calendar grid, and celebrate every save with a victory sound. Core Data persistence throughout.
A Python CLI tool that reads embedded genre metadata from MP3 and AIFF files and organizes a music library into genre-based folders. Built to solve a real DJ workflow problem.
8 years of building,
shipping, and learning
I'm a DJ and electronic music producer first — and a developer by extension of that. When the tools I needed didn't exist, I built them. That's how Detroit-909, MixVault, and Organize By Genre came to life.
Professionally I'm a full-stack and mobile developer based in Vancouver with experience across iOS, React Native, Rails, and Python. I've worked on the Rivian and Bally's Interactive iOS teams, and shipped independent apps used by tens of thousands of people.
My time at Rivian introduced me to advanced iOS architecture — Combine, MVVM, Coordinator patterns, and BLE integration — early in my career. At Bally's I worked on a high-traffic gaming platform where stability and code quality were non-negotiable.
Skills & Tools
Let’s work together
Open to full-stack and React Native roles in Vancouver or remote. If you’re building something interesting, I’d love to hear about it.