How we built an agent that observes financial activity, reasons about spending risks, and keeps humans in control of sensitive actions.
Managing money across multiple Mobile Money wallets is a daily reality for millions of people in Africa.
A user may have money spread across Wave, Orange Money, MTN Mobile Money, and other financial services. The problem is not simply knowing how much money they have. The real challenge is understanding what their current financial situation means and making better decisions before it is too late.
This is why we built Sika.
Sika is an autonomous personal financial agent designed to help users understand, protect, and manage their Mobile Money finances.
This project was created for the Devpost All Things Agentic Hackathon.
From a chatbot to an agent
We did not want to build another chatbot that simply answers financial questions.
Sika is designed around a different principle:
An AI financial assistant should not only answer. It should observe, understand context, reason, anticipate risks, and act with the user's authorization.
This led us to build Sika around an agentic architecture.
The system combines:
- Google Gemini
- Google GenAI SDK
- A Taskmaster / ReAct-style orchestration loop
- FastAPI
- Flutter
- Tool-based financial actions
- Memory and financial context
- Risk-based action policies
- Human-in-the-loop confirmation
1. Unified financial context
One of Sika's first responsibilities is to create a unified view of a user's Mobile Money situation.
For example, a user might have:
- 15,000 FCFA on Wave
- 22,000 FCFA on Orange Money
- 8,000 FCFA on MTN Mobile Money
Instead of requiring the user to manually check every wallet, Sika can reason over the available financial context and answer:
"You have 45,000 FCFA in total."
The important part is not only the calculation.
Sika understands the financial state as a context that can be used by the rest of the agent.
This allows later decisions to take into account the user's total liquidity rather than looking at a single wallet in isolation.
2. Proactive financial protection
The most important idea behind Sika is proactive intervention.
Traditional financial applications generally wait for the user to open the application and ask for information.
Sika is designed to work differently.
When an authorized Mobile Money transaction notification is detected, Sika can analyze the event against the user's financial context.
Imagine that the user makes a 30,000 FCFA restaurant payment.
Sika can evaluate:
- The amount of the expense
- The spending category
- Recent spending behavior
- Remaining budget
- Savings objectives
If the expense creates a significant risk, Sika can intervene.
For example:
"Proactive Sika Intervention"
"An expense of 30,000 FCFA has been detected. Based on your recent spending and savings target, this expense may put your monthly goal at risk."
The user can then review the situation instead of simply discovering the consequences at the end of the month.
This is the core idea behind Sika:
Don't just report financial problems. Help users recognize them when they can still make a better decision.
3. Reasoning with Google Gemini
Google Gemini is used as Sika's reasoning engine.
Through the Google GenAI SDK, Gemini receives the user's request together with relevant financial context.
The agent can then determine the user's intent and reason about the appropriate next action.
For example:
User:
"How much money do I have in total?"
The agent can retrieve wallet information and generate a natural response.
Another request could be:
"Sika, prepare a transfer of 10,000 FCFA to Kouamé on Wave."
This requires a completely different level of reasoning because the request involves a potentially sensitive financial action.
4. Taskmaster and ReAct-style orchestration
Sika uses an orchestration layer to manage the agent's reasoning and actions.
A simplified flow looks like this:
User request
↓
Sika Agent Orchestrator
↓
Understand intent
↓
Retrieve financial context
↓
Reason about the request
↓
Select appropriate tool
↓
Evaluate risk
↓
Execute or request human confirmation
↓
Return the result
This architecture allows Sika to move beyond simple question-answering.
The agent can decide when it needs information, when it needs to use a tool, and when an action requires explicit authorization.
5. Human-in-the-loop security
Financial actions should never be blindly executed by an autonomous agent.
For this reason, Sika introduces risk levels for its tools.
A read-only operation such as checking a balance can be performed without confirmation.
A sensitive operation such as preparing a transfer requires human authorization.
For example:
"Transfer Preparation"
Recipient: Kouamé (Wave)
Amount: 10,000 FCFA
Security Validation Required
Sika pauses the agent before executing the sensitive action.
The user must explicitly confirm.
Only after confirmation can the transaction tool proceed.
This creates an important safety boundary:
Sika can reason autonomously, but the human remains in control of sensitive financial actions.
6. Why this matters for Mobile Money
Mobile Money has made financial transactions extremely accessible.
Sending money, paying a merchant, or transferring funds can take only a few seconds.
That convenience is powerful, but it can also make impulsive spending easier.
Sika explores how an agent can add an intelligent layer on top of this experience.
Instead of simply asking:
"How much did I spend?"
Sika can help answer:
"Is this expense consistent with my current financial situation?"
Instead of:
"How much money do I have?"
Sika can help answer:
"How much money can I safely spend?"
And instead of automatically executing:
"Send 10,000 FCFA."
Sika asks:
"Do you really want me to authorize this action?"
7. Technology stack
The current Sika architecture uses:
- Flutter for the mobile interface
- FastAPI for the backend
- Google Gemini for AI reasoning
- Google GenAI SDK for Gemini integration
- Taskmaster / ReAct-style agent orchestration
- Tool-based financial operations
- Android notification perception for authorized financial events
- Google Cloud infrastructure for deployment
The architecture is designed to evolve as additional financial services and tools are integrated.
8. What we learned
Building Sika taught us that an AI agent is fundamentally different from a traditional chatbot.
The difficult part is not simply connecting an LLM to an application.
The real challenge is designing:
- Context
- Memory
- Tools
- Reasoning
- Risk policies
- Human authorization
- Reliable execution
For financial applications, these elements become especially important because the agent operates around sensitive information and potentially high-impact actions.
9. The vision
Our long-term vision is for Sika to become a personal financial layer for Mobile Money users.
A user should not need to constantly switch between financial applications, manually calculate balances, or discover budget problems after they happen.
Sika should be able to understand the user's financial situation and help them make better decisions in real time.
The goal is simple:
A financial agent that doesn't just tell you what happened — it helps you decide what to do next.
Built for the All Things Agentic Hackathon
This project was created specifically for the Devpost All Things Agentic Hackathon.
Our goal with Sika is to demonstrate how agentic AI can be applied to a real-world financial problem in Africa while maintaining a strong human-in-the-loop safety model.
The project combines autonomous reasoning, tool orchestration, proactive intervention, and explicit human authorization into one financial agent experience.
We are excited to continue developing Sika and exploring how agentic AI can make everyday financial decisions safer and smarter.


Top comments (0)