Inspiration
83% of Kenya's workforce operates in the informal economy. Millions of traders conduct transactions daily in cash and M-Pesa but have zero formal financial records. Banks see them as unbankable. We wanted to bridge that gap by turning the way traders already communicate, through spoken language and handwritten notes, into structured financial data that could build a credit history.
What it does
Biashara Act lets informal traders record transactions by typing natural language or photographing handwritten receipts. An agentic AI pipeline powered by Amazon Nova 2 Lite parses the input, validates the numbers, categorizes the business, and assesses profitability across multiple tool- calling steps. Validated transactions feed into a credit scoring algorithm that grades loan readiness. Nova Act automates entry of those transactions into Wave Accounting for formal bookkeeping
How we built it
The backend is a Flask API with three Nova integrations. The agentic parser uses the Converse API with toolConfig to run a multi-step agent loop where Nova decides which tools to call and in what order. The multimodal endpoint sends receipt images to Nova 2 Lite vision for structured data extraction. The bookkeeping module uses the Nova Act SDK to automate UI workflows in Wave Accounting. The frontend is a React app built with Vite that provides text input, image upload, a credit score dashboard, and financial reporting.
Challenges we ran into
Getting the agentic tool-calling loop right took iteration. The message threading pattern where you append the assistant response then send tool results back as a user message wasn't immediately obvious from the docs. We also had to handle cases where Nova returns tool calls in unexpected orders or calls the same tool multiple times. Making the Nova Act bookkeeper work gracefully when the SDK isn't installed required lazy imports and a simulation fallback.
Accomplishments that we're proud of
We built a working agentic AI system where Nova 2 Lite autonomously decides which tools to call and in what order, validating transaction math, categorizing the business, and assessing profitability in a single conversation loop. We also got multimodal receipt parsing working where a trader can photograph a handwritten note and get structured financial data back, and wired up Nova Act to automate data entry into Wave Accounting. The fact that one model powers three distinct hackathon categories through different API patterns felt like a genuine demonstration of what Nova can do.
What we learned
The Converse API's tool use pattern is surprisingly elegant once you understand the message threading. You send tools in the config, the model responds with tool calls, you execute them and send results back, and the model keeps going until it's done. We also learned that Nova 2 Lite handles Swahili and mixed language input well without needing special prompting, which matters for the Kenyan market. On the Nova Act side, breaking prompts into small discrete steps and using Playwright for sensitive fields like passwords is critical for reliability.
What's next for Biashara
Adding Nova 2 Sonic for voice input so traders can speak transactions in Swahili or Sheng instead of typing. Integrating with the Safaricom Daraja API for real M-Pesa transaction verification instead of mock data. Building a persistent database so transaction history survives server restarts. Deploying the Nova Act bookkeeping workflow to AWS AgentCore for production reliability. And ultimately, partnering with a Kenyan microfinance institution to pilot the credit scoring system with real informal traders.
Built With
- amazon-bedrock-converse-api
- amazon-nova-2-lite
- amazon-nova-act
- axios
- boto3
- flask
- javascript
- python
- react
- vite
Log in or sign up for Devpost to join the conversation.