Inspiration

Indonesian UMKM (micro & small businesses) — 64M+ businesses contributing 61% of GDP — face a daily operational treadmill consuming 3-4 hours per warung owner: pre-dawn stocktakes, mid-morning supplier negotiations, afternoon bank transfers, evening WhatsApp blasts to regulars. Time that should go to growth, family, rest — drained on operational friction.

WarungOS automates this entire loop in 90 seconds with 3 specialized AI agents working autonomously.

🎥 See It In Action

Live demo video (1:38): https://youtu.be/zVLo26qdvgg Try the bot directly: https://t.me/mshadianto_co_bot

  • /restock — trigger autonomous workflow
  • /scenario_reject then /restock — see supplier fallback chain
  • /scenario_payfail then /restock — see graceful escalation
  • Or just upload a warung shelf photo to trigger vision-first workflow

What it does

Owner sends 1 photo of warung shelf via Telegram. 3 AI agents collaborate end-to-end:

🔍 Inventory Sentinel — Vision OCR + depletion forecasting. Analyzes shelf photo via Claude Vision, cross-references 7-day sales history, classifies items CRITICAL/LOW/HEALTHY.

💼 Procurement Negotiator — Multi-criteria supplier selection scoring price (35%) + rating (25%) + ETA (25%) + MOQ-friendly (15%). Generates Purchase Order and invokes DOKU MCP create_virtual_account_payment to create B2B Virtual Account autonomously. 35 production tools discovered via DOKU MCP tools/list.

📱 Customer Concierge — Personalized engagement in Bahasa Indonesia. Composes 1-of-1 messages referencing real customer context (catering Kamis, langganan Jumat, rumah makan). No templates.

Edge Case Handling — Real Autonomy

  • Supplier Rejection: Agent autonomously excludes rejecting supplier, picks supplier #2 with new trade-off reasoning
  • Payment Failure: Agent halts workflow, escalates with 3 actionable recommendations. Customer Concierge NOT triggered — agent refuses promises it can't keep
  • Vision Quality Reject: Poor photo → agent requests re-upload with specific guidance

How we built it

Sponsor stack-aligned: Claude Sonnet 4.6 via Sumopod (OpenAI-compatible) + Claude Vision (same endpoint) + DOKU MCP Server (35 production tools) + Telegram Bot (zero install for SMEs) + SQLite (audit log) + Python 3.12 async + Sumopod VPS Ubuntu 24.04.

MCP Integration depth: DOKU MCP server connected via JSON-RPC over HTTP. Tools discovered via tools/list. Primary tool: create_virtual_account_payment with toolRequest schema. Multi-bank channel fallback (BCA/BRI/BNI/Mandiri) + graceful degradation when sandbox VA service is intermittent.

3-Layer Architecture:

  • Interface Layer: Telegram Bot (zero install for UMKM)
  • Orchestrator + Agent Layer: Async workflow coordinator powered by Claude Sonnet 4.6, processes vision data via Claude Vision
  • Tool + RAG Layer: SQLite for contextual decision-making & customer memory, connected directly to DOKU MCP Server as payment engine

Challenges we ran into

  1. DOKU sandbox intermittency — Solved with multi-channel retry + graceful fallback preserving production response format
  2. Sumopod rate limiting — Exponential backoff (3s/6s/12s/24s)
  3. Telegram markdown parsing edge cases — Switched to plain text for scenario commands
  4. MCP schema discovery — Used tools/list programmatically to find correct tool names
  5. Vision JSON robustness — Added markdown fence stripping for occasional `json wrapper
  6. Initial OpenClaw runtime pivot — Started with OpenClaw native runtime but pivoted to Python direct after schema didn't accept custom Sumopod baseURL/apiKey fields; reframed approach as "custom-built multi-agent system on Indonesian sponsor stack" which actually demonstrated deeper engineering autonomy than wrapper-based solutions

Accomplishments we're proud of

  • 🏆 End-to-end autonomous workflow in 90 seconds — 1 photo → complete restock chain, zero human intervention
  • 🏆 DOKU MCP native — Real MCP client (tools/call, schema-compliant toolRequest), not REST hack
  • 🏆 Mature edge case handling — Supplier reject fallback + payment failure escalation verified live in Telegram
  • 🏆 Vision OCR @ 0.97 confidence — Claude detects 6/6 test items correctly with realistic shelf imagery
  • 🏆 11 commits in 12 hours — All features functional, all verified end-to-end during competition window
  • 🏆 Authentic demo footage — Real PO numbers (PO-XZUJP3, PO-LJF7ZH), real DOKU VA numbers (700899647418), real supplier names (PT Sumber Ayam Jaya, CV Mitra Pangan Cepat) captured from working bot

What we learned

  • MCP is a paradigm shift for agent-tool integration. Compared to REST wrappers, MCP's tools/list discovery + schema-compliant toolRequest makes the agent treat tools as first-class collaborators rather than dumb endpoints. This shows up in code clarity and reliability.
  • Edge case handling is what separates "real agent" from "chatbot wrapper" — Autonomy gets 30% judging weight for a reason. A workflow that crashes on first supplier rejection isn't autonomous; it's brittle automation.
  • Sponsor stack alignment compounds: Sumopod (LLM compute) + DOKU (payment rails) + Telegram (zero-install interface) = full vertical solution for Indonesian SME context. Each piece fits the locale; together they form a coherent product.
  • Persona-driven multi-agent design (Sentinel / Negotiator / Concierge) is more maintainable than monolithic LLM chains. Each agent has a single responsibility, dedicated system prompt, and structured handoff format — making debug, evaluation, and iteration significantly faster.
  • "Don't promise what you can't deliver" is the most important agent design principle. When DOKU payment fails, the Customer Concierge does NOT trigger. The agent refuses to make commitments it can't honor — this is what makes the system trustworthy for real-world deployment.

What's next for WarungOS

  • v1.1 WhatsApp Business API integration (replace Telegram for production warung — most UMKM owners are WhatsApp-native)
  • v1.2 Voice command via Telegram voice notes (Whisper transcription) — for owners more comfortable speaking than typing
  • v2.0 Multi-warung tenant mode (one infrastructure → many warung)
  • v2.1 Real supplier API integrations (Indomarco, Sayurbox, TaniHub) replacing demo data
  • v3.0 Loan offer matching via cash flow + supply chain analytics — connect UMKM to BPR/fintech (the killer feature for financial inclusion)

🔗 Repository: https://github.com/mshadianto/OpenClaw2026_MSHadianto_WarungOS 🤖 Live Bot: https://t.me/mshadianto_co_bot 📜 License: MIT 🏆 Track: Main Build + Best Payment Use Case (DOKU) ⏱️ Built: Solo, 12-hour sprint, May 15, 2026

Built With

  • ai-agents
  • anthropic
  • async
  • claude
  • doku
  • fintech
  • indonesia
  • mcp
  • multi-agent
  • openai-api
  • python
  • sqlite
  • sumopod
  • telegram
  • umkm
  • vision-ai
Share this project:

Updates