Agentic web app over live Indonesian e-procurement data
A tool-calling agent that searches and screens live tenders from SPSE/SIRUP public data, scores qualification gaps against a company profile, runs semantic search, and exports results to Excel. Built to be auditable end to end: every figure in a report traces back to a logged HTTP request, and per-agent token metering reports the real cost of a session in USD and rupiah.
Live SPSE/SIRUP data · Auditable request log · Per-agent cost metering (USD–IDR)
Built with Google ADK, Gemini, Cloud Run, FastAPI
Gemini Enterprise pre-sales research build, Metrodata
Two ADK agents on Vertex AI Agent Engine behind a single console. The first settles building-store rebate claims whose answers exist only inside photographs, grounded on nine programme letters indexed in Vertex AI Search; the second explains why a delivery went off plan and proposes an action, reading a year of operations in BigQuery — 529,458 delivery rows across 181 distribution centres. Both were graded case by case against an answer key the agents never see, and a run of 58 identical cases settled a design question: thinking HIGH bought 1.8 points of root-cause accuracy, lost 3.5 points on the action it recommended, and cost 6.6× the time. The corpus is synthetic on public foundations — real product lines, real distribution cities and populations, no client data — and the agents only draft the file and name who must follow up: they never approve, reject, or close a case.
736 graded cases, 0 technical failures · 240/240 claims correct, 72 answerable only from photos · 49/49 caught when action was genuinely needed
Built with Google ADK, Gemini, Vertex AI Agent Engine, Vertex AI Search, BigQuery, Cloud Run, Cloud Storage
AI bid/no-bid analyst on Telegram — open to try
Send a government procurement document (KAK/RKS, PDF or Word) to the bot and a four-agent pipeline replies in about a minute: a compliance matrix against a company profile, red flags cited to specific articles of Perpres 16/2018 via RAG over a per-article embedding index, a bid/no-bid score, and a deterministically assembled Excel workbook plus a six-chapter draft proposal in Word. Every deploy is gated by CI: 23 regression checks on real documents — including one that verifies no cited article is fabricated — must pass 100% first.
Regulation-cited red flags (RAG) · 23-check eval gate on Cloud Build · Excel + .docx artifacts
Built with Google ADK, Gemini, Vertex AI embeddings, Cloud Run, Cloud Build, Telegram Bot API
SDLC Orchestrator for Gemini Enterprise
Proprietary code
Metrodata (MII) contribution to a Google Gemini Enterprise initiative
An ADK agent live inside Gemini Enterprise that lets non-technical users (HR, finance) turn a plain-language idea into SDLC artifacts: a PRD for Confluence, epics and user stories for Jira, and a working application repo with CI — codegen guaranteed to build, with Spring Boot backends passing mvnw verify and React + Vite frontends passing npm run build. To keep token costs sane, 60 bundled engineering skills load on demand: the prompt carries only a compact menu, cutting per-message context from ~100k to ~4k tokens.
Live in Gemini Enterprise · ~25× smaller context via on-demand skills · Build-verified codegen (Java & React)
Built with Google ADK, Gemini, Vertex AI Agent Engine, Gemini Enterprise, Jira & Confluence APIs, Spring Boot, React
Enterprise Multi-Agent AI System
Proprietary code
Metrodata Electronics, enterprise client
A production multi-agent system automating risk management, prescriptive maintenance, and conversational analytics over enterprise data. Includes a three-layer Medallion pipeline on BigQuery, deployed to Cloud Run in the Jakarta region.
3 specialized agents · L0→L2 data pipeline · 6+ file types ingested
Built with Google ADK, Gemini, Vertex AI, BigQuery, Cloud Run, FastAPI, Docker
KnowgenAI Voice Kiosk
Proprietary code
Prototype, then the knowledge layer — Metrodata Solution Day 2026
I built the first working version of this kiosk on my own and deployed it to Cloud Run so the team could try it: Gemini Live voice both ways, a 3D avatar, RAG answers, the photo booth, printing, an admin panel — the whole flow, running on a single MacBook Air M1. The team then built the version that shipped, and in that build I owned the knowledge layer: Docling ingestion into Qdrant, the retriever tool the avatar calls mid-conversation, and the answer panel that fills in sentence by sentence while it is still speaking. The part I care about is the refusal boundary — I calibrated the retrieval gate against a labelled set of in-corpus and off-corpus questions until the two separated cleanly, because the default threshold let every off-corpus question through, and a kiosk that invents an answer about your employer in front of their customers is worse than one that says it does not know. Seven more defects came out of live testing, including a pinned language hint everyone assumed was working that turned out to be a no-op on that API path. It ran on the floor on 20 August 2026.
End-to-end prototype on one MacBook Air M1 · Retrieval gate calibrated to a clean in-corpus/off-corpus split · 7 live-testing defects fixed
Built with Gemini Live API, Docling, Qdrant, FastAPI, React, XState, MediaPipe, Cloud Run
Thesis; paper accepted at ICoICT 2026 (IEEE-Scopus)
A human-in-the-loop automation framework that extracts 11 structured fields from invoice images with OCR and writes them straight into Excel through robotic process automation, cutting a manual data-entry task to a fraction of the time.
11 fields extracted · Real-time Excel via RPA · 25× faster than manual
Built with Python, Tesseract OCR, OpenCV, Pandas, xlwings
AI Sales Agent
Conversational commerce on OpenClaw and Gemini
A conversational sales assistant for e-commerce sellers, built on the OpenClaw agent framework with an MCP server and WhatsApp integration. Gemini handles smart product tagging with automated classification across 6 attribute types.
6 auto-tagged attributes · WhatsApp channel · MCP tool protocol
Built with OpenClaw, Gemini API, TypeScript, MCP, Node.js