Curriculum Vitae
I am an experienced full-stack software engineer who strives to build high-quality tools that empower individuals and small teams, and I believe in using thoughtful human-centred approaches in product development to build great products. I bring a broad and eclectic experience spanning across multiple sub-disciplines in product development.
Full-stack software engineering, deep technical investigation, systems thinking, good sense of UX design, and a holistic knowledge of different product development disciplines.
Small motivated and remote teams that value craftsmanship, respectful teamwork, low-distraction work environments, and strive to put human user needs at the forefront of every product decision.
Python (Pytest/QA automation), Swift, SwiftUI, Rust, JavaScript, TypeScript, React, SQL, Docker, and embedded systems.
Jobs-to-be-done framework , Human-centred Design , and Shape Up.
Leaf Computer
Product Discovery · Rust · Swift · Next.js
I started this company with the goal to build tools to empower individuals and small teams. Over time I have been experimenting with prototypes, early product versions, and market research in an effort to find product-market-fit.
Part-time contract · Damus
Swift · SwiftUI · Rust · LMDB · C · JavaScript · NixOS
Damus is a Twitter-like open-source Nostr client that aims to bring more customizable social network experiences. During this time I was the main person in charge of technical maintenance, code reviews, and new feature development for my client's open-source iOS app, which is used by thousands of daily active users.
My work involved several bug fixes, new features spanning across iOS frontend and backend servers built on Rust and JavaScript, and a very large refactoring to better integrate a custom ultra-fast memory-mapped database written in C throughout a large Swift codebase.
Multiple part-time contracts · Bobbles Digital
TypeScript · React · Next.js · PostgreSQL · Supabase
Bobbles Digital is a boutique creative agency. During this time I helped them maintain their digital technical infrastructure, built a custom dashboard system to help streamline their work, and helped several of their clients with their software development and web development needs.
Full-time · Motorola Solutions/Avigilon
Python · Pytest · Selenium · Embedded Systems · Firmware · QA Engineering · PTZ cameras · Linux
Coursera Certificate · University of Toronto
Machine Learning · Neural Networks · Deep Learning
Completed an online course on Neural Networks for Machine Learning taught by Geoffrey Hinton from the University of Toronto. The course covered fundamental concepts in neural networks including backpropagation, convolutional neural networks, recurrent neural networks, and other deep learning architectures.
Diploma · British Columbia Institute of Technology
Embedded Systems Programming · C · Assembly · MCUs (MSP430) · Sensor and Peripheral Interfacing · Digital Electronics · DC brushed motors · Control Systems
Long-term product engineering work on the largest iOS Nostr client, including push notifications, subscriptions, architecture improvements, and bug fixes.
Firmware QA engineering and advocacy for a PTZ security camera with AI-powered video analytics.
A client dashboard and workflow system for streamlining task requests, communication, scheduling, and ongoing client work.
An open-source Rust UI component library for Dioxus inspired by the developer experience of tools like shadcn and tailwind, built to make UI development more composable and ergonomic.
A small CLI utility for bridging local AI agents and other command-line tools with Nostr direct messages.
An autonomous line-following robot for small-scale automated delivery. Capstone project for BCIT Robotics, featured at the BC Tech Summit 2018.
If you're building human-centred tools and want someone who can bridge software engineering and other product development disciplines, please feel free to reach out.