Hello there!

My name’s Keith and I like to build things. I’m a UX/Interaction designer by training, now a software developer by trade. I have a passion for building all kinds of media - from game design to writing to film to interaction design.

Graduating with a degree in New Media, specifically in UX and interaction design, I set out to design beautiful digital experiences, but found myself wanting to know more about how to build them as well. Since then, I’ve created full-featured web platforms and mobile apps, QA strategies and testing frameworks, marketing and analytics web pages, and led engineering efforts for UI components and design systems.

I’m fuelled by a love for learning and a constant desire to become better at what I do, and my love for technology has led me to learning the craft of programming and developing software.

Personal Portfolio



Part of Singapore Biennale 2022, 氵pasang traces the ghost rivers that flow from the straits to the shores of the city, guiding us along spectral currents that exist even in the absence of their physical bodies. This self-guided walk takes approximately two hours to complete with participants loosely guided through a series of prompts, provocations and activations.

voices in a room - Feelers Feelers

voices in a room is a Feelers Labs performance project, taking the form of printed performance scores which are rehearsed for the future individually and together. A number of performers were invited to improvise with their performance scores independently. You can experience these improvised performances on an interactive website where you can toggle various effects and features as they unfold.

OH! Stories: New World's End

The official website for New World’s End, OH! Open House’s first permanent installation – a multi-sensory theatrical experience that tells the story of two lovers caught up in the glitz and glamour of the swinging 60s at New World Amusement Park.

Days - and counting (Season 2)

Days — and counting is an on-going portrait of COVID-19 that captures the surreal and strange times we live in through the lens of art and artists. The programme unfolds in three seasons each taking the form of an immersive digital experience that explores our new reality under the pandemic.

For the House; Against the House

For the House; Against the House looks at social issues in Singapore through a unique debate format where art establishes the arguments. In addition to the physical experiences, a digital experience was also offered, consisting of two interactive text-based games inspired by the propositions.

WOOD 2020

The website for WOOD 2020, the first edition of the Elemental Trilogy series of art exhibitions that would examine our human relationship to natural resource in a precarious world faced with climate change. It was unfortunately postponed indefinitely due to COVID-19.

A Very Special Wedding

This project was very personal to me - a fully digital wedding RSVP with custom invitation content for each guest. Each guest was given a uniquely generated URL that showed them a personally written note, and recorded their RSVP for our wedding. Made in collaboration with our wedding planner, who developed the overall theme of the wedding.


Space Missile Invader Command 3000 (or SMIC3k) is an an asymmetric 2-player game built in Javascript with the Phaser game library. One player uses the mouse to shoot while the other player tries to survive using the arrow keys. Inspiration was drawn from several retro arcade games such as Space Invaders, Missile Command, and Tetris.

Planet & Stars

Planet & Stars was a creative coding project using the three.js rendering engine to create three-dimensional objects using Javascript in the browser. A mobile-only project, it made use of the mobile phone's accelerometer in order to rotate the planet, while tapping on it transformed it into a star field.

Space Jam

Space Jam was an experiment in real-time collaborative apps - The idea was to create rooms with samplers that multiple people could play at once, allowing for real-time live collaborative music-making over the web. Space Jam was also an opportunity to combine several technologies - It was built using React, sockets, sequelize, and several Javascript music libraries.

UX Design


Sonigram was a product of Sonoport - a web-based social media app for matching animated gifs with sound effects. I was an intern at Sonoport for a period of 3 months, during which I conducted user interviews, parsed data from application testing videos, and developed user flows, mockups and prototypes for further implementations of the application. During my time at Sonoport, I learned how to use new tools for UX design and research such as and Adobe XD, as well as soft skills for research such as how to conduct effective user interviews and make insights from user data.


Synthery was a web app for musicians that created visuals based on MIDI inputs during live performances, in order to easily create visuals for performances that built on musicians' existing acts. Developed by a team of 4, I was one of the designers on the team that developed the visuals using three.js in Javascript and helped to design the user experience of assigning visuals to inputs from MIDI instruments.

Grocery Hero

Grocery Hero was a UX design project - a conceptual VR experience that teaches players good shopping habits to prevent food wastage. For this project, the team and I had to apply fundamental UX and usability concepts to a new platform, implementing solutions such as effective onboarding and intuitive usability for a non-tech-savvy target audience. The final concept deliverable for the project was filmed and edited in Adobe After Effects and Adobe Premiere.

Game Design

A Night To Remember

A Night To Remember is a choose-your-own-adventure story written as an interactive storytelling experience. You are an amnesiac who wakes up alone in a hospital, and must remember how you got there. As the player, you choose how to remember events that led to you being hospitalized, and must come to your own conclusions.


Campester is a turn-based board game for 2 players that was a project for a Playable Art course, based on the historical topography of the Flat Earth. Players take on the roles of explorers travelling the Flat Earth in search of historical artifacts, using strategy to get the most valuable artifacts before the other player. Campester was developed and created by a group of 4, in which I was the principal game designer on the team.

The Quiet World

The Quiet World is a visual novel based on the poem of the same name by Jeffrey McDaniel, in which the government has limited all people to 167 words per day. Readers choose their responses to different situations as they go about their day, balancing their words and responses carefully. This project was ideated, written and developed by a team of 4, in which I was the programmer of the game. The Quiet World was developed using HTML, CSS and Javascript.



1200 is a short film about a lonely boy who finds a magic watch that transports him to an alternate dimension when he sleeps. Written, filmed and produced by a team of 5, I was the sound designer as well as one of the editors on the project.

I Have A Willing Heart

I Have A Willing Heart is a short documentary about the Willings Hearts soup kitchen and its founder, Mr Tony Tay, which delivers around 5000 meals to the homeless in Singapore every day. This project was written, filmed and produced by a team of 5, in which I was the director of the film.

Resume / Skills






React Native

















After Effects

Premiere Pro