Websites, robots, hardware. The full list.
LV systems for our electric FSAE car — custom STM32 dashboard, harnesses, and ECU firmware so the car can race and we can see the data.
Coffee cart app for Jayapura. Find a cart on a map, order ahead; sellers run the fleet from a web dashboard. iOS and Android.
Obsidian plugin that syncs your vault to your own Supabase. Two people can edit the same note at once (Yjs), and attachments come along.
Ask questions about your Obsidian notes and get answers with citations, or generate a new note. Works with OpenAI, Gemini, Claude, or a local model.
A Raycast extension with the small tools I kept opening extra tabs for — time conversion, base64, networking, mock data.
Gym booking for KEVII Hall. Book a slot, check in/out, and you get points if you no-show. Still used by the hall.
Write a Python function in the browser and step through it. Built so I could see what the code was actually doing.
I built this to log workouts, weight, and food. Gemini helps with recommendations and guessing calories from text or a photo.
AMRs at SICK — LiDAR + ROS for nav, plus a Flask app to drive and watch the robot.
Company site for Millennio. React, TypeScript, Tailwind — a clean landing page.
Landing page for Kiasu Hawker, the hawker platform we built for Samsung Solve For Tomorrow (1st runner-up).
Hawker POS from the Samsung Solve For Tomorrow project — live orders, sales, menus. React and Laravel.
Seat sensors in a hawker centre. ESP32s talk through Node-RED so the app can show which seats are free.