Let's build nice things.

Hi there!

So, do you? Like to build nice things, that is? As a product owner & manager, and as a software engineer, it’s what I do! Whether I’m creating for a global user base, or supporting an internal team, I strive to build delightful experiences that make peoples’ lives easier.

With 10 years of experience in the digital education space, my milestones include: shaping a product vision on web and on mobile devices for a leading corporation, delivering features and products used globally by over 200k students, and writing classroom content used by more than 3000 teachers worldwide.

Want to know more? Shoot me a message on Twitter or LinkedIn, or explore my Github repositories (links open in a new window.)


I am able to wear many hats. I have a professional level of expertise as a product manager, web developer, and as an academic editor & manager.

mobile device icon

I can manage it. I facilitate communication between disciplines with ease, helping stakeholders, engineers, and designers define vision and value, by talking in their language.

digital product icon

I can design it. From user research, to wireframes & mockups, or interactive rapid prototypes I can bring ideas to life and maximise buy-in, using the tools of the trade such as Sketch, Flinto, and Zeplin.

rubkiks cube icon

I can develop it. I use the latest technologies such as graphQL, react.js, and react-native to deliver delightful experiences on web and mobile. I solve design problems with creativity and data-driven analysis.

Projects & portfolio

Boosting organizational memory and resource planning: Working with freelancers means an inevitable level of flux in availability of quality talent. Teams with even a modest number of freelancer relationships find this data difficult to manage. To solve this, I started fling.work, the first ‘freelancer relationship management’ system.

fling.work landing page
fling.work freelancer data

Open-source & collaborative: I have open-sourced the app on GitHub. It’s developed with one full-time collaborator and several other freelance developers and tech enthusiasts from a Shanghai-local coding collective called Coderbunker.

Fixing the oldest problem: In digital language instruction, the biggest barrier to learning is the lack of opportunity to practice and test speaking. We fixed that for mobile users, by creating a new decision-based speaking activity with asynchronous teacher grading and feedback.

Students are asked to spontaneously produce language they’ve been learning and teachers listen to the production giving grades and specific feedback on their errors and areas for improvement.

Centre of innovation: as a product designer and part of a cross-functional team, we innovated to bring practice and examination of reading and writing onto the mobile platform. A real challenge given the affordance and constraints of mobile devices.

Creativity and code: A collection of my software development projects built for FreeCodeCamp

You can find more examples of my work on Github or Codepen.

Experience & Education

All these things that I've done - a visual history of my work experience and time spent gaining valuable skills