Inspiration

  • National headlines on investasi bodong and SWI/OJK warnings
  • Friends and family targeted by pinjol and binary-option apps
  • Hackathon focus on autonomous agents that do work, not just talk
  • Indonesia-first UX: Bahasa Indonesia, mobile-friendly, free access

What it does

  • Landing: problem stats, feature cards, CTA to tools and AI
  • Cek Investasi: search demo licensed/illegal entities + interactive red-flag checklist
  • Kalkulator Pinjaman: anuitas / flat loan math with fair / warning / predatory verdict
  • Edukasi: financial literacy quiz and tips
  • Lapor Penipuan: guided steps (OJK 157, police, block accounts)
  • Asisten AI: SumoPod agent with tools: investment check, loan calc, red flags, fraud guide, market quotes, goal planner
  • Rencana Investasi: Yahoo Finance quotes, allocation simulator, paper portfolio (educational)
  • Floating AI chat: glass drawer on all pages (links to full chat)
  • API: GET /api/health, GET /api/agent/test, POST /api/agent/chat
  • Futuristic UI: glassmorphism, mesh background, agent ticker, mock wallet modal, tool-execution toasts

How we built it

Layer Choice
Frontend React 19, React Router 7, Framer Motion, Tailwind CSS 4, Vite 8
Backend Express 5 (ESM), dotenv, CORS
AI OpenAI Node SDK → SumoPod https://ai.sumopod.com/v1, model qwen3.6-flash
Agent Custom loop in server/agent/loop.js — tools defined in server/tools/definitions.js, executed via runner.js
Market data Yahoo Finance via yahoo-finance2 (mock in CI)
Data (demo) server/data/ojk.js — small Map of sample entities
Deploy Docker: build Vite dist/, Node serves static + API on port 3001
Quality Vitest tests (tests/server/*), GitHub Actions .github/workflows/ci.yml

Challenges we ran into

  • SumoPod / Qwen tool calling: needed sequential tool execution and normalized tool role messages for compatibility
  • Hackathon scope vs. time: multi-agent orchestrator designed but MVP shipped as single agent + rich tool registry first
  • Real OJK data: full Waspada CSV import planned; demo Map used for reliable live demo
  • Yahoo Finance: rate limits and delayed data; YAHOO_MOCK=1 for CI
  • Clean git history: reset to single sprint commit for judge compliance

Accomplishments that we're proud of

  • End-to-end tool-calling agent in Bahasa Indonesia on SumoPod
  • Compound autonomous requests — one user message triggers multiple tools without manual steps
  • Polished Apple Style with Bento with floating chat and on-chain-style tool activity feed
  • Investment planning page with live (delayed) market quotes and educational simulations
  • Reproducible README, pitch sources, .plan/ handoff docs, CI workflow
  • Honest architecture docs separating shipped vs planned

What we learned

  • Judges care about visible autonomy: show tool trace, not only final text
  • Flash models need careful loop design (sequential tools, clear errors)
  • Financial AI requires disclaimers and refusal to promise returns
  • Platform helpers beat single-purpose calculators when an agent ties them together

What's next for Vnansial: Autonomous AI Financial Guardian for Indonesia

  • Multi-agent orchestrator: POST /api/agent/run, /agen UI with agent trace
  • Waspada Investasi SQLite: import OJK alert CSV, GET /api/investasi/search
  • Discover Challenges: gamified goals + Coach agent + prompt packs
  • Pages: money psychology, judi online prevention
  • Live OJK/SWI API partnership, PWA, regional languages

Built With

Share this project:

Updates