Inspiration

In Indonesia, trillions of Rupiah are lost annually to price fragmentation. Small and Medium Enterprises (MSMEs/UMKMs) and local merchants spend hours daily swapping screens between Tokopedia, Shopee, Blibli, and traditional wholesale catalogs trying to find the best rates for inventory and supplies. This manual comparison is a silent profit killer. We were inspired to build CariMurah.ai to democratize enterprise-grade procurement. We set out to create a unified virtual sourcing partner that listens to your voice, scans your paper receipts, monitors price drops 24/7, and automatically drafts and sends professional negotiation scripts to wholesalers on WhatsApp—putting financial power back in the hands of Indonesian businesses.

What it does

CariMurah.ai is an autonomous, multi-agent AI shopping and procurement co-pilot serving two main audiences: B2C Smart Savers (Free Tier): General consumers can search via text, upload direct photos of product slips, or use real-time Indonesian Voice inputs to immediately locate the lowest prices across major platforms, backed by a warm voice summary synthesis. B2B Procurement Pro (Pro & Enterprise Tiers): Historical OCR Audit: Allows businesses to batch-scan piles of paper invoices/nota, immediately revealing "cash leaks" where they historically overpaid relative to wholesale alternatives. Predictive AI Price Forecasting: Interactive Recharts-powered simulators analyze cycles like Peak Paydays and Double Dates to suggest optimal buying windows. Multi-Channel 24/7 Watchlist: Tracks price fluctuations continuously, alerting customers via WhatsApp, Telegram, or Email when target thresholds hit. Autonomous RFQ & Posture Negotiation Flywheel: Generates elegant, printable RFQ documents with interactive quantity adjustments, creates custom AI negotiation scripts tailored by tone (from Aggressive Cash to Collaborative Freight), and routes them instantly to suppliers with single-click WhatsApp URI integration. Offline-First Resilience: Runs seamless anonymous local sessions that instantly sync with authenticated cloud profiles once signed in via Google OAuth.

How we built it

We built CariMurah.ai with a robust full-stack architecture designed for absolute speed, scale, and intelligence: Frontend UI: Built using React, TypeScript, Vite, Tailwind CSS, and Framer Motion for premium fluid layouts; utilizing highly custom themes (not defaults) and optimized touch targets for single-handed mobile navigation. Database & Memory (MongoDB Atlas): Atlas Search (Lucene): Configured with custom analyzers over product collections to execute fuzzy, typo-correcting matches on unstructured Indonesian seller listings. Atlas Vector Search: Translates complex inventory listings and raw catalogs into high-dimensional vector embeddings for conceptual, semantic cargo matching. Aggregation Pipelines: Executes multi-stage queries to compute rolling B2B supplier savings and audits on the fly. Product Caching: Bypasses duplicate external API hits using database caching to slash overhead costs and maintain sub-second app speeds. Google Cloud Agent Builder (Vertex AI Search / Discovery Engine): Parallelized standard reasoning loops with actual client-side calling of the live datastore carimurah-products-datastore using the Google Cloud SDK. Embedded Dialogflow CX Playbooks natively using beautifully styled inline messenger windows. Developed 5 distinct, sliced OpenAPI JSON endpoints (e.g., /openapi/process_analysis.json, /openapi/get_user_profile.json) to bypass Dialogflow CX multi-tool resolution limitations. Brain Engine (Google Gemini 3.5 & @google/genai): Powers raw OCR document extraction, predictive trend reasoning, and automated RFQ/Bargain script creations. Integrated Gemini's real-time grounding tool (Search) for up-to-the-minute web retrieval of prices. Voiced using Gemini's native Indonesian text-to-speech with a customized conversational "Zephyr" persona.

Challenges we ran into

One of our biggest hurdles was latency. Combining real-time web grounding (Google Search), MongoDB queries, and Vertex AI Search client calls in a single conversational request could easily lead to an sluggish user experience. To fix this, we parallelized the core processes on the backend using Promise.all so MongoDB searches, Search, and Vertex AI Search queries resolved concurrently. We restricted systemic schemas so that Gemini processes a maximum of 3 highly optimized items, avoiding heavy duplicate nested tokens. We also introduced a strict 2.5-second runtime safety timeout on external datasources to guarantee that a sluggish third-party API never locks up the user interface. Additionally, Dialogflow CX's native multi-tool routing often struggled to resolve highly specific APIs. To conquer this, we structurally split our API schema into 5 micro-OpenAPI specifications, which allowed the agent-builder to load, parse, and execute tool calls with absolute precision.

Accomplishments that we're proud of

True System Concurrency: Achieving ultra-low B2B page-load speeds by pairing asynchronous Google Cloud Node.js SDK clients alongside lightning-fast MongoDB Atlas Search and cache endpoints. The OCR-Audit-to-RFQ Loop: Creating a fully seamless user journey where a business can snap a photo of a messy, physical receipt, instantly see where they lost cash, build a wholesale purchase order from those exact leaking items, adjust the margins, generate a bargaining script, and send it to their wholesale supplier on WhatsApp in less than 30 seconds. Elegant Visual Polish: Designing a clean green brand aesthetic matching the Indonesian marketplace spirit with high contrast, elegant typography, responsive chart animations, and frictionless offline guest onboarding.

What we learned

Modular System Design is King: For heavy multi-agent setups, monolithic backend endpoints degrade quickly. Slicing server routes and tools into tiny, independent, cached OpenAPI schemas is essential for stable, lightning-fast execution. Lazy Initialization Protects the Stack: Ensuring external Node.js clients and SDKs (Gemini, Dialogflow, Discovery Engine) are lazy-initialized prevents the server from crashing during missing environment configurations during deployment. The Power of Multi-Model Databases: MongoDB Atlas is far more than an operational store. Combining standard key-value caching, relational-style aggregations, Lucene-based search, and vectors in a single unified cluster vastly simplifies cloud application topology.

What's next for CariMurah.ai

Decentralized WhatsApp Shared Inboxes: Enabling teams of procurement officers to collaborate, approve live-generated RFQs, and monitor continuous supplier negotiation histories in one shared dashboard. Automated Logistics Routing: Integrating regional container transport, truck rental, and cargo logistics APIs to compute complete door-to-door bulk shipping costs instantly inside the ledger. Voice-Activated WhatsApp Sourcing Agent: Allowing MSME owners to trigger bulk supplier inquiries completely hands-free by simply broadcasting voice notes directly to a dedicated CariMurah B2B Business WhatsApp agent.

Built With

Share this project:

Updates