work & practice / 2026

Eight years watching people read, write, and get stuck. Now applied to services and the tools and systems behind them.

I taught English for eight years. The job was watching people try to make sense of something and noticing where it broke down. Service design and interface work draw on the same instinct, at the scale of a whole service or a single screen.

role
Service & UX/UI Designer
location
Vancouver, BC
focus
Learning systems and the tools that surround them
1.0 · selected work
1.1 ↘ case study · service design · 2026

The Human platform.

The education service behind my teaching practice, from service model to daily operations.

role
Founder; service design, build, operations
methods
Service blueprinting, role modelling, bilingual service design, AI review workflows
output
A live platform: scheduling, classrooms, lesson records, billing

My tutoring practice ran on six apps and a lot of memory. I designed the service model and built the platform that replaced them: one sign-on for four roles, Mandarin beside English on every family surface, and AI-drafted lesson notes that only a teacher can publish. Live with families since June 2026.

read case study ↗
1.2 ↘ case study · service design · 2026

One service, from five boards.

Five disconnected workflows, now one lifecycle over a shared record.

role
Service design, blueprinting, AI architecture
methods
Service blueprinting, stakeholder mapping, adversarial critique, AI systems design
output
To-be blueprint, AI architecture, per-role dashboards

A seven-person art studio ran on five workflow boards that barely connected. I read them as one student lifecycle and rebuilt it department by department over one shared record, with a self-hosted AI on top for the busywork. My first service-design project.

read case study ↗
before after one record · five states · loops back
1.3 ↘ case study · macOS app · 2026

Chorus

One quiet window for the web apps you never close.

role
Product & interaction design, native build (solo)
methods
Interaction design, notification design, SwiftUI
output
A shipped, self-updating macOS app

I gather the services you keep open all day into one native window, then spend the design on the hard part: keeping a dozen apps from all shouting at once. You govern the notifications, spaces match how your day splits, and two accounts of the same service stay sealed from each other.

read case study ↗ see on GitHub ↗
The Chorus GitHub repo shared in a UX design cohort's Slack, showing 22 stars and members signing up to test the app.
1.4 ↘ shipped · live demo · 2025

Useful Words

A bilingual reference tool for language learners who get stuck mid-sentence.

role
UX/UI design, research, front-end
methods
Classroom observation, contextual interviews, prototyping, usability testing
output
Mobile-first bilingual reference tool

My students kept switching between writing apps and dictionaries while drafting English sentences, losing their train of thought every time. Useful Words sits in one screen with examples, translations, and connector phrases ranked by how learners move through a sentence. Mobile-first because that is where the writing happens.

read case study ↗ try it live ↗
1.5 ↘ shipped · web tool · 2024

Pocket Dystopia

A premise generator that gives fiction writers something specific to react to.

role
UX/UI design, build (solo)
methods
Prompt-structure iteration, design critique
output
Web premise generator for fiction writers

I rewrote the generator toward stranger, more specific seeds, and a design critique tightened the interface. It was never meant to generate a good story, just to give someone a useful place to start.

read case study ↗ try it live ↗
1.6 ↘ shipped · macOS app · 2024

WatchMeType

A typing simulator that asks a quiet question about how schools handle AI.

role
Concept, UI/UX design, build (solo)
methods
Speculative design, SwiftUI prototyping
output
macOS app that reproduces a human typing rhythm

I built it because the conversation about AI in classrooms had become a checklist of what to ban. WatchMeType reproduces a human typing rhythm, varied pauses and corrections included. It can fool a teacher, easily. The harder question is what we are trying to detect, and whether teaching has to mean policing.

view source ↗
1.7 ↘ the through-line · 2017–2025

Eight years of curriculum design.

The unit plans I built had a lot in common with service blueprints.

role
Designer, facilitator (eight years)
methods
Instructional design, iterative material redesign, learner observation
output
Lesson plans, handouts, assessments, learner-centred materials

For eight years I watched where students got stuck, restructured the material, and tested whether the change worked. The vocabulary changes when I switch industries; the instincts carry over.

read case study ↗
1.8 ↘ campaign work · pre-UX

Aoni Campaigns

Audience research that made the case for humour.

role
Audience research, campaign copy
methods
Audience analysis, A/B campaign testing (direct vs humour)
output
Humour-led social campaign for a North American market launch

A Hong Kong condom brand wanted to enter the North American market on direct messaging. The audience research pointed the other way, toward humour. So we tested both. The humour cut won by an order of magnitude.

2.0 · experiments ↘ written guides · tools

Side things, made between projects.