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
toolrole 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=1for 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,/agenUI 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
- cloudflare
- docker
- express.js
- javascript
- node.js
- npm
- oracle-cloud
- qwen
- react
- sqlite
- sumopod
- tailwind
- typescript
- vite
- yahoo-finance
- zustand
Log in or sign up for Devpost to join the conversation.