← Back

02 — Agentic LLM / FinTech · Competition

CuanCerdas

The report agent's financial dashboard

01 / 02 — Asking JO what to do this week

Overview

CuanCerdas was built for the Paylabs × Alibaba Cloud Mini Hackathon 2026, a build-and-pitch competition judged on a live demo. It ran on Alibaba Cloud, with Paylabs (a payment gateway) as the data partner. I led a team of four, Team Jo, and we placed 2nd.

The problem

We focused on financial literacy for Indonesian MSMEs (UMKM). 87% of UMKM don’t do basic financial management like budgeting, recording or reporting, even though UMKM make up 60.5% of Indonesia’s GDP. They already have plenty of transaction data in Paylabs, but no time or training to read it, and a generic chatbot doesn’t help because its advice isn’t based on the business’s actual numbers.

So we built a finance copilot: an AI agent that turns a merchant’s Paylabs transactions into a clear financial report, and a chatbot, JO, that explains the report in plain language and gives advice on it. The line we pitched with: “we don’t just tell UMKM how much money they make — we teach them how to manage and grow it through AI.”

What I did

I was the Team Leader and worked full-stack: the agent design, the MCP layer that connects the agent to the data, the backend and report pipeline, and the final pitch.

Building it

The system has two AI parts that share one data layer:

  • Report agent. Takes a date range of transactions and builds a financial report with revenue, costs, profit, cash and a comparison with the previous period. It runs in the background, and the result shows up as a dashboard and a PDF.
  • JO, the advisor chatbot. Streams its answers like a normal chat. Each conversation is tied to one merchant and one report, so JO answers from that report and the merchant’s recent transactions, not from general knowledge.

The part that mattered most was how the agent gets its data. It never writes its own database queries. Instead it talks to an MCP server that only offers a fixed set of tools, like “get this report’s metrics”, so every number JO mentions is calculated by our code, not made up by the model. Each merchant can only ever see their own data.

You could see this in how JO behaved. When someone asked it to set a 1–5% inventory-efficiency target for the next two weeks, JO said no: our data only had product categories, not stock levels, so there was nothing to base that target on. It explained why instead of making up a number.

The backend is Fastify with TypeScript and PostgreSQL, the agent runs on Qwen, and everything is hosted on Alibaba Cloud.

Outcome

We finished 2nd place with a working MVP: real reports, real streaming answers from JO, and data access that stayed inside each merchant’s own books.

We also pitched a freemium business model. Basic reports and financial education are free for every Paylabs merchant, and the AI advisor and predictions are a monthly subscription. For Paylabs, that turns a payment tool into something UMKM keep coming back to.

What I learned

The biggest lesson was that limiting what the AI can do made it more useful. Because JO could only use our fixed tools, it could say “I don’t have that data” instead of guessing, and for a finance product that trust matters more than a clever answer.

Next project AV Simulation