Banorte Asistente IA: Project Overview
Inspiration
Managing personal finances often feels overwhelming not because of a lack of raw data, but because banking rules are opaque and hidden charges—such as unexpected commission fees or minimum balance penalties—catch customers off guard. Most traditional banking applications show standard account numbers and basic lists, but they rarely adapt to an individual’s unique habits, account tiers, or transactional lifestyle.
We were inspired by the idea of turning complex financial rules and passive account metrics into proactive, hyper-personalized guidance.
This led us to build Banorte Asistente IA around a simple question:
What if a banking assistant didn’t just display static data, but dynamically adapted to each customer’s specific spending habits, account tier, and financial risks to provide complete control?
Our goal was not to replace human financial advisors, but to create an AI-powered decision-support layer that organizes available account insights quickly while helping users understand hidden fees, manage deposit thresholds, and visualize their financial health through clean, interactive dashboards.
What it does
Banorte Asistente IA analyzes structured user profiles, individual spending habits, account types (such as Nómina, Básica, Nivel 2, or Nivel 4), and transaction histories using multimodal AI.
It identifies and presents:
- Account status & personalized risk alerts — such as inactive payroll accounts, deposit limits reached (UDIS thresholds), or minimum balance warnings tailored to the user's specific tier.
- Risk level — LOW, MEDIUM, or HIGH based on financial health and operational compliance rules.
- Visible financial hazards — proactive warnings regarding impending commission charges, missing payroll deposits, or approaching transaction ceilings.
- User account context — reporting specific details such as account type, live balances, and daily financial behavior.
- Important observations — key transactional details extracted from user profiles.
- Immediate financial guidance — conservative actions and interactive options based on detected account rules.
- Institutional Brief — a concise summary containing the user profile, account type, risk level, alerts, and recommended response.
The system follows a strict principle: unknown or unverified data remains restricted. It does not invent transaction histories, balances, or personal identifiers that cannot be established from secure session data.
Banorte Asistente IA is designed as professional decision-support technology for institutional presentations, ensuring a strict, formal, and emoji-free financial environment.
How we built it
We built Banorte Asistente IA as a full-stack web application tailored for a Banorte-themed hackathon presentation.
Frontend
- HTML5, CSS3, and JavaScript
- Chart.js for dynamic financial visualizations (line charts, donut charts, and liquidity visualizers)
- Dynamic component injection (A2UI - Agent-to-User Interface) based on backend JSON responses
- Clean, professional, and emoji-free institutional user interface
The interface was designed as an institutional financial-intelligence dashboard rather than a traditional chatbot. Users can interact with Maya, switch between customer profiles (Daniel, Sofía, Carlos, Mariana), and receive structured, component-driven analysis.
Backend
Node.js
Express
CORS and dotenv configuration
Google's Gemini API through the official
@google/genaiSDK (gemini-3.5-flash-lite)
The API key is kept securely on the server rather than exposed in the browser.
The frontend sends the user message and customer profile context to:
POST /api/nova-ai
The backend evaluates strict security filters (instantly rejecting non-financial topics like sports, history, or weather), processes institutional financial logic (such as average balance tracking, liquidity projections, and deposit threshold checks), and communicates with Gemini to generate a formal corporate response.
Challenges we ran into
Strict Security Interception: One of the biggest challenges was ensuring the AI assistant never broke character or left the UI blank when faced with trick questions or out-of-scope topics from judges. We implemented a robust security filter chain at the very beginning of the API request to instantly reject non-financial queries with a standardized, formal Banorte-aligned response.
Component-Driven Microcopy: Another challenge was preventing the AI from generating overly conversational or chatty text when rendering structured UI components like alerts or savings simulators. We solved this by enforcing fixed, professional microcopy for critical operational alerts while letting Gemini handle flexible, general financial guidance.
Corporate Visual Balance: We also had to balance visual richness with strict corporate seriousness—eliminating emojis across all AI outputs and maintaining a rigorous institutional layout inspired by Banorte's branding.
State Synchronization: Finally, we had to ensure seamless synchronization between the chat interface and the dynamic component injection (A2UI) so that user interactions smoothly update dashboards without losing session state.
Accomplishments that we're proud of
We are proud that Banorte Asistente IA turns a standard conversational prompt into a personalized, component-driven financial intelligence workflow.
Some of the features we are particularly proud of include:
Strict security filters and early request interception for non-financial inquiries
Dynamic component injection (Liquidity, Average Balance, Deposit Limits, and Special Alerts)
Interactive Chart.js visualizations for financial health and transaction history
Secure server-side API key protection
Multi-profile session management tailored to individual habits and account rules
A polished, emoji-free corporate tone tailored for a high-stakes hackathon presentation
Most importantly, we focused on building something that demonstrates a real enterprise workflow, rather than simply wrapping an AI model inside a generic chatbot interface.
What we learned
We learned that building an institutional AI application requires far more than just connecting an LLM to a chat bubble.
Key takeaways include:
The importance of strict prompt design and early request filtering to maintain corporate identity.
How separating layout generation (A2UI) from raw text makes AI applications significantly more functional for enterprise use cases.
The necessity of robust fallback mechanisms to keep the UI responsive even under API rate limits or network hiccups.
Designing user workflows around real banking scenarios and hidden pain points like commissions rather than generic chat interactions.
What's next for Banorte Asistente IA
Banorte Asistente IA currently focuses on simulated profile-based multi-component dashboards, but the concept can scale into a production-grade banking assistant.
Future versions could include:
Real MongoDB database integration to replace local session states
Secure biometric and multi-factor authentication workflows
Real-time core banking API integrations for live transactional updates
Automated credit risk scoring and personalized investment recommendations
Advanced multilingual support for international banking clients
Proactive push notifications alerting users before a commission fee is triggered
The long-term vision is to build a reliable financial intelligence layer that helps transform complex banking rules into structured, understandable, and actionable insights—empowering customers to take complete control of their financial future.
Built With
- a2ui
- adk
- fastmcp
- gemini-3.5-flash
- javascript
- mcp
- mongodb
- python
Log in or sign up for Devpost to join the conversation.