Projects

Selected side projects and tools I have built and kept running, from local-first apps to small web utilities.

Open source

ByteMorph

A cross-platform file converter that runs entirely on your own device, in the browser or as a native app.

Dart 3.12, Flutter 3.44 · Pure-Dart image codec, bundled ffmpeg.wasm for media · Web, Windows, macOS, Linux, Android, iOS · Installable PWA with a local CanvasKit bundle, no CDN

Side project

Free BTO Planner

A client-side financial calculator for Singapore HDB flat purchases, covering both BTO and resale.

SvelteKit 2, TypeScript · adapter-static, prerendered, no server · Entirely in the browser · Static files, nothing to maintain

Tooling

ShayuQR

A QR code generator that runs in the browser, with real styling control and no upload step.

SvelteKit 2, TypeScript · adapter-static, prerendered, no server · Colour Thief, palette pulled from the centre icon · PNG or SVG download, PNG to clipboard

Open source

Cappu Crypt

A small key management API for projects that need encryption but not a key management platform.

Java 22 · Spring Boot 3.3 · PostgreSQL via Spring Data JPA · Docker Compose or a JVM binary

Tooling

Kot The Mail

A Kotlin CLI that sends mail from a pipeline, configured by flags, a JSON file, or both.

Kotlin 2.3 on JVM 21 · Jakarta Mail over SMTP or SMTPS · Gradle 9, ktlint, SonarQube · Container image or a release jar

Open source

Redact

A secret-redaction library for C++20. Text goes in on its way to a log and comes back with the secrets masked.

C++20 · CMake 3.24 · clang-tidy and clang-format · libFuzzer harnesses and benchmarks

Tooling

Redoubt

An external security monitor for domains you own: TLS, DNS, certificate transparency, content drift and four reputation feeds, reporting only what changed.

Java 25 · Spring Boot 4.1 · Maven, seven modules · Docker Compose