Product Manager · CS background

I like the messy part where nobody's decided anything yet.

I'm a Computer Science student turned product person - I've spent the last few years shipping software, running a freelance studio, and fixing broken processes for 1,200 people at a time. This site is a record of the decisions behind that work, not just the outputs.

recent_decisions.loglive
decidedconsolidate 5 fragmented nav trees into 1 for the EEECS student hub
shippedrota system used weekly by live bar staff, built solo end-to-end
learnedaccessibility isn't a feature you add later - it's a decision you make first
decidedlead every case study with the trade-off, not the tech stack
What I've been building

Four projects, four different kinds of hard.

01

Bar Rota

A full-stack scheduling system built solo for a live venue with five venues-within-a-venue and a staff roster that never stopped changing.

0→1SupabaseSolo build
Read the case study →
02

EEECS Student Hub

Rebuilding a SharePoint site used by 1,200 students, with accessibility for neurodivergent users as the starting brief, not an afterthought.

IA & UXAccessibility1,200 users
Read the case study →
03

Studio Cathán

Running a freelance studio end-to-end - client discovery, brand identity, and web builds for three real businesses, on real deadlines.

Freelance3 clientsBrand + web
Read the case study →
04

VR Clinical Simulation

An immersive training platform prototype exploring how VR can make high-stakes clinical scenarios safer to practise.

VR/XRPrototypeResearch
Read the case study →
Why product

I've written the code. I'd rather decide what gets built.

I came up through CS, but the part I keep gravitating toward is earlier than the code - talking to the person who's stuck, figuring out what actually needs to be true, and making the call when there isn't a clean answer. Running Studio Cathán taught me to hold the whole picture: client, budget, timeline, and the actual human waiting on the other end.

Read my full story →