A Programmer's Perspective

My Projects

Golang

Pratt parser implementation for mathematical equations with operator-less parsing and smart text tokenization

ElixirScenic

Conway's Game of Life visualizer tool built with Elixir and Scenic

TypescriptElectronReactTailwindCSSTypeORM

Simple RSS feed aggregator

ElixirEctoRedis

URL shortening service

go-http-server

Gocli

HTTP server written from scratch using Go!

Markdown

An introduction to the Git version control system. This guide aims to bridge the gap between knowing basic Git commands and properly understanding how they work! The main guide has been completed but new content will still be added!

woojiahao.github.io

JavascriptGatsby.js

Personal portfolio site built with Gatsby.js. All the content is stored as files so that the key changes made to the web pages would only involve styling, making the site portable and easy to use.

GoGingo-git

API for serving COVID-19 statistics built using Go + Gin. The API uses the open-source COVID-19 statistics dataset from https://github.com/CSSEGISandData/COVID-19

torrent.go

Go

Implementation of the BitTorrent protocol in Golang. Everything used in this project has been built from scratch to properly learn how to use the features of Golang. This project currently only supports single-file torrents.

KotlinKUtils

Discord bot that displays daily programming events happening in Singapore

KotlinFlexMarkFlying Saucer

Simple and customisable markdown to PDF document conversion library.

KotlinAndroidFirebase

To-do application built with Kotlin and Android to teach the basics of Kotlin and Android development for a workshop.

Kotlin

Discord administration bot

Population Analysis

PythonFlaskSQLAlchemygunicornnumpyMatplotlibPandasPyGal

Analysis of population trends in Singapore with data provided by https://data.gov.sg

BookIt!

JavaAndroidFirebaseTesseract OCR

Book price aggregation app. Uses Google Books API, New York Times API, and GoodReads API.

file-to-db-tool

Pythonpandassqlalchemytkinterpsycopg2pymysqlsqlalchemy_utils

Simple desktop utility for converting CSV files to database tables. Supports PostgreSQL and MySQL.