Mobile
Cross-platform apps that feel native.
Fast, cross-platform apps with Flutter. Native Android with Jetpack Compose when the UI and performance call for it.
Mobile · Web · Backend
A software engineer in Canada. I build apps, the web that fronts them and the systems behind them.
Mobile
Fast, cross-platform apps with Flutter. Native Android with Jetpack Compose when the UI and performance call for it.
Web
High-performance React apps with server rendering for first paint, and the attention to detail that keeps them smooth on every screen.
Backend
Spring Boot services on AWS, with scalable architecture and CI/CD pipelines that ship without drama.
Tech stack
Five frameworks. Five languages. One way of working: pick the right tool, then go deep.



Java and Kotlin for native Android, with full access to device features and the performance to match.


Declarative UI for Android and desktop. Less code, one mental model, multi-platform from the start.



Spring Boot for enterprise-grade services, shipped fast. Kotlin when a more concise syntax helps.


One codebase, native performance on iOS and Android. The fastest path from idea to store.


Modern, reactive web apps in React, with TypeScript keeping the type system honest.

Python for data analysis and AI work. A rich ecosystem for large datasets, models and AI applications.
Featured project
Practice tests, progress history and a look you can make your own.
Secure login and personalised settings for every user, powered by Firebase.



An engaging interface with playful animations that nudge you toward a higher score.



Pick a colour and the whole app follows. Light, dark and everything in between.



Every test is stored in a local database, so you can review your progress without giving up your privacy.



Side project
Text, images and files in. Search, weather and answers out.
What is in this?Send text, images, PDFs and more. The model reads them all and answers in context.
Live web search for the latest news, with sources you can follow.
Current conditions and a five-day forecast for any city, in one message.