Projects

Jasmine

Jasmine

iOSSwift

An iOS application made to help improve English users’ command of Chinese through a gamified educational app. This game features minigames of varying difficulty as well as incentives to let users train regularly.

This app was made as a final project in NUS CS3217 (Software Engineering for Modern Application Platforms). In a team of four, we used the MVVM architechture to easily separate concerns. This provides me a real experience in collaborating with teammates on dividing work, code review, discussing over things, and so on. I contributed in the game logic.

Bubble Bobble

Bubble Bobble

iOSSwiftCocoapods

An iOS game similar to Bubble Mania/Puzzle Bobble, in which players shoot and try to match 3 bubbles of the same color (this has nothing in common with the original Bubble Bobble!). I built almost everything from scratch, including a Physics engine and a level editor.

This app was also made in NUS CS3217, serving me as an introduction in building iOS apps in general (Swift, CocoaPods, Apple’s MVC, and so on.)

Open Online Math Contest

Open Online Math Contest Website

Ruby on RailsNGINXUnicornPostgreSQLMailgunCapistrano

A web application for the organization Open Online Math Contest in Indonesia. Made in Ruby on Rails, this system allows users to submit answers (both short answers and essays) through this website. Uploading problems, short answers gradings, collation of results, and sending certificates are done automatically.

This app was my first major project and I learned so much along the way. I started from scratch by learning basic Ruby on Rails. Since then, I’ve learned things like complex SQL queries (and how to construct them in ActiveRecord), basic security, integration with APIs like Mailgun (for emails), app testing along with Travis CI, and even how to set up a server in NGINX and Unicorn, along with one-click deployment with Capistrano.

Bloghub

Bloghub

HTMLCSSJavascriptPHPMySQL

A web application that allows users to create blogs and post on them. This simple app serves as an introduction to software development in general, and was built to learn HTML, CSS, Javascript, PHP, and MySQL at the same time.