I'm Flora Hang, a UBC Computer Science + Psychology graduate ('26) and CFA Level II candidate based in Vancouver, BC. I design and build products end to end: from hypothesis and experiment, to prototype, to production.
Selected work across engineering, research, and finance.
A practice app for singers: AI reads sheet music from PDFs or photos — staff or numbered (jianpu) notation — into playable notes, renders the score in the browser, and plays the accompaniment on a sampled piano, following tempo, dynamics, and phrasing. Singers can transpose to any key, slow the tempo, mute parts, start from any note, and fix misreads in a built-in editor.
Deploying on Cloudflare (Workers + D1 SQL database) with email/Google sign-in and a song-credit model — every new account gets one free song.
Stack: React, JavaScript, VexFlow, Tone.js, Claude API, SQL (Cloudflare D1), Cloudflare Workers
Visit the appA map-first event finder for Vancouver-area cities, live on GitHub Pages. A Node.js script pulls the Ticketmaster Discovery API for the next 60 days, de-duplicates and filters listings, and a GitHub Actions workflow refreshes the feed hourly. Features clustered map pins, category filters, keyword search, saved events, and add-to-calendar with correct Vancouver time zones.
Designed in Pixso with accessibility built in: keyboard navigation, visible focus states, and screen-reader labels.
Stack: JavaScript, HTML/CSS, Node.js, GitHub Actions, Ticketmaster Discovery API, OpenStreetMap
Visit the live map Source codeFor Advanced HCI Methods, our team studied why university students waste food — then ran a within-subjects experiment (N=10) on a food-waste management app to answer two design questions: does grouping the pantry by expiry status beat grouping by food type, and which notification strategy do users actually prefer?
My contributions: originated the concept and wrote a user story; wrote the hypotheses and defined the experimental conditions, independent/dependent variables; drafted the task protocol; built the lo-fi and medium-fidelity prototypes used for A/B testing (including the rationale for the med-fi approach); collected data from participants; recorded the prompts used to generate prototypes.
Methods: formative field study (N=5), cognitive walkthrough, within-subjects A/B experiment, Qualtrics surveys, paired-samples t-test.
Takeaway: organizing the interface around the user's goal — not the food ontology — cut task time nearly in half, and became the recommended default layout.
A little background.
B.A., double major in Computer Science and Psychology from UBC — completed in three years, Dean's List. Coursework across software engineering, databases, algorithms, machine learning, visualization, and HCI methods, plus research methods and behavioural data analysis.
CFA Level II candidate (May 2027). I build three-statement models, do financial statement analysis, and practice reconciliations and accruals under one-on-one mentorship from a practising accountant. DataCamp Data Analyst (Power BI) track completed.