Inspiration
Credit card rewards are valuable, but choosing the right card for every purchase is unnecessarily complicated. People often rely on memory, use the wrong card, and only discover missed rewards after reviewing their statements. We built CardSense to turn fragmented card benefits and transaction data into clear, personalized actions.
What it does
CardSense is an agentic financial assistant that helps users optimize credit card rewards.
It can:
- Analyze transaction history using Plaid Sandbox data.
- Understand the benefits and reward rules of cards in a user’s wallet.
- Recommend the best card for different spending categories.
- Identify missed reward opportunities from previous purchases.
- Forecast potential future rewards.
- Generate personalized, evidence-backed recommendations.
- Show agent activity, latency, token usage, and estimated AI cost.
- Run the analysis automatically each day through Cloud Scheduler.
- Provide contextual card recommendations through a Chrome extension.
CardSense currently uses synthetic and sandbox financial data for a safe demonstration.
How we built it
The backend is written in Python with FastAPI and deployed to Google Cloud Run. We used Google Agent Development Kit to build a staged agent workflow consisting of ingestion, card intelligence, strategy, forecasting, and advisory agents.
Gemini 3.5 Flash performs the reasoning and recommendation generation. Firestore stores wallet data, transactions, pipeline snapshots, and audit evidence. Google Cloud Scheduler securely triggers the complete workflow every day.
The frontend uses Next.js, React, TypeScript, and Tailwind CSS, with Vercel providing the public web deployment. Plaid Sandbox supplies realistic banking data, while a Chrome extension brings recommendations closer to the point of purchase.
We also built telemetry and evaluation features to track agent runs, model calls, latency, token usage, cost, and unsupported claims.
Challenges we ran into
The hardest challenge was making financial recommendations explainable and reliable. A recommendation is not useful if the user cannot understand which transaction, reward rule, or card benefit produced it.
We addressed this by separating the workflow into specialized agents, preserving evidence throughout the pipeline, and validating generated claims against structured data.
We also had to coordinate several cloud services while keeping local development and production behavior consistent. Cloud Run, Firestore, Secret Manager, Cloud Scheduler, Plaid, and Gemini each introduced different configuration and security requirements.
Another challenge was handling incomplete transaction history. Forecasting cannot produce meaningful results without sufficient data, so we added degraded states instead of presenting uncertain projections as facts.
Accomplishments that we're proud of
We are proud that CardSense is a complete, deployed agentic system rather than an isolated AI prototype.
Key accomplishments include:
- A working Google ADK multi-agent pipeline powered by Gemini 3.5 Flash.
- A live FastAPI backend on Cloud Run and frontend on Vercel.
- Automated daily analysis using Cloud Scheduler.
- Evidence-backed recommendations with observable agent telemetry.
- A safe Plaid Sandbox demonstration using synthetic financial data.
- A Chrome extension that supports recommendations near the point of purchase.
- A golden evaluation suite that passed all 15 scenarios and 70 assertions with zero unsupported claims.
- More than 300 passing backend tests.
What we learned
We learned that building an effective agentic application requires more than connecting a model to an API. The surrounding system—structured inputs, specialized responsibilities, persistent state, evaluation, observability, and failure handling—is what makes the agent useful and trustworthy.
We also learned to treat model output as a proposal that must be grounded in evidence. Preserving the relationship between transactions, card rules, calculations, and recommendations made the final experience more transparent.
Finally, we learned that graceful degradation is essential. When data is missing, the system should explain the limitation clearly instead of inventing certainty.
What's next for CardSense
Next, we want to add production-grade authentication, multi-user data isolation, rate limiting, verified Plaid webhooks, and stronger secret and consent management.
We also plan to expand card coverage, improve forecasting with longer transaction histories, support reward caps and promotional periods, and provide real-time purchase recommendations.
Longer term, CardSense could become a proactive financial optimization layer that continuously monitors spending patterns, upcoming purchases, card benefits, and expiring rewards while keeping the user in control.
Built With
- ai-agents
- chrome
- docker
- fastapi
- financial
- gemini-3.5-flash
- google-agent-development-kit
- google-cloud-firestore
- google-cloud-run
- google-cloud-scheduler
- multi-agent-systems
- next.js
- plaid-api
- python
- react
- rest-api
- tailwind-css
- typescript
- vercel
- vertex-ai
Log in or sign up for Devpost to join the conversation.