Lab
Curiosity, unpolished.
Experiments and side-explorations that don't need a full case study — the places I try things first.

Web app · Education · 2026
Ngoding5
Indonesian-language practice site for programming logic and syntax, fully static with no login and no server: write code and run the test cases right in the browser (JavaScript in a Web Worker, Python through Skulpt), or read a program and guess its exact output. Each problem has tiered hints, a reference solution, an explanation, common mistakes and a "Copy to ask AI" button; progress stays in localStorage. 40 coding problems and 32 quizzes, all verified by running the JS and Python solutions against each other, with a content CLI and Claude Code skills to generate new ones. Vue 3 + Vite on Vercel.
- Vue
- Vite
- TypeScript
- Python
- Education

Web app · AI · 2026
Racik
Canva-style design editor with AI: write an idea and Claude lays out the whole design (layout, copy, palette, fonts) while an image model makes the visuals, then everything stays editable: text, images, layers, multiple pages. Export to PPTX with editable text, PDF, PNG/JPG and SVG. Rate results with 👍/👎 and set a Brand Kit, and the next designs follow your taste. Nuxt + fabric.js on the front, plain Go net/http and PostgreSQL behind it.
- Vue
- Nuxt
- fabric.js
- Go
- PostgreSQL
- AI

Web app · PWA · SaaS · 2026
Our Day
Shared photo album for weddings and events, filled by the guests themselves: they scan a QR code, type their name and shoot straight from the browser, with filters picked before the shutter, Locket-style stickers (time, weather, location) and no retake button. Photos and voice messages land in a live shared gallery; hosts moderate, download everything as a ZIP and get push notifications. Vue 3 + TypeScript PWA with a Go backend.
- Vue
- TypeScript
- Go
- PWA
- Web Push

macOS app · PWA · AI · 2026
AI Todo
Todo list and reminders you can run by chatting with an AI or by hand. One Go binary with SQLite, an installable Vue PWA with Web Push, and a Swift menu bar app with a badge, quick check-off and a chat panel (⌥⌘T). The AI only proposes actions; the server validates them, asks before deleting, and keeps everything undoable.
- Go
- SQLite
- Vue
- Swift
- AppKit
- AI

macOS app · PWA · Server · 2026
PasteLAN
Copy-paste text and images between a Mac and a phone through your own server: copy on the Mac and it shows up on the phone within a second; paste or pick images on the phone, tap Send, then ⌘V on the Mac. A Swift menu bar app with a clipboard history (⌘0–⌘9), a single Go binary with no dependencies that keeps clips in memory only, and an installable PWA with push notifications. No server? A local Wi-Fi mode pairs by QR code and encrypts everything with ChaCha20-Poly1305.
- Swift
- AppKit
- Go
- PWA
- Web Push

macOS app · Menu bar · 2026
LiteCalendar
Two-month calendar in the macOS menu bar: after the 15th it shows this month and next, before that the previous month and this one, with arrows, keys and trackpad swipes to move between months. Event dots come from the calendars on the Mac (iCloud, Google, Exchange) through EventKit. Pure Swift + AppKit in a single source file.
- Swift
- AppKit
- macOS
- EventKit

macOS app · Menu bar · 2026
LiteScroller
Menu bar separator for macOS that hides icons like Hidden Bar, plus a scroller mode: hidden icons appear in a scrollable strip over the menu bar, so they stay reachable even when long app menus or the notch would cover them. Pure Swift + AppKit in a single source file.
- Swift
- AppKit
- macOS
- Accessibility

macOS app · Menu bar · 2026
LiteMonitor
Lightweight macOS menu bar indicator for CPU, RAM, SSD, network and battery. Pure Swift + AppKit in a single source file with no dependencies: normal or compact mode, pick which metrics to show, about 15–25 MB of RAM.
- Swift
- AppKit
- macOS

CLI · Bash · 2026
my-commits.sh
Interactive commit reporter for many projects at once: pick a date range, the repos and the branches (wildcards like *kiki* work), and it lists your own commits per project and branch. The report shows in the terminal, can be saved to a file, or turned into a daily standup or weekly progress report with AI (Groq or Gemini), then copied to the clipboard.
- Bash
- Git
- CLI
- AI

CLI · Zsh · 2026
Git feature branch toolkit (gfb)
A set of zsh commands for a feature-branch workflow: gfb creates a branch from a base, gfbls lists branches by last use, gfbstatus is a fuller git status with push/pull state and next steps, plus commands to compare branches, find conflicts before merging, clean up merged branches, and generate commit messages and PR descriptions with AI.
- Zsh
- Git
- CLI
- AI

Dev tool · API · 2026
Rajabiller dummy customer ID search
Search and viewer for Rajabiller's dummy customer IDs (idpel_dummy) when testing PPOB / H2H API integrations, shown as table, tree and JSON.
- Vue
- Vite
- API
- PPOB
Dev tool · API · 2026
University list viewer
Search and viewer for the Hipolabs Universities API: filter by name, country, limit and offset through the API, then search, filter per column and export CSV in the browser, shown as table, tree and JSON.
- Vue
- Vite
- API

Machine learning · 2023
Melon leaf clustering
K-Means on GLCM texture features, validated with plant experts during the IPB summer course.
- Python
- K-Means
- OpenCV

Knowledge graph · Data viz · 2023
Insect–virus–plant networks
Interaction graphs and taxon embeddings explored while researching VektorPedia.
- Knowledge Graph
- Network Science