Inspiration

Generic Western finance apps don't fit Nigeria — 20%+ inflation, a volatile naira, NGX, CBN policy, FIRS/PAYE taxes, and financial data that lives in bank-statement PDFs and screenshots, not open-banking feeds. We wanted a co-pilot that reasons about this reality, and that behaves like a team of specialists rather than one generic chatbot.

What it does

NairaSage is a multi-agent financial co-pilot. A routing agent decomposes each question and dispatches up to 3 of 13 specialist agents in parallel — accountant, economist, investment advisor, tax advisor, behavioral coach, debt manager, risk assessor and more — then a synthesis step merges them into one grounded answer. On top of the agent society it adds:

  1. Live orchestration UI: you watch routing → specialists running in parallel (with per-agent latency) → synthesis, on every turn.
  2. Deal deep-analysis with visible reasoning: a Qwen thinking model streams its chain-of-thought through Kiyosaki's 10 Investor Controls, then outputs scores you can apply.
  3. Statement/receipt scanning: photograph a Nigerian bank statement; a vision model extracts it into confirm-before-write proposals (the AI can only propose; you tap Confirm).
  4. Voice: push-to-talk transcription via Qwen ASR.
  5. Persistent "Financial DNA" memory: and pgvector RAG over financial-education books.

How we built it

Django 5 + DRF backend, Next.js 16 frontend on Vercel, deployed on Alibaba Cloud ECS (Docker Compose: gunicorn, Postgres 16 + pgvector, Redis, RQ worker, Caddy auto-TLS), with Alibaba OSS for document storage. Every model call runs on Qwen Cloud via the OpenAI-compatible DashScope endpoint, tiered by task:

  • qwen-flash: routing + 12 specialist agents
  • qwen3-max: Rich Dad coach + answer synthesis
  • qwen3-235b-a22b-thinking-2507: deal deep-analysis (visible reasoning)
  • qwen3-vl-plus: bank-statement / receipt scanning
  • qwen3-asr-flash-2026-02-10: voice transcription
  • text-embedding-v4 (1024-dim): RAG embeddings The agent society streams SSE lifecycle events (routing, agent_started, agent_finished, synthesis_started) from a queue-bridged parallel executor so the UI can render the team working live.

Challenges we ran into

Making the multi-agent orchestration observable over SSE while specialists run concurrently; adapting the LangChain stack to DashScope quirks (embedding batch caps, token-array inputs); and getting Alibaba OSS working through the S3-compatible endpoint (it needs the s3. endpoint prefix + Signature V2, not SigV4).

Accomplishments that we're proud of

We're proud that NairaSage is a genuine agent society, not a single chatbot with a persona. A coordinator actually decomposes each question, dispatches specialist agents that run in parallel, and synthesizes their outputs into one answer — and we made that teamwork visible: users watch routing, the specialists working side by side, and the synthesis happen live on every turn. We're equally proud of our confirm-before-write safety model: the AI can read a photographed bank statement with vision and propose changes, but it can never touch your financial data until you tap Confirm. And we did it end-to-end on Alibaba Cloud — six Qwen models tiered by task, running on ECS with OSS storage and pgvector RAG — tuned for Nigerian financial reality that generic apps ignore.

What we learned

Making the multi-agent orchestration observable over SSE while specialists run concurrently; adapting the LangChain stack to DashScope quirks (embedding batch caps, token-array inputs); and getting Alibaba OSS working through the S3-compatible endpoint (it needs the s3. endpoint prefix + Signature V2, not SigV4).

What's next for NairaSage

Open-banking connectors, more specialist agents, and Hausa/Yoruba/Igbo voice support.

Built With

Share this project:

Updates

Submission history