Here are some projects I’ve done in the past.

Watermark Toolbox

Remove watermark in images with basic CV operations.

Galaxy Simulator

This is a small simulator I’ve made after learning Three.js. It generates some planets in the 3-D space randomly and simulates the gravity and inelastic collision between them, which equals a minimal physics engine.

Life Calendar

I was impressed by the idea of Life Calendar in the passage Your Life in Weeks, and attempted to make a front-end implementation. This small application can record the things I’ve done everyday and the “meaningfulness” I assign to them, the details are recorded in the post Life Calendar.

SQL Visualizer

This AST Visualizer is a by-product of Database Course Design, as I have already made a SQL parser. The input is SQL statements, and output is the abstract syntax tree of it. The Viz.js is used for drawing, which is Graphviz compiled to front-end.


MiniDB is the product of my Database course design. we made a Database management system called MiniDB, which supports basic CRUD, concurrent transactions and log-based recovery.


JSCHIP-8 is a emulator of CHIP-8 game console at last century, it also supports an extended instruction set called Super CHIP.


This is a tool to convert PPTX presentation files to markdown. I use it to help me take notes faster on class.

Proteus CPU

This is a project from Computer Organization, we designed a CPU using Proteus, which is micro-program based. This logical design can be compiled down to PCB layout.