2022
A map-centric approach to explore Singapore’s Electronic Road Pricing (ERP) rates.
Includes animations that aid in the discovery of gantry rates. Relies on automated GitHub Actions pipelines to periodically fetch, process and update the custom Mapbox style.
Built using TypeScript, React, Mapbox, Playwright.
ExploreMap of all ERP gantries and current rates
Animation to hint of a swipe gesture
Swipe gesture to see all rates
Collapsed view showing upcoming rates
Expanded view showing all rates
See rates by vehicle type
See rates by time
2020
A landing page for Singapore’s Government Digital Services.
Built using TypeScript, Gatsby, styled-components.
ExploreAnimated hero banner (Desktop)
Animated hero banner (Mobile)
Animated 'What we do' section (Mobile)
Animated 'What we do' section (Desktop)
'How we work' section
'Benefits' section
'Blog' section
2020 - 2022
Service that tracks the distribution of items to ensure each resident gets their fair share.
Primarily used for COVID-19 initiatives such as the distribution of reusable masks, contact tracing tokens, antigen rapid test kits and tourism credits.
Built using TypeScript, React Native, Expo, Node.js, Serverless Framework, AWS (API Gateway, Lambda, DynamoDB).
ExploreLogin via QR codes
Scan ID (type of ID is configurable)
Over-the-air updates via Expo
Quota of items to be distributed
Toggles with acceleration and rounding
Configurable items via AWS Parameter Store
2019
A calculator that helps you understand how much you should save every month to reach your financial goals.
Move and resize your goals through the interactive D3.js chart to see the effects and recommendations.
Built using React, Redux, D3.js.
ExploreInteractive chart to find out if you're saving enough for your goals
Home page
Enter current savings
Select goal category
Enter goal details (amount and date)
See recommendations on how to meet your goals
Commit to saving the specified amount
Late 2017 - Mid 2018
An interactive visualisation tool to explore spatio-temporal transport datasets.
Created a custom force-directed chart that represents route choices and a time manager that makes filtering and navigating the temporal aspects of the dataset easy.
Built using React, Redux, D3.js, Mapbox, Koa, PostGIS.
ExploreDashboard screen
Basic shapes and colours used
Tooltips
Graph to show route choices (1). Thickness and length of links are proportional to the number of commuters and duration of the route, respectively.
Graph to show route choices (2)
Graph to show route choices (3)
Linking the map and chart
Example of land use composition
Time manager for navigation
Patterns of 7 similar neighbourhoods
Early 2016
A multiplayer endless-running iOS game where players compete against each other in real-time.
Play against your friends in a real-time test of agility, speed and concentration or generate obstacles to try to wipe your friends out in special multiplayer mode.
Built using Swift, Cinema4D.
ExploreMain game screen
Single player mode
Duck under cranes
Jump over crates
Player movements
ducking
running
jumping
Environment
Icon
Promo