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

Share this project:

Updates

Submission history