Selected work

Start with these three.

All three are products I built and still maintain. Every one of them started as a problem I ran into in my own life and wanted to solve.

LiveTRA

2017 —

LiveTRA

A better way to know when your train is coming.

Real-time train information for Taiwan Railways — schedules, delays, transfers and live status in one screen.

What I did
Product design · UX · Frontend · Backend · APIs · Data · Infrastructure
Built with
Nuxt · Vue · Node.js · TypeScript · PostgreSQL · PWA · 8 languages
Status
Live and maintained since 2017.
DroneMapTW

2025 —

DroneMapTW

Where can I fly?

An interactive map of Taiwan's drone flight restrictions — built because every existing one was hard to look at.

What I did
Product design · UX · Data visualization · Maps · Frontend · Backend · Infrastructure
Built with
Nuxt · Vue · TypeScript · TypeORM · PostgreSQL + PostGIS · tileserver-gl · planetiler · tippecanoe · Python
Status
Live, and checked against the source every day.
ScrumPoker

2017 · 2026

ScrumPoker

Estimation was taking whole afternoons.

Planning poker you vote on from your phone, with the points syncing straight back into JIRA. Made for my own team at work.

What I did
Product design · UI · Frontend · Real-time sync · JIRA integration
Built with
Nuxt · Vue · Firebase · Cloud Functions · Tailwind
Status
Live, and used by my team.