Skip to content
AFM Studio
  • Pages

    AFM Studio
  • Work
  • Lab
  • About
  • CV
  • Contact
  • Projects

    AksaraA searchable library for Otorita IKN's knowledge, where the server checks every reader's access across three levels
  • Daily TaqwaTamper-resistant prayer attendance system for ~2,000 OIKN government employees at Masjid Negara IKN
  • Lantara v2A permit engine for Otorita IKN where administrators add new permit types from a screen, without a developer
  • eKiosk IKNTwo control rooms for Nusantara: kiosk content management and live bus tracking with arrival times that grade themselves
  • E-Monev IKNA monitoring platform for Nusantara's 23-year build, tracking every unit's quarterly progress against 24 national KPIs
  • JDIH OIKNOIKN's public legal document portal, with a controlled publishing workflow and AI summaries that never leave the server
  • Jejak PenanamanA check-in app for IKN tree-planting events that proves each participant was on site with a geofenced selfie
  • Dashboard SAKTIA nightly pipeline and dashboard that replaces OIKN's manual budget downloads for all six of its budget units
  • DoseRxA bedside dose calculator for 127 drugs that rounds each dose to tablets and syrups Indonesian pharmacies sell
  • CubiqA speedcubing trainer with competition-grade timing and a solver I wrote for each of the 8 major puzzles
  • ScimotionAn interactive science library of 86 articles, each explained next to animations the reader can control
  • WA Daily Scrum BotA WhatsApp bot that chases missing standup reports for a 14-person team and flags tasks stuck for days

↑ ↓ to move · Enter to open · Esc to close

Lab · 47

Lab

47 independent projects: explainers, data atlases, tools and games, mostly about Indonesia. Built after hours to understand how things work.

Track

Track

Type

Status

Explainers

30 projects
Scimotion
Live
Explainer2026

Scimotion

An interactive science library of 86 articles, each explained next to animations the reader can control

Next.js · TypeScript · MDX

Faraid Visualizer
Live
Explainer2026

Faraid Visualizer

An Islamic inheritance calculator that traces every share to a cited source, comparing KHI and classical Syafi'i

Python · Next.js · TypeScript

Myers Visualizer
Live
Explainer2026

Myers Visualizer

An interactive replay of what git diff does inside, including why it sometimes blames the wrong line

Next.js · React · TypeScript

Git Rebase Simulator
Live
Explainer2026

Git Rebase Simulator

A safe sandbox for practising rebase, hard reset and force-push, where commit ids change as in Git

Next.js · React · TypeScript

Stemmer Visualizer
Live
Explainer2026

Stemmer Visualizer

A step-by-step view of how Indonesian words are cut to their roots, dead ends and double roots included

Next.js · React · TypeScript

Raft Simulator
Live
Explainer2026

Raft Simulator

A Raft simulator that lets you switch off each safety rule and watch the guarantee it protects break

Next.js · React · TypeScript

Spectrogram
Live
Explainer2026

Spectrogram

A live spectrogram that draws the pitches in your voice, using a transform I wrote and proved correct

Next.js · React · TypeScript

Sketch Lab
Live
Explainer2026

Sketch Lab

An interactive lab for four probabilistic data structures, with the exact answer running alongside to expose every error

Next.js · React · TypeScript

Isolation Anomaly
Live
Explainer2026

Isolation Anomaly

An interactive score of two clashing database transactions, checked against 220 recordings from four real databases

Next.js · React · TypeScript

Congestion Lab
Live
Explainer2026

Congestion Lab

A packet-by-packet simulator showing why your video call stutters when someone at home starts a download

Next.js · React · TypeScript

Angklung Simulator
Live
Explainer2026

Angklung Simulator

A browser angklung that shares a song across a room of players, every note computed from bamboo physics

Next.js · React · TypeScript

Tide Analysis
Live
Explainer2026

Tide Analysis

A tide explainer fitting eight Indonesian ports from raw readings, which refuses when a record is too short

Next.js · React · TypeScript

Anatomi Rupiah
Live
Explainer2026

Anatomi Rupiah

Explains how to check the security features of Indonesian banknotes, drawn as diagrams marked SPESIMEN by law

Next.js · React · TypeScript

Zero Shadow Day
Live
Explainer2026

Zero Shadow Day

Finds the two days a year the sun stands overhead anywhere in Indonesia, with dates checked against BMKG

Next.js · React · TypeScript

Pola Hujan
Live
Explainer2026

Pola Hujan

An atlas of Indonesia's three rainfall patterns, computed from raw satellite data so anyone can check it

Next.js · TypeScript · React

Bentuk Kota
Live
Explainer2026

Bentuk Kota

An atlas measuring 33 Indonesian neighbourhoods twice, by car and on foot, to show what car-only metrics miss

Next.js · React · TypeScript

Periodic Lens
Live
Explainer2026

Periodic Lens

A periodic table that builds its own shape on screen and maps Indonesia's share of world mineral production

Next.js · React · TypeScript

Rumah Adat Nusantara
Live
Explainer2026

Rumah Adat Nusantara

A collection of 35 traditional Indonesian buildings computed from their cultural rules, each showing how much is documented

Next.js · React · TypeScript

Query Planner
Live
Explainer2026

Query Planner

A browser-based database engine that shows every plan it considered and where its row estimates went wrong

React · TypeScript · Vite

Mixed Traffic Simulator
Live
Explainer2026

Mixed Traffic Simulator

A traffic simulator showing that Indonesia's rule of one motorcycle as 0.25 cars depends on how it's measured

TypeScript · React · Vite

Anatomi QRIS
Live
Explainer2026

Anatomi QRIS

An explainer that builds QR codes step by step and lights up the squares behind each QRIS field

React · TypeScript · Vite

Suara ke Kursi
Live
Explainer2026

Suara ke Kursi

An interactive model of Indonesia's 580-seat parliament where you change the 2024 election rules and watch seats move

React · TypeScript · Vite

Compression Lab
Live
Explainer2026

Compression Lab

An interactive lab that shows what text costs to store once the compressor's own model is counted

React · TypeScript · Vite

Linkage
Live
Explainer2026

Linkage

An interactive lab that re-identifies people in synthetic data, showing that removing names doesn't make a dataset anonymous

React · TypeScript · Vite

Mind Reader
Live
Explainer2026

Mind Reader

A left-or-right game where machines guess your next press, including two rebuilt 1950s Bell Labs machines

React · TypeScript · Vite

Oracle
Live
Explainer2026

Oracle

An educational demo that reads an encrypted message without the key, using only yes-or-no answers from a server

React · TypeScript · Vite

History Explorer
Live
Explainer2026

History Explorer

A reference site ranking 419 historical states, where every figure cites a named source or shows a gap

Next.js · TypeScript · Tailwind CSS

Ruleset
Live
Explainer2026

Ruleset

A static site tracing why sports rules changed, and where a change breaks a record series in two

Next.js · D3 · TypeScript

Field Atlas
Live
Explainer2026

Field Atlas

A map of how math, physics and biology branched into their fields, every turning point sourced

Next.js · React · TypeScript

Language Lineage
Live
Explainer2026

Language Lineage

A branching map of how language families split over history, where every disputed classification shows both sides' evidence

Next.js · TypeScript · React

Tools

9 projects

Data atlases

5 projects

Games

2 projects

Workflow systems

1 projects