Portfolio

Skills and projects

What I'm good at, then each project with my role and the numbers behind it.

⬅︎ Back to the 3D intro3D

Skills

Product first, built with AI

I lead with product and user research, and I build by directing AI coding agents. The technical list is working knowledge from my projects, said plainly.

Product

Finding what users need, and writing it down so a team can build it.

  • User research and usability testing
  • Figma prototyping
  • PRD, MRD and BRD writing
  • Roadmapping and prioritization
  • Competitive analysis
  • Cross-functional leadership

Building with AI

Directing AI coding agents to build and ship software, and putting models to work inside it.

  • Directing AI coding agents (Claude Code, Codex)
  • LLM agents with Google ADK and Gemini
  • On-device models (Apple Foundation Models)
  • Speech recognition
  • Prompt design and evaluation

Hands-on with

Working knowledge from my projects, not fluency.

  • Python, Swift, SQL
  • TypeScript and Next.js
  • FastAPI and Supabase
  • Google Cloud (Cloud Run, Firestore)
  • Unreal Engine 5

Projects

Each with my role, the team, and the numbers behind it.

Magpie

#1

On-device dictation app for macOS

Role
Product owner and sole developer, with AI coding agents
Team
Solo
When
Sep 2026 – present

Hold a key, speak, and cleaned-up text lands at the cursor in any app. Speech recognition and cleanup run fully on device, in Chinese and English.

  • Text appears a median 1.4 s after the key is released (172 dictations, 6–8 November 2026); 2,400+ dictations of my own daily use so far
  • Memory down from 1.7 GB to 96 MB
  • Learned vocabulary raised correct terms on a finance-call test set from 907 to 974 of 1,193
  • 230+ merged pull requests and 40 decision records in 7 weeks, with a regression suite and a nightly benchmark on 7 speech test sets
  • Figures as of 8 November 2026.

Tools and methods

Apple Foundation ModelsQwen3-ASR on Metal (transcribe.cpp)Cohere Transcribe

In private use; a public release is planned. The repository is private.

Keep

#2

Autonomous household recall agent

Role
Sole builder, with AI coding agents
Team
Solo
When
Aug 2026Google's All Things Agentic Hackathon, Taskmaster track

Four Google ADK agents (Gemini) check three live US federal recall feeds (CPSC, NHTSA, openFDA) every hour. When something a user has registered is recalled, they pursue the remedy claim, with no chat and no user present.

  • False alarms treated as the core risk: a rule-based prefilter that cannot flag on its own, then an LLM judge for each candidate pair
  • 20 real decoy products give zero false positives
  • Running agent calls concurrently cut a sweep from 173 s to 2 s

Tools and methods

Google ADKGeminiCloud Run

The demo is offline and the repository is private.

ForestVR training scenario
VR emergency-response training

ForestVR

#3

VR emergency-response training

Role
Product Manager, level designer, API developer
Team
Team of 5
When
Jan–May 2025University of Michigan, EECS 440 capstone

Stakeholder research with the University of Michigan Fire Marshal and an analysis of the 2013 Yarnell Hill Fire located the training gap in crisis communication. That became LLM-powered voice conversation with the characters in the scenario, through the OpenAI API.

  • Wrote the MRD, PRD and BRD: 3 personas, 5 competitors, pricing and a 15-month roadmap
  • Ran the Jira backlog and sprints
  • Shipped on Meta Quest 2 and 3 at 72 fps
  • The team's projected 3-year financial model: break-even at 27 months, 105% ROI

Tools and methods

Unreal Engine 5OpenAI APIMeta Quest
Schedule Studio prototype screens
University of Michigan course-registration redesign

Schedule Studio

#4

University of Michigan course-registration redesign

Role
UX researcher and designer
Team
Team of 4
When
Jan–Apr 2025University of Michigan, EECS 493

4 interviews (80+ data points) showed students juggling 6+ platforms to register for classes; one concept-testing participant described "thirty-something tabs" open at once. The answer is a Figma prototype with 2 end-to-end flows, from finding a course to registering for it.

  • 7 think-aloud sessions over two rounds
  • 14 usability findings ranked by severity, leading to 12 design changes: for example, flagging a time conflict while a section is being chosen, not after
  • All 4 new users in Round 2 completed both core tasks

Tools and methods

FigmaUser interviewsThink-aloud usability testing

Solo user research

#5

A campus-navigation needs assessment and a store usability test

Role
Sole researcher
Team
Solo
When
Sep–Dec 2024University of Michigan, SI 422

Two studies I ran alone, from consent form to report. Five recorded interviews with Michigan students, using photo elicitation, showed that the core problem was finding the way indoors: connected buildings, room numbering, entrances. Then three moderated remote usability tests of ktown4u.com, a Korean K-pop store that sells to buyers abroad.

  • Interview transcripts coded into an affinity diagram: 148 quotes, 20 codes, 4 groups; delivered a persona and a journey map
  • Usability test: a test plan, a 10-task facilitator guide and per-task logging; 40% overall task success across 3 participants
  • Version comparison, shipping-cost calculation and order optimization failed for all 3 participants; fixes ranked by impact and effort

Tools and methods

Semi-structured interviewsAffinity diagrammingModerated usability testing

No public write-up: the recordings and transcripts are the participants' data.

SafeBite recall search interface
Food-recall search over FDA and USDA records

SafeBite

#6

Food-recall search over FDA and USDA records

Role
NLP pipeline lead
Team
Team of 5
When
2025University of Michigan, EECS 486

A 7-class taxonomy of recall reasons over 27,500 FDA and USDA records, with named-entity recognition for pathogens.

  • BERT classification at 81.57% macro-averaged precision, measured on 900 hand-reviewed records
  • A scraper that recovered 1,509 USDA records the official API could not return
  • Pathogen extraction with scispaCy

Tools and methods

PythonBERTscispaCy
Project report (OpenReview)Live app

The app sleeps when idle; one click wakes it.

KnowU card game screen
Real-time multiplayer conversation card game

KnowU

#7

Real-time multiplayer conversation card game

Role
Solo project
Team
Solo
When
2025

A web app (PWA) with two modes for 2–6 players and 71 prompts in 3 depth tiers, kept in sync live on Supabase.

Tools and methods

TypeScriptNext.jsSupabase