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