Projects

Problems I was handed, and what solved them

Enterprise platforms, field tools, and a few things built for myself. Each one starts with the constraint it had to live inside.

Product Videos

Short Reels That Explain an App

9:16 and 16:9Music and SoundFrame by Frame 2026
Nine reels for six products
Problem
An app that people only understand once someone walks them through it, and a screen recording that turns small text into a blur on a phone.
Decision
Rebuild the product's own screens, colours, fonts and words, and render the reel frame by frame with example data, so it stays sharp and reads with the sound off.
Result
An app explained in about a minute, in portrait for feeds and landscape for meeting rooms.

Ampera

Employee Transfer Planner

Svelte 5SheetJSOffline-First 2019
Used by Pertamina HC team
Problem
Every month the HCBP team spent half a day in a room rebuilding position boxes in PowerPoint from Excel, while general managers waited for each what-if.
Decision
A single page that reads the team's own Excel files and writes the plan back. Nothing to install, and all personnel data stays on the laptop.
Result
Half a day became 45 minutes, and a second refinery adopted it.

Signing Ceremony

Live Digital Signature for Events

SvelteKitWebSocketNode.js 2026
Live at signing.muktiadi.com
Problem
Officials sign on stage in front of the room. One tablet over a PDF means misclicks, lost strokes, and the occasional signature wiped while everyone watches.
Decision
A purpose-built app. One tablet, one laptop, one signer at a time, and every screen in the venue following the pen. Nothing to install.
Result
Live, and used at real ceremonies.

Interview AI

Automated Screening Interviews

SvelteKitOpenAI Realtime APIRecorded Video 2025
Used in PFSeries candidate vetting
Problem
Screening scholarship applicants at scale without exhausting the interview panel.
Decision
Automate the screening interview, not the human one. Real-time voice in the browser on the OpenAI Realtime API plus recorded video answers. The panel kept Zoom.
Result
In production, and demoed live to Pertamina's CEO and President Commissioner.

Broadcast Email

WhatsApp Broadcast to Email

SvelteKitAI FormattingDeliverability 2026
Used at Pertamina Foundation
Problem
Staff sent broadcasts from their own mailboxes, capped at 500 a day, with no record of what arrived. They were already fluent at broadcasting, on WhatsApp.
Decision
The first field is a box for the WhatsApp message, pasted as written. The system formats it, applies the house standard, sends from the organisation's domain, and keeps a record per recipient.
Result
Onboarding takes about two minutes. The 500 ceiling is gone.

PFSeries Scholarship

Enterprise Scholarship Management

SvelteKitPocketBaseDexie.js 2025
Pertamina Foundation scholarship platform
Problem
A scholarship programme run across dozens of spreadsheets, with every stage of the application handled by hand.
Decision
One platform with role-based access and a multi-stage application workflow, local-first with Dexie.js so a slow connection never blocks the work.
Result
The registration-to-monitoring backbone of the foundation's programs.

P-Carbon

Commuting Carbon Tracker

SvelteKitLocal-FirstGamified 2026
CO2, fuel, and Rupiah saved per commute
Problem
Nobody could see what their daily commute cost in CO2, fuel, or rupiah, so there was nothing to change.
Decision
Log each commute by mode and distance, compute emissions and savings against driving alone, and turn the numbers into trees, weekly charts, and a story card people share.
Result
A demo with sample data and an executive dashboard on top.

Lestari Capture

Offline Field Tree Inventory

SvelteKitPWAOffline-First 2025
GPS-tagged tree records, exported as ZIP
Problem
Tree inventories in the field, with weak signal and photos that lose their location by the time they reach the office.
Decision
Wait for a good GPS fix, capture the tree, tag it by QR or ID with species and condition, and keep everything on the device until one tap exports a ZIP.
Result
GPS-tagged records that survive a day without signal.

APD AI Detection

Browser-Based PPE Detection

TensorFlow.jsComputer VisionSvelteKit 2024
Real-time PPE detection without GPU server
Problem
Safety checks at site gates depend on whoever is on duty eyeballing hard hats and vests.
Decision
Run the detection model in the browser with TensorFlow.js instead of streaming footage to a GPU server. No provisioning, no recurring cost, no footage leaving the device.
Result
A working proof of concept as one URL, running on a 2020 iPad.

Meeting Notulen AI

Automated Meeting Transcription

OpenAIWhisperGPT-4 2024
Automated minutes from meeting recordings
Problem
Minutes written after the meeting, late and incomplete.
Decision
Transcribe the recording with Whisper and summarise with GPT into structured notes with action items.
Result
Minutes from the recording, not from memory.

Saku

Offline-First Personal Finance PWA

SvelteKitDexie.jsPWA 2024
Live at saku.muktiadi.com
Problem
Money tracking that stops working the moment the signal drops or the app store says no.
Decision
Offline first. Data lives on the phone, syncs in the background, and the app installs from the browser without an app store.
Result
Live, with budget forecasting on top of the ledger.

BinaTOEFL

Daily TOEFL Practice

SvelteKitPocketBaseGamified 2026
Fictional product, sample data
Problem
TOEFL prep that feels like a wall: long tests, English-only explanations, and no reason to come back tomorrow.
Decision
Five questions a day explained in Indonesian, a 42-lesson path across grammar, listening, and reading, and points from practice that buy a full simulated test.
Result
A fictional product built as a portfolio piece.

Yayasan Berdampak

Transparent Donation Platform

SvelteKitDonation FlowOpen Reporting 2026
Fictional template, sample data
Problem
Donors give and never learn where the money went.
Decision
Show the split for every rupiah, let the donor set their own split between programs, and publish a live feed and monthly reports.
Result
A fictional template built as a portfolio piece.

Lumina English

Language School with Parent Portal

SvelteKitQR AttendanceParent Portal 2026
Fictional template, sample data
Problem
Parents pay for a course and hear nothing until the report card.
Decision
QR check-in in 30 seconds, grades and teacher notes pushed to a parent portal, bills paid from a phone, and certificates that can be verified.
Result
A fictional template built as a portfolio piece.

SMART-TB Scholarship

Enterprise Scholarship System

SvelteKitPocketBaseMulti-Role 2024
5 user roles, 20-sprint development plan
Problem
A scholarship process with five kinds of user, from applicant to disbursement, and no shared system between them.
Decision
One platform with five roles and a workflow from application to fund disbursement, planned across twenty sprints.
Result
Every stakeholder working in one place.

HC Executive Dashboard

Data Analytics & Digital Transformation

Power BISQLKPI Frameworks 2021
Launched by VP of Human Capital
Problem
Monthly HC reporting rebuilt by hand at each refinery, with no comparable view for executives.
Decision
Power BI, the tool management already opened, with KPIs refined together with the HC team rather than invented for them.
Result
Replicated at RU IV Cilacap, then adopted across every refinery unit.

Covid Ranger Chatbot

Conversational AI & Access Control

Node.jsWhatsApp APIQR Code 2021
700 daily messages, 3,000+ residents served
Problem
Residents of a housing complex needed exit permits during Covid, and the security post needed a way to check them.
Decision
A WhatsApp chatbot, because every resident already had WhatsApp. Supervisor approval in the chat, a QR code at the gate.
Result
Over 3,000 residents served, about 700 conversations a day.