Projects
Software, hardware, and everything in between.
tmprl: A Temporal Client for the Keyboard
projectA modal terminal client for Temporal: workflows, histories as a timeline, payloads through a codec server, a dashboard, mutations, schedules, and gf from an event to the code behind it. Four crates, 1004 tests, at v0.2.1.
fate-studio: Seeing and Driving Statecharts in the Browser
projectA viewer and simulator for fate statecharts. Open a descriptor snapshot from disk and it redraws as the file changes; drive a live machine over Server-Sent Events, even one running inside another service. One static binary, and the page makes no external request.
fate: A Statechart Engine for Go
projectHarel statecharts in Go, hierarchy, parallel regions, history, guards and delayed transitions. Zero dependencies, deterministic, and snapshots that restore exactly, including inside Temporal workflows. v0.5.0 fixes how parallel regions exit and makes dropped events observable.
sirna: Destroy the Key, Not the Copy
projectThe successor to otm. otm keeps a master key on the server, so the server can decrypt everything it holds: not patchable, because it is the shape of the design. sirna never lets the key reach the server at all.
v-pipeline: Renting a GPU per Job, Not per Hour
projectA personal video generation pipeline, the app and its files live in the homelab, the GPU is rented on RunPod Serverless and dies the moment a job finishes. Notes on idempotency, dry runs, and why restarting a worker can make you pay twice.
Tombakan: An AR Spearfishing Game That Teaches Fish
projectA Unity AR game where you place a water surface in your actual room and spear the fish matching a target colour. Seven weekly iterations, a tester report each time, and a scope that grew from a colour drill into a marine-life learning game.
Lemme
projectLemme is an AI-assisted quiz app. Users upload screenshots of quizzes, OCR extracts the question text, and multiple LLM providers generate candidate answers along with their reasoning...
gostudentubl
projectAutomated attendance runner for Moodle-based courses with scheduled execution.
A Plane-Geometry Android App (CLI-friendly)
projectA simple Android app built for educational purposes. Calculates the area and perimeter of basic 2D shapes like squares, rectangles, and triangles.
Workspacebook: A Campus Mobile Client in Flutter + Supabase
projectA Flutter app for campus use with Supabase for auth and backend, including the OAuth flow that has to be reconfigured every time the environment moves.
wa-bot-notif
projectWhatsApp notification service, Go + whatsmeow.
otm: One-Time Messages
projectPaste a message, get one link, and the link dies once it's opened. Go + chi + SQLite, with layered encryption: a random key per message, and that key itself encrypted with a master key.
busgo: A Bus Ticket Booking Flow in Flutter
projectA UI prototype for booking bus tickets, search, pick a bus, pick a seat, enter passenger details, pay, ticket. Flutter with Riverpod and go_router, no backend.
Attendance App
projectThis app was built by the Mobile Programming group using Flutter.
A Course Management System in PHP and MySQL
projectA simple web app for managing course data using PHP and MySQL. Supports **CRUD (Create, Read, Update, Delete)** operations with a si...
Marcom Services: The Bun + Elysia API Behind the Marcom Dashboard
projectThe Marcom dashboard's backend, Elysia on the Bun runtime, MySQL, JWT, Socket.IO on a separate port, and an expiry cron triggered over HTTP.
Marcom: A Marketing Communications Material Dashboard
projectAn internal dashboard for tracking marketing communications material by brand, cluster, feature, and type, with expiry reminders and realtime updates. Next.js 15 + React 19 on the front, Bun + Elysia behind it.
beepresent: A CLI and API for the Campus Course Portal
projectA course-portal scraper wrapped as an API and a CLI, course lists, assignments, quizzes, and attendance submission, with a one-week cache because the data barely moves.
ALGO3 - Graph (Adjacency Matrix, C)
projectThis repository is prepared for the ALGO3 teaching pattern based on:
Cisco Packet Tracer Learning Course
projectThis folder is organized as a hands-on course for learning computer networking with Cisco Packet Tracer.
test_presence: GPS-Validated Employee Attendance
projectAn attendance app with geolocation-validated check-in and a leave-request flow. Go + SQLite backend, React front end with a map preview of the office radius.
Running
Things in actual use whose code is not public. These are pictures, not links: except the ones that are mine.

A warehouse stock log for a small business: pick your name, and every item in or out is recorded under it. Built because a notebook and a WhatsApp group always lose to a shift change.

AQUABROSS
A bathroom-fixtures company site: product catalogue, store locator and careers pages. Built and taken all the way to production.
More on GitHub
This list is picked by hand, not filtered by date: a batch of repos was bulk re-pushed once, so their timestamps cannot be trusted.
- TypeScript
A self-hosted studio for fate statecharts: open a machine to see its diagram, then step through it in the browser over Server-Sent Events. It can open descriptor snapshots from disk, redraw them as the file changes, and proxy their simulator to a machine running inside another service. Kept separate so the engine stays dependency-free.
- Ruststars: 19
A keyboard-driven terminal client for Temporal, aiming at parity with its web UI. Workflows, histories you can follow like `tail -f`, payloads through `jq` and a codec server, mutations that show the equivalent `temporal` CLI command, schedules, batches over a visual selection, and a dashboard over the namespace. A production profile can be locked read-only.
- Rust
Encrypted messages and files whose KEY can be destroyed on demand, and once it is gone every copy of the ciphertext dies with it, including the copies you do not control. The envelope travels over any channel; the key goes separately as 24 words or a QR code. Rust, XChaCha20-Poly1305, and the server links the header parser only, so it cannot decrypt anything it holds.
- Gostars: 1
One Time Message, share a secret through a link that works exactly once. Go + chi + SQLite; the body is AES-GCM encrypted and the row is deleted from the database the moment it is read. Rate-limited, with PWA support.
- HTMLstars: 1
A handwired wireless split keyboard: Scylla/Charybdis geometry, 24 finger keys + 5 thumb keys per hand (58 keys), two nRF52840s running ZMK, printed on an Elegoo Neptune 4 Pro with an articulated tenting stand.
- Shellstars: 2
The whole macOS workstation config in one repo, Ghostty, nvim, tmux, yazi, aerospace, sketchybar. GNU Stow symlinks the repo into `~/.config`, Homebrew Bundle installs the packages, and `install.sh` runs both in one go.
- Python
Pothole detection with a LeNet-5 CNN whose core is written by hand in NumPy, convolution, pooling, ReLU, softmax and backpropagation all derived and coded from scratch, with no deep-learning framework. Ships with a paper and a web demo.
- Shell
Clones a macOS `.app` into a second, independent copy with its own bundle identifier: so two Braves or two Slacks can run side by side. Editing `Info.plist` breaks the code signature, so the clone is re-signed ad-hoc.
- C
The board before ArkButton: a handwired Dactyl Manuform split, QMK firmware, wiring and flashing all done by hand. Its layout is the one later replicated into ArkButton’s ZMK keymap.
- Dart
An Arabic vocabulary guessing-card game for Indonesian players, built with Flutter. Google sign-in, card modes, a global scoreboard, and challenge cards you can send to another player.