About the Project
Inspiration
Most banking apps are a maze of static screens. We wanted a financial assistant that feels like texting a friend who's good with money — one that draws the right widget (a balance meter, a goal tracker, a peer comparison) exactly when the conversation calls for it, instead of making you hunt through menus.
What it does
Camaleon is a conversational canvas: you talk (gastos, metas, viaje/auto/casa planning, CETES), and the agent renders live widgets inline — balances, checklists, alerts, trends, peer benchmarks by age/income bracket. Any action touching real money needs your explicit tap to confirm — el agente propone, el cliente dispone.
How we built it
- React + Vite + MUI + Zustand canvas frontend that streams and paints widgets turn-by-turn
- Hono backend with auth, goals/plans/conversation endpoints, and MCP tools the agent calls to act
- SQLite/Drizzle for user data, seeded with synthetic peer populations for benchmarking
- Snowflake + Cortex package for percentile/segment/trend analytics, token-bounded to keep LLM costs sane
Challenges we ran into
- Keeping Cortex queries useful while capping token usage
- Session/auth wiring across a store that originally assumed a single fixed user
- Getting widget streaming to feel instant without breaking on interrupted turns
What we learned
Rendering UI as a side effect of conversation is different from building screens first and wiring chat on top — the agent's output schema basically becomes your component API.
Built With
- bun
- drizzle
- gemini-api
- hono
- mcp
- mui
- pnpm
- react
- typescript
- vercel-ai
- vite
- zod
- zustand
Log in or sign up for Devpost to join the conversation.