Projects
QueryDial
Personal Project | Feb 2024–
QueryDial is a Safari extension that allows you to search with custom search engine shortcuts. With QueryDial you can set up custom shortcuts for search engines, so you can search your favorite websites with just a few keys in Safari, so you can: Use "!yt cats" to search for cute cat videos on YouTube; Use "!w Gravity" to easily find the content you want on Wikipedia; Use "!x #trending" to view real-time trending topics.
InTransact
Personal Project | May 2023–June 2023
InTransact is an open sourced SwiftUI Document-Based iOS app, designed to help individuals and small businesses effortlessly manage their inventory changes through logging transactions. Whether you are a sole trader or a small business owner, InTransact provides a simple and intuitive way to track your transaction history. You can record purchase and sales information, keep track of your transaction records and monitor real-time stock level status.
Explorable Explanations for Adjacency Matrix
Postgraduate Project | 2020–2021
Explores the opportunity of using explorable explanations as medium for teaching visualisation techniques using a single-page application (SPA). Explorable explanations aims to engage readers learning their text-based materials using interactive widgets and animations. I carried out an iterative design process and eventually created an explorable explanation for one of the visualisation techniques – adjacency matrix. The SPA delivered uses Tailwind CSS, HTML Canvas, D3.js and Typescript, with a self-made UI framework.
Their Stories – Experimental Story Writing Environment
Postgraduate Project | 2019–2020
Their Stories is a website that presents an experimental idea which explores online narratives. It allows people to easily write stories in “parallel universe” concurrently. The entire website is built as a serverless app using Firebase.
Plastic Karma – A Desktop Card Game
Postgraduate Project | 2019–2020
Plastic Karma is a Unity (2D) based card game that aims to call people’s attention to microplastic pollutions. The original design incorporates Polage Art. However, due to the pandemic all physical artefacts must ‘transform’ into a digital form. My main role is to work as a developer developing a drag-and-drop based card game in Unity
PA-X Peace Agreement Visualisation
Postgraduate Project | 2019–2020
This data visualisation provides an interactive interface for the PA-X peace agreement database. I am the main programmer of the whole website. The visualization uses D3.js and Pandas.
Implement the Bitcoin Script in Racket Platform
Undergraduate Project | 2018–2019
Bitcoin Script is a forth-like stack based Turing-incomplete language, used by the Bitcoin Core internally. In this project, I take the Bitcoin Script to the Racket programming platform so that people will be able to explore the Script language with multiple tool support, including stack monitoring, error hints and syntax checking.
Square Editor – Text Editor Written in JavaFX 8
Undergraduate Project | 2017–2018
A Semantic based WYSIWYG Editor was implemented using JavaFX 8. Since Java FX doesn’t provide any customisable rich text editor component, we tried to implement the WYSIWYG text editing user interface using native JavaFX API. The editor support direct export to HTML webpages through XML (and XSLT). My main role is to develop the core algorithms and code the UI (with another team member) for this app.