Cross platform

Monoline is a cross platform note taking app works like a messenger but only for sending to yourself


Zero Inbox is an iPhone app designed for zeroing your inbox. It comes with unique multiple action choice with single swipe UI design.
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).


BeanHub BeanHub is a modern accounting book service based on the most popular open source version control system Git and text-based double entry accounting book software Beancount.
LIVELYBG A website for sharing video virtual backgrounds for zoom meetings or other video conferencing apps.
Open Doodles Generator is an online generator for a set of free illustrations, designed by Pablo Stanley and built by me. The project is written in TypeScript with React, and is open sourced here.
Avataaars Generator is an easy-to-use online avatar maker, based on Pablo Stanley's Avataaars Sketch library. The React component is open sourced here, along with the avatar generator React app. Avataaars Generator is the #1 product of Nov 19, 2017 on ProductHunt.
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. 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.


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.


ZeroMQ CVE-2019-13132 is a security vulnerability I found for ZeroMQ library. It's a buffer overflow bug which in theory allows remote code execution. After finding the bug, I requested a CVE ID, CVE-2019-13132 and disclose it responsibly to the ZeroMQ developers.