Matthew Lee
Technology Designer & Developer
Change to Night
View his portfolio. Play a game! About him. Contact him.

Portfolio

More
Less
TrAVEl
Press coverage by The Straits Times
My Final Year Project to help the visually impaired and elderly use public transport
More
Less
MeL Pentesting
Blackboard Learn MeL Vulnerability
Discovered and recommended countermeasures for vulnerabilities in NP's e-Learning portal as an assignment
More
Less
SOWS
E-commerce website in 3 weeks (start-up)
A brief experience working pro bono at a start-up
More
Less
Also Can!
English to Singlish translator (Ngee Ann Polytechnic)
Also includes a machine learning module
More
Less
Photobooth
Photo booth software (Ngee Ann Polytechnic)
Software include photobooth & display screen for photos taken
More
Less
GRPG
A Generic RPG
An rpg similar to runescape classic developed in 3 weeks
More
Less
The King's Hand
A 3D stealth archery game using GameMaker
Developed in 2 weeks without prior GML or 3D programming experience in a team of 2
More
Less
Little Strike
A 2D multiplayer top down shooter
Developed in 2 weeks in a team of 2
More
Less
Splash Wars
2nd runners up in Splash Awards 2012
A personal achievement, as the game was developed in 2 weeks without prior C# Silverlight experience
More
Less
Bookshelf
Web app to keep track of reading material
By indexing and summarizing what they read, users are better able to remember the finer points of useful articles.
More
Less
Scenery Traveller
Travel the world from your home
Complete with an editor for your own version
More
Less
Photoshop
Feat. Mr Anand
60+ high res. images of Mr. Anand's face in various movie posters (lol)
More
Less
Speak Me Not
Virtual Microphone using Google Translate
Speak to your friends in Google Translate's voice using text (CLI or GUI, Windows using Google Translate & VLC)
More
Less
Form Doer
A suite of scripts that automate the filling of online forms
Features include randomized input using regex, probabilities for radio buttons/checkboxes etc.
Discovered vulnerabilities in Ngee Ann Polytechnic’s (NP) e-Learning portal MeL
2 man team
1 month
Javascript, HTML/CSS

Me and two of my classmates discovered vulnerabilities in Ngee Ann Polytechnic’s (NP) E-learning portal, Blackboard Learn – Mel while working on a school assignment that required us to find vulnerabilities in any software / hardware.

Together with another classmate, I documented the vulnerabilities, developed proof-of-concept attacks and demonstrated them to our supervisor and NP’s administrative staff while recommending countermeasures. I'm not at liberty to elaborate on the vulnerabilities but they were severe enough such that they can be exploited to obtain the credentials of lecturers and other students easily.

This project taught me the value of IT security as I observed first-hand how one vulnerability (or a combination of vulnerabilities) can easily cause grievous harm to any organization. All of us definitely learnt not to be complacent; everyone had preconceptions that the system would be infallible before embarking on the assignment and we were shocked (and a little amused) when we discovered the vulnerabilities.
Press coverage by The Straits Times, Ngee Ann Polytechnic Outstanding Innovation Team Award (Student Excellence Award 2015)
3 man team
1 semester (~16 weeks)
Android (Java & XML), PHP

For my final year project, I decided to develop an Android mobile application that improves the lives of the less fortunate in my community. Together with 2 other like-minded individuals, Jeremy Lim and Jian Yu, we embarked on TrAVEl as our final year project.

TrAVEl is an Android application (app) to help the visually impaired and elderly navigate Singapore using public transport. It automatically plans the best route based on the starting and ending points provided. It provides real-time updates even if there are other apps running to ensure the user is kept updated on where he is, when the next bus is arriving and also informs the user when to board/alight the bus/train through notifications. The route is recalculated if the user missed the stop.

The user experience (UX) is both visually and aurally designed for the visually impaired and works well with Android accessibility features (e.g. Talkback) if necessary. There is also a help button at the same location on every page to guide users if they are disoriented. Testing was done with the visually impaired guides at Dialogue in the Dark (DID) to ensure satisfactory UX.

A key feature is the speech-to-text recognition of a large dataset of Singapore places such as Jurong East, Bishan or even Bukit Chandu which makes it a lot easier for visually impaired to use (compared to existing apps). The app is also able to recognise speakers with different accents and pronunciations of most Singapore locations.

The development of TrAVEl has also led to the creation of spinoff apps, such as a bus timing monitor for the Pebble smartwatch which is also visually impaired-friendly, and a bus location viewer which uses live data from users of TrAVEl to display the locations of buses. It has also been covered by The Straits Times and won our team the Ngee Ann Polytechnic Outstanding Innovation Team Award.

After our final year project, we have worked with Ngee Ann Polytechnic (NP) and DID to refine the application. Since then, the team has handed over the project to NP publish and provide maintenance.

I am very thankful to NP, my advisors and last but not least my team of friends who made this project a success. It is my wish that the application would be helpful to the visually impaired and elderly community, especially since I have friends and relatives who fall in either category. travel team image
The TrAVEl team & supervisors. From left: Mr. Henry Thet Swe, Matthew, Jeremy Lim, Jian Yu, Mr. Charles Keck. Not in photo: Mr. Andrew Tan, Mr. Ng Weng Choh
One of the two games that won me the Unity Technologies Prize, Featured in graduation showcase
3 man team
3 weeks
C++ DirectX

For a games development school assignment, I developed a parody of Runescape Classic with 2 classmates. Features include fishing, cooking, mining, trading, equipment, eating, map generation, mob generation, fighting and quite a number more such as quests.

The game basically leads the player from one quest to another, ultimately culminating in a boss fight with a dragon.
One of the two games that won me the Unity Technologies Prize, Featured in graduation showcase
2 man team
2 weeks
GameMaker:Studio Standard (Free)

My first exposure to 3D game development, I created a 3D game using GameMaker with a classmate. Features missions, relatively realistic archery (takes wind and heartbeat into account), skills etc.

This was despite the fact that I had little to no prior experience with either 3D game development nor GameMaker Studio and that we were expected (and advised) to only develop a 2D game.

I had wanted to develop a 3D game to challenge myself as I had already done various other 2D games previously and also because I also believed that the game idea of archery simulation would be better served with a 3D perspective than a 2D perspective.

It was tremendously satisfying when we surpassed everyone's expectations with the quality of the game, especially considering we did it so quickly and with all the GameMaker quirks.
Featured in graduation showcase
2 man team
2 weeks
Windows Form Application (C#)

Me and one of my classmates decided to take our Windows Application Development assignment to the next level and we created a multiplayer top-down shooter (which can support up to at least 8 players). Has multiple classes (specializations) with different abilities (such as turning invisible) and weapons and various other features like scoreboards, primitive map editor etc. Delta timing was also implemented to ensure smooth gameplay.

This assignment was especially memorable as we were the only team that conducted a live playtest when we were presenting to the lecturer and the class. Seeing everyone enjoying our creation made all the effort worth it.
2nd runners up in Splash Awards 2012
3 man team
2 weeks
C# Silverlight

During my first semester at Ngee Ann Polytechnic, I joined the Splash Awards competition with two classmates. As nobody in the team had any prior C# knowledge (and we only had a bit of coding practice), I had to learn C# and build a game with Silverlight in 2 weeks from scratch on my own. My effort paid off and we clinched the 2nd runners up position.

In addition to learning C# and winning 3rd place, the experience was unforgettable as it was a personal life lesson on the value of passion, focus and determination. The game is on the Windows App Store here.
Photoshop

During web development class, me and a few friends discovered a security vulnerability in a website belonging to our lecturer which he was using as an example. This vulnerability allowed us to change the image on the website and we thought it was a great idea to photoshop our lecturer's face into a movie poster and put it on the website.

This snowballed into an entire photoshop portfolio featuring him, Mr. Anand Ravi Deshpande. The full portfolio can be found at http://tinyurl.com/photos-of-mr-anand.

Note: This was a harmless prank on a website used for purely educational purposes; Mr. Anand was greatly amused and not insulted by the prank. On our graduation day, we gifted him a collage poster of these photoshopped images with our signatures, much to his and our amusement.
1 man team
3 weeks
C++, VLC, VB Cable

I created this Windows application because I wanted to "talk" to my friends while gaming, yet I did not have a microphone. I thought it would be cool (and funny) to speak to them in Google Translate.

It was!

More at the GitHub repository for this project:

1 man team
Javascript, HTML/CSS

A suite of scripts to automate the filling of online forms such as Google Forms, SurveyMonkey etc. Allows me to randomize results by regex, set percentages for MCQs etc...

As you may suspect, I am not going to make these scripts public because these scripts have the power to perform Denial Of Service (DOS) attacks on a form and can easily render any form's data useless in a few seconds (especially for SurveyMonkey; a DOS on SurveyMonkey would take less than a second because it enforces a limit of 30 survey results for a free account).

These scripts were developed for experimental purposes only and have only been used on sample forms.
1 man team
3 weeks
Javascript, HTML/CSS

Imagine yourself standing in front of the world's grandest scenery. In front of the grand canyon. In lush forests. Accompanied with music.

Scenery Traveller teleports you from your home into the beautiful parts of the world, as if you are there amongst the foliage, or at the top of a mountain.

Demo: https://crazoter.github.io/Scenery-Traveller/scenery_slideshow.html?id=4ojMLPg
Editor: http://crazoter.github.io/Scenery-Traveller-Editor/editor.html

More at the GitHub repository for this project:

An editor for this project is also available at this GitHub repository:


As you might have guessed, this project was originally a very elaborate joke
2 man team
3 weeks
Javascript & HTML/CSS (Bootstrap), PHP & MySQL (Laravel)
Save Our World Services

Save Our World Services, or SOWS for short, is an online portal for services and products by companies in Singapore.

Together with another technology developer, we revamped their existing website and content management system (CMS) using Bootstrap as our front-end framework and Laravel as the back-end framework.

Because the start-up company was undergoing a business overhaul, much of their existing website and CMS had to be scrapped; everything had to be redesigned and recreated from scratch.

The project was fraught with scope creep and changes, so much so that the founder of SOWS personally apologized for it. Fortunately, me and my colleague managed to pull through. We had delivered:
  • A relatively clean and responsive online portal that acts as a listing for services. Users can login to rate / favourite services, while companies can update their profile as listed services are linked to an existing company in the system.
  • A content management system for the business' employees to be used for managing the services listed on the portal.
We had also created an online messaging system similar to Web Telegram within 2 days and implemented an API for a mobile version of the portal but these features was removed due to scope change.

I am proud to say that the founder of SOWS was very satisfied with our work and astounded by our work ethic considering that we were unlikely to (and did not) get paid for our efforts.

All in all, it was a very tough experience because we had to rush so much work out in so little time but I learnt a lot through the process and from my colleague on both front-end and back-end development.
1 man team
1 month
Android (Java & XML)
Ngee Ann Polytechnic

Also Can! is a English to Singlish translator mobile application developed for Ngee Ann Polytechnic. This application syncs the Singlish dictionary with a server so that when a translation is corrected by one user, other users also get the improvement. There is a versioning system which allows the admin easily remove/ignore entries that they believe are spam.

It can be downloaded here on the Google Play Store.
1 man team
Javascript, HTML/CSS

Bookshelf is a responsive web application created for users to keep track of what they read, or to take notes. What it does is it allows the user to summarize their reading material and tag them for future reference. Or they can just tag them for future reading. The main idea is to provide a platform for the user to keep track of what he reads and allow him to make notes / summarize if he wishes so that he can remember the more important points better.

Bookshelf has various features:
  • CMS for articles; add, edit, delete, search by tag/date/title/content, pagination etc
  • Uses Material Design (by Materializecss, but animations are changed to use CSS to provide smoother animation on mobile)
  • Responsive
  • Other little usability nuggets like automatically populating the add article input fields upon pasting in the article URL (e.g. filling in the title & description with the page's meta tags), Markdown for description/summary etc.
Bookshelf is currently not made readily available to the public because of it still relies on Parse as its CMS, which has a limit on the number of responses per second (even if it is just the retrieval of data); I am unwilling to risk the probability of a Denial Of Service (DOS) attack. It is also not public because of possible copyright issues such as summaries of articles from Harvard Business Review. This web application may have a GitHub repository for it in the near future for developers to create their own version of it.
Bookshelf landing page with all sorts of tagged articles
An example of an article's summary, complemented with the use of Markdown
4 man team
4 weeks
Javascript, HTML/CSS, PHP (Laravel)
Ngee Ann Polytechnic

I was hired by Ngee Ann Polytechnic (NP) with a group of other students to develop Photobooth, a web application that allows the user to take a photo of himself, frame it (from a wide range of frames) and give it a caption (which can be dragged to position it). The web application is usable on a computer, tablet or a mobile phone. The photo taken will then be displayed on a large screen for everyone to see.

Photobooth was used by NP School of ICT for Open House 2015. It was very satisfying to see the software run without a hitch on the day itself and to see everyone using it without complaints. To see their faces light up in amusement as their faces appeared on the screen was very fulfilling.

About

It is a passion of mine to design, create and refine software applications be it for research, for improving quality of life, or entertainment purposes.

I graduated from Ngee Ann Polytechnic with a Diploma with Merit in Information Technology, Solutions Architect specialization.

My mantra in life is to always improve myself, to learn from others and to be gracious.

In my free time, I like to read books, articles & webcomics. I also watch anime.
On top of playing games and dreaming up game concepts, of course ;)


Gamification

Currently in development.
back to top