Works

Mobile

Envoy Passport is an iPhone app that allows you to sign-in Envoy visitor iPad app quickly without typing your personal information again and again. I joined the iOS team from rails team on demand and developed the stamp card feature with fancy physical animation in two monthes.


Embassy & Ambassador Embassy is a lightweight HTTP server library written in Swift. And Ambassador is a lightweight web framework for mocking API endpoints for UI automatic testing. I developed these two open source projects for Envoy in a weekend.


TipWander is an iOS location-based social network app, you can wander around to see what's interesting by your finger tips with it, also hang out with local people in the virtual world.


Minus Board is a sharable whiteboard app for iPad. I built it as a pet-product for myself as I need to communicate with my remote co-workers, I found that it's hard to explain many ideas without sketching, such as software system architecture. Since I cannot find a decent sharable whiteboard app for iPad, I decided to build one. For the whole story behind this project, you can read my article: How I launch a product in few weeks


Power Grid Coordinate Calculator is a simple Android app which converts power grid coordinate (A coordinate system used by the Taiwan Power Company) to lat/lon, TWD97 (Taiwan Datum 97) and TWD67 (Taiwan Datum 67).

Website

Bugbuzz is a web-base online debugger, only supports Python debuggin for now. Dashboard was written in Ember.js. Still a prototype.


EZComet is a cloud service which provides realtime web message pushing like Pubnub. It is written in Python. I use Pyramid as the web framework, Twisted and ZeroMQ for backend servers.


Now.in is an online radio platform for anyone to create their own radio in 3 minutes. It is the biggest project I have never developed on my own. It was designed as a distributed system. It can stand for more than 10K online audiences based on some cheap rental dedicated servers. The peak output bandwidth usage once reached 1.5Gbps. It is composed by different sub-systems, including audio streaming servers, website, Flash player, web-based chatroom, mobile apps, client GUI and routine tools. It was written mainly in Python. It was started at my first year in university and took me four years to go online.

Desktop App

Mojito is an open source emoji input method for OSX written in Swift.


Vector-based Drawing App is a contracting software project project I did while I was still studying in university. It is a vector-based drawing desktop GUI application. It is written in Python with wxPython as the GUI library. I use Cairo as the graphic drawing engine. From kick off to delivery final product, only took me two weeks.

Embedded System

Embedded system

Augmented Reality GPS Guidance System is the graduate project for my Bachelor degree of Computer Science. It is a prototype of GPS guidance system with augmented reality concept. It is composed by an embedded system which runs WinCE OS with GPS module, digital compass module and a webcam. It reads lat/lon and direction, then renders corresponding augmented reality road map on the captured image from the webcam. The video demonstrates how it works on a moving cart in campus. Due to the factor 3D rendering is not well supported in that embedded system environment, I also developed a simple software-based 3D road map rendering system. The whole system is written in C++ language with MFC.

Game

Dreamonline is a MMORPG project started when I was 13. At very first, it was written in VB6.0 with Direct Draw for rendering. Then I rewrite it in C++. I start over the project more than 6 times. It is still not finished yet, but I learned programming from this project.


HTML5 Based 2.5D Map Rendering Engine is a simple 2.5D map rendering engine based on HTML5 canvas I wrote for fun.


Python-HGE is an Haaf Game Engine Python binding. I use a C++ library Boost.Python for writing the binding. It is under MIT license.