Visit my new main site at clarencesiew.com
I'm Clarence, and I'm a software engineer. I'm based in Melbourne, Australia. I was born and raised in Penang, Malaysia.
I love studying history and have some interest in graphic design (I design all visual assets for my projects myself).
The current version of my site was published on 31 July 2020. See the previous version of this site for any missing content. I am in the midst of building a new version of this site using Vue, which you can take a sneak peek of.
I am both a full-stack web developer and mobile app developer.
With web development, I've had experience building sites with a variety of stacks. I've built APIs with Node/Express and Java/Spring. I've built frontends with React and also my own custom libraries.
With mobile development, I've had experience developing iOS apps in Swift with both UIKit and SwiftUI.
A podcast web app that allows you to manage your podcast subscriptions and bookmarks with an intuitive, well-organised interface.
It uses Node/Express for its backend API service. Its frontend uses Node/Express for server and routing functionality, whilst EJS is used for basic server-side templating and my own custom frontend library is used for single-page application functionality.
Public beta access will be available in the near future!
A client-side web frontend library (more so a collection of functions to enable single-page web apps). The previous version of my site and my 'Hoddle' Javascript window manager contain the foundational work for this library.
My upcoming podcast app uses this yet-to-be-named library extensively. I will publish this library on GitHub once it reaches some level of maturity.
A recipe scrapbook app for iOS. Its design is extremely minimalistic and revolves around the user's recipes and only their recipes. It's written in Swift and uses the SwiftUI framework. It's also open source.
A podcast web app that lives in your terminal. It stores indexes of your podcast subscriptions and episode data in JSON files.
It's written in Python and uses the pygame library for audio streaming functionality.
Limitations with pygame and cross-platform compatibiltiy (Linux and macOS) led me to start working on a web-based podcast client (which was initially codenamed Podzol).
A static site generator written in Python. Ideal for blogs. Work on a rewrite had been on-and-off until 2020.
An app and service that lets commuters report incidents (crime, hygiene, medical emergencies, etc) on public transport. It used the Public Transport Victoria APIs to get data on public transport services and station metadata.
A lightweight Debian-based Linux distribution designed for old hardware (e.g. 32-bit x86 PCs). It used IceWM as its window manager in version 1.x, before transitioning to the LXDE desktop environment from version 2.x onwards.