Sephora
The Sephora website and app screens shown here.
- Website
- App screens


I take apps from first sketch to millions of users.
Mobile Engineer and AI Architect. iOS and Android apps, native and cross-platform, with the backend services and AI behind them, for banks, telecoms and travel.
The Sephora website and app screens shown here.


Built the BNE mobile app from the ground up with Backbase, with shared Kotlin Multiplatform modules for Remote Deposit Capture and Okta login on iOS and Android, plus FIDO2 MFA.






Team lead on MyBell, a Webby Award winner together with Virgin Plus. I helped build the design system shared across the Bell brands, as Compose components on Android and SwiftUI components on iOS, and co-architected the Kotlin Multiplatform modules behind it, about 80% of the domain and data code shared between iOS and Android.


Part of the MyBell and Virgin Plus mobile team I led, Webby Award winners. It runs on the same shared design system and Kotlin Multiplatform core as Bell.



Another Bell brand on the same shared design system and Kotlin Multiplatform core.


Native iOS and Android features, including real-time flight tracking with Live Activities and Dynamic Island, Apple Wallet boarding passes and offline-safe sync.

Senior Mobile Engineer, iOS with Android and Flutter alignmentLead the mobile team on the redesign of the PNC Bank flagship app in SwiftUI, built to WCAG 2.2 AA and aligned with Android and Flutter.



SwiftUI-first modernization of the Scotia iTrade and main banking apps, with Jetpack Compose parity on Android, Jenkins CI/CD, 80%+ test coverage and Dynatrace and Splunk observability.



A from-scratch white-label amenities app and reusable design system for iOS and Android, first release in about a month.

The My Canada Life At Work app moved to SwiftUI with WCAG 2.2 AA, plus Python BFF API contracts for iOS, Android, Flutter and web.

Senior Mobile Developer, SDKs for iOS, Android, Flutter and React NativeArchitected a B2B live-streaming e-commerce platform with AVFoundation video, chat and transactions, plus mobile SDKs for iOS, Android, Flutter and React Native.


Mobile Developer, iOS and Android on shared Kotlin MultiplatformAn industrial inventory system with Bluetooth Mesh IoT, shared Kotlin Multiplatform modules, offline-first sync and Core ML asset recognition.


Technical owner of the Mobile Maintainer platform on Xamarin Forms across five .NET and Azure repos, with releases to four global regions and 24x7 production support.



Built automated testing frameworks and backend asset tools for AAA multi-platform releases, improving QA velocity and cutting manual testing.



I design agent and MCP architectures, evaluation gates and streaming AI interfaces, and ship on-device ML to millions. The platform side of that work: model platforms on AWS Bedrock and Google Vertex AI, Python agent services, evaluation and regression gates, guardrails, MCP-compatible APIs, sign-in and monitoring, plus the controls I build around my own agents.

Ran discovery with product and business leadership, then built the agent backend (LangGraph, FastAPI, RAG on Bedrock), the evaluation gates and the streaming chat UI in SwiftUI and React Native. In use by more than 75 people.

Python services on Vertex AI with RAG over support content, every model change gated on an evaluation harness, and a native streaming chat UI on iOS and Android over a Ktor WebSocket.
builder → branchqa → PASSevaluator → CONCERNSgate → ownerBuilder agents work in isolated branches; a bridge that spends no model tokens compiles and merges; a QA agent checks the result; an independent read-only evaluator returns PASS, CONCERNS or FAIL on evidence; a supervision layer reconciles every request against what the agent did and exposes its ledger over MCP. Approval and spend gates live in shared code, not prompts.

Core ML and TensorFlow Lite inside the Bell and Virgin Plus apps, used by millions, in a Kotlin Multiplatform codebase with about 80% shared domain and data code.
bedrock · vertex aieval → regression gatemcp → bff apiokta · oauth2 · fido2Model platforms on AWS Bedrock and Google Vertex AI, agent services in Python (FastAPI, LangGraph), and a BFF API compatible with MCP so AI features work across iOS, Android and the backend. Model changes pass an evaluation harness with regression gates, and AI-generated code passes guardrails and CI gates. Sign-in on Okta, OAuth2 and FIDO2/WebAuthn, telemetry and production monitoring, and shared prompts, templates and agent components that other teams adopted.
request → approval gatewrite → safety storejobs → load capcli → local serverApproval, spend and never-write rules live in shared code that the dashboard, the terminal and every agent call, and hermetic tests prove the terminal obeys them. A command-line client over a local server with defined exit codes, a safety store that snapshots every file write before it lands, test selection by dependency, a registry that caps heavy jobs, and a Cloudflare Worker with Turnstile in front of the contact details.

Merged the Nexus Pro and Naveo Pro emergency lighting apps into one platform, with shared Kotlin Multiplatform modules and Bluetooth Mesh.

Led the mobile team on the Bullshooter app, plus the AI strategy: a Figma MCP design system and an MCP-ready API.

At IBM I worked on enterprise mobile architecture and modernization across client programs, including the Air Canada app and the PNC Bank mobile app.
A civic app for Montreal, Laval and Terrebonne, offline-first for low connectivity, with Python BFF APIs and Core ML image matching.
A consumer sleep tracking app from inception in SwiftUI, with state-machine navigation and clean architecture, portable to Flutter and React Native.
Optimized precision production processes and reduced waste 30% through process automation.
Have something to build?
Tell me about it ↑