Projects

Things I've built and still run outside work. The source for each is on GitHub.

Bancuh DNS

since 2015

Blocks ads, trackers, malware and adult content for whole networks, with nothing to install. Seven servers in four locations, serving plain DNS, DNS-over-TLS and DNS-over-HTTPS, and answering around six million lookups a day. It started as a personal ad-blocking DNS server and grew into a filtering server written in Rust, a dnsdist front end with automatic certificates, and a blocklist tuned with its users.

simplesolat

since 2025

All seven daily prayer times, a Qibla compass and home screen widgets, working offline. Uses official timetables for nine countries, gathered from each country's religious authority, and calculates times locally everywhere else. New countries are added through a data repository without an app update. On about 600 phones, mostly in Malaysia.

GibTalk

since 2023

An Augmentative and Alternative Communication app, inspired by JABtalk: tap words and pictures to speak them aloud. Word sets can be edited, backed up and loaded from ready-made collections. Free, with no ads. On about 1,250 Android devices, almost all in Malaysia, and on iPhone and iPad too.

keytree

since 2026

One keytree.yaml in a public repository says who can log in where: users, groups, and servers by hostname or pattern. Every server syncs it hourly into its own authorized_keys, and a failed fetch never removes access. It looks after the logins on every server I run.

Homelab

since 2025

A Proxmox host running small Alpine Linux VMs for the router and a k3s cluster managed with Flux, plus a VM for development workspaces. Public traffic arrives through an frp tunnel from a small VPS, and wildcard certificates come from a self-hosted acme-dns. It runs this site, the projects' websites, GibTalk's symbol search and Bancuh's status page; Bancuh's DNS servers are rented separately.