Projects & Competitions
FULL-STACK WEB DEVELOPMENT PROJECT
Developed a social media web app for poker players, with React.js & Express/Node on front/back-end - Feb 2023
Check it out in the link below!
Built API endpoints on the server-side that supports main CRUD functionalities for the front-end.
Persistent state and data storage for personal and public user information and posts were achieved with React Redux and MongoDB.
Implemented password hashing and HTTP authentication capabilities with BCrypt & JSON Web Tokens.
Major site features include registering/logging in new/old users, creating and updating social posts, adding friends, uploading photos, and day/night mode.
Mechatronics designer
ME102b Mechatronics Design Course - Jan 2022 to April 2022
As part of a semester mechatronics design project in University of California - Berkeley (in a group of 5), I helped to design and prototype a novel beverage dispenser product.
Named the beer-o-matic, the device was designed to relieve the workloads of bartenders serving beer during peak hours at a bar by dispensing beer on a demand-based first-in-first-out queue system.
As a mechatronic designer on the team, I used 3D CAD software (Solidworks) to conceptualise the product. We also utilised C++ on the Arduino framework to integrate the various IR, ultrasound, and limit sensors on the product.
We obtained an A grade for the project after a final product presentation and demonstration.
Final Prototype Design (Scaled)
For the purpose of building a scale model, we scaled down the product to have only 3 cupholders (an actual bar would require many more). The dispenser’s movement is enabled through a rack and pinion system, with a stepper motor as the main driver. A software queue system was devised to ensure that customers were served in order of whoever requested a drink first. Built in IR sensors were positioned at each cup holder to provide accurate feedback to the MCU on the position of the spout.
Cupholder with Cup Detection
A button is placed on every cupholder. Once a user places their cup on the cupholder, the button will be triggered and signals to the MCU that an order was placed.
Fluid Dispenser with Ultrasonic Level Sensing
An ultrasonic sensor placed right next to the spout could accurately measure fluid level remaining in the cup and dispense the exact volume of fluid required to top up the drink.
product designer
Renaissance Design Project - Aug 2020 to April 2021
As part of a 2 semester long design project (in a group of 6), I helped to design and prototype a novel crowd management product.
Branded as the FINDR, it helps to do away with the perennial problem of finding tables in crowded hawker centres. Think parking lot indicators, but for food outlets.
I used Autodesk Fusion 360 to model and render the product, and we utilised C++ with Arduino to develop onboard sensors and light arrays. 3D printed materials (PETG, PLA) were used to construct the main body of the device.
User testing and interviews revealed that our product left positive impressions on both customers and stallowners.
Final Presentation
We presented the product to a panel of professors, including the Director of the Renaissance Engineering Programme.
Web + app designer/Developer
Amazon Land Transport Challenge - Jan 2020 to Mar 2020
This competition revolved around streamlining the process of reporting defects from routine MRT track inspections carried out by SBS Transit inspectors. It involved active collaboration with SBS engineers, and numerous interviews carried out with SBS inspectors.
We were able to produce a solution that enabled inspectors to snap a picture with their phone, input in defect details, and send it off to the cloud (AWS S3 and EC2 were utilised), where an engineer back at HQ could analyse defects submitted in real time. I helped to implement machine learning techniques such as the Hough Transform to classify defects into severity levels, for ease of prioritisation by the engineers.
I was in charge of designing the app's UI, and I also designed and built a website portal that could receive data from the app.
Refresher/Tutorial Page
SBS transit inspectors were mostly middle aged, and were not the most tech-savvy. it was important to include a refresher page so that inspectors were aware of how to log a defect. This would ease the transition from pen to phone,
Logging an Inspection
After snapping a photo, the inspector had to input details from several drop down menus. Some of these could be autofilled depending on the route, such as Tunnel Clk, which was pre-determined before the inspection.
Real-time portal
I used adobe dreamweaver with HTML, CSS, and some javascript to allow the defect details to be received from the cloud. Inspectors would be able to view the defects from the previous night's inspection, in order of severity.
design engineer
Shell Eco-Marathon, Nanyang Venture Team - Aug to Mar 2021
The Shell Eco-Marathon is a global competition that challenges engineering students to design, build, and race clean energy vehicles of tomorrow.
I was chiefly responsible for drafting the base sketches from which NTU's next Hydrogen Fuel Cell vehicle (Nanyang Venture 12) would be designed. We then utilised Fusion360 and Solidworks to perform extensive 3D surface modelling to produce the designs for the NV12's carbon fibre-kevlar shell.
I also worked on various improvement projects on NTU's existing vehicles, including refurbishing the NV10's hydraulic braking systems.
Preliminary Sketches from the NV12
I had to adhere to several rules provided by Shell on the design of Hydrogen Fuel Cell-powered vehicles. Other than strict rules that limited dimensions from wheel base and track width, to side mirrow area, I also had to incorporate a sealed bulkhead between the driver and the pressured hydrogen storage tank. The designs above were the basis from where we started to model the vehicle.
Power Electronic Systems on the NV10
During the entire design process of the NV12, we also worked on the extensive electronic systems on previous vehicles. The NV10 pictured here was also powered by a Hydrogen Fuel Cell. Several Arduino Megas were used to control important onboard sensors and actuators, including controlling the Hydrogen supply. Improvement projects were started to supplement existing designs, such as to improve the software logic of the signalling circuit.
autonomous bot hardware engineer
YITU Technologies & REP Club - Oct 2019 to Mar 2020
As part of a joint design project between YITU technologies and REP's Makers Club, I revamped the hardware design on the YITU Bot, their early-prototype autonomous patrolling bot, in order to improve its stability and braking performance on inclined surfaces.
I utilised ROS and SLAM and gained some familiarity with Linux terminal commands in order to control bot movement. We designed algorithms to improve the braking logic on the bot once it detected it was on an inclined surface.
We also implemented hardware changes such as better wheels, a wider base, and an emergency braking mechanism to further improve performance.
Emergency Braking System
Emergency braking systems would help to bypass the issue of insufficient holding torque on the bot's stepper motors. An accelerometer was integrated to trigger the activation of the braking system.
Updated Hardware Prototype
Features such as a wider base to increase the angle tolerance of the bot as well as better wheels with a higher static friction coefficient were implemented to improve the bot's tolerance to tipping or slipping motion respectively.
Team member
SCDF x IBM Call for Code Innovation Challenge
This hackathon challenged teams to produce solutions, integrating IBM's cloud services, to streamline and improve SCDF's emergency response services.
We utilised platforms such as IBM Cloud, IBM Watson IOT, and Node-RED to design an integrated IoT solution to monitor and prevent refuse chute fires, which account for up to 25% of fires attended to by SCDF.
I also developed a dashboard to monitor temperature and smoke readings from inside these chutes, which were simulated with digital 'nodes' with node-RED.
Platform Landing Page for Visitors (Cropped)
Product Manager
INFO287 New Venture Discovery (UC Berkeley Entrepreneurship Course) - Jan 2022 to May 2022
This project was for an entrepreneurship course (conducted by University of California Berkeley) that challenged us to create a new tech product in a team of four.
We developed an idea for a new financial asset platform for retail investors, called AssetPoint. The platform aimed to combine the majority of a users investments (stocks, ETFs, crypto, etc) across multiple platforms into a single unified dashboard. This would enable them to make better informed decisions when data such as whole-portfolio return (%) could be calculated.
What initially convinced us of possible market demand was the fact that a shocking percentage of investors we interviewed mentioned using excel sheets at some point of their investment journey to summarise information across their investing platforms.
I was chiefly responsible over product development of the platform and landing page. As part of our user-study phase, I planned and executed several stakeholder interviews to identity early adopters, investigate investor pain points, validate market research, and test out mid- and high-fidelity prototypes.
I spearheaded front-end UI/UX design phase from initial prototype to final deliverable after extensive studying of market trends and stakeholder interviews. I generated extensive wireframes and subsequent high-fidelity prototypes with Figma.
Conducting A/B testing was one of my biggest learning points, testing was conducted amongst potential users to test out and identify most efficient home-page dashboard layouts to improve customer conversion from free to premium model.
A unified dashboard - all your asset data, at a glance.
Through user interviews, we identified that the vast majority of retail investors used more than two different investment platforms. For example, some would use Moo Moo for stocks, Binance for Crypto, and Interactive Brokers for certain ETFs.
By developing a dashboard that could grab and sort all their data, as well as provide portfolio insights, investors would be able to have a more in-depth understanding of their overall investment performance, and would be able to make better informed choices when performing transactions.
An account by account breakdown - if you need more info.
The dedicated accounts page helps users to get a breakdown on their individual performance for each platform. Despite the fact that users wanted a clearer overview of all their investments across platforms, many still mentioned their hesitance to lose granularity by moving to a summarised dashboard. Hence, an Accounts page was still necessary to convert early adopters.
Also, linking a new account is simple. Users can also link up to a certain number of different platforms to the dashboard, depending on which tier of our 'freemium’ pricing model they choose to sign up for.
Order and sell assets at a click of a button.
A site-wide trade button means you can gather insights about your portfolio performance from any page on our site and make the trade without navigating away or losing your train of thought.
Choose which platform you want to make the trade from and you’re good to go.
Other features (and features we should have implemented)
Other pages included a 'Market Overview' page, and a 'Portfolio Suggestions' Page. Due to time constraints, these pages were not developed as extensively as the rest.
Other aspects we could have worked on included making a mobile and tablet friendly version of the sites, but our priority was on ideating and prototyping on the web app, since most investors focused on using websites to make trades and do research.