Latest articles about Code

Dynamic SVG playing card generation on

A full deck of dynamically generated SVG cards in 47 KB. SVG cards are beautiful on hi-DPI devices, but tend to be as large, or larger than raster versions. This doesn’t need be the case.
Typescript | Svg | Code game design is a cat-themed Solitaire playing website and Solitaire history blog, because, why not? I developed the site as a project to improve my Typescript skills and get some exposure to SolidJS and Supabase.
Typescript | Solidjs | Supabase | Svg | Code

Design of the pollution monitoring site

Embee is a manufacturer and retailer of IQAir-compatible air filters based in Hong Kong. In addition to their main ecommerce sales site, I built a website that reports live air quality across Hong Kong at embee.
Aws | Shopify | Code

BT audio player: Firmware

Firmware design for the Bluetooth audio player project. The basic architecture uses events to trigger external interrupts. Handlers post the event details into a queue and a simple control loop polls the queue and dispatches events to various handlers.
Bluetooth Audio Player
Electronics | Microcontrollers | Firmware | Bluetooth | Code

Building a toaster reflow oven - Part 4 (Controller software)

This is part 4 of a 4-part series on building a toaster reflow oven: Oven hardware Controller hardware Manufacturing Controller software Continuing on from the prior posts on the controller hardware and manufacturing, the device needs software.
Toaster Reflow Oven
Electronics | Microcontrollers | Firmware | Code

Building the time lapse video

Before embarking on this construction project, I setup a camera to take a single photo every 10 minutes during the entire process.
Swimming pool construction project
Scripting | Ffmpeg | Photography | Code

Building an automated water level maintainer for my green wall to prevent another fish apocalypse

Building an automatic water manager for a vertical garden wall.
Water-level Maintainer
Electronics | Microcontrollers | Gardening | Firmware | Code