Inspiration

Most people get their first credit card long before they understand how to actually use it well. You sign up, start swiping, and only later realize that the same purchases could have earned significantly more points or cash back if you had used a different card. By the time you notice, the rewards are already gone.

We saw this firsthand: people weren’t overspending or being careless, but they were simply using the wrong card at the wrong time. Most financial tools show balances and transactions after the fact, but they don’t help users understand how to optimize their spending in the moment. As a result, users consistently miss out on rewards, points, and benefits they already have access to.

We wanted to rethink credit card usage as an optimization problem that most people shouldn’t have to solve manually. Every purchase has a “best” card. Every receipt contains information about what could have been earned. Instead of expecting users to memorize reward categories or constantly check spreadsheets, we asked: what if the system did the optimization for you and explained it as you go?

That idea shaped our project. By combining receipt scanning, real-time messaging, and explainable recommendations, we built a tool that helps users automatically maximize their credit card rewards, right when the transaction happens. Whether it’s dining, groceries, or travel, the system identifies the optimal card, highlights missed opportunities, and shows how small choices add up over time.

Ultimately, we built this project because earning credit card points shouldn’t require expert knowledge or constant effort. Optimizing rewards should be simple, accessible, and integrated into everyday spending, one purchase at a time. All the while Dime runs on autopilot!

What it does

Dime is a browser extension, an iMessage agent, and a website that connects to your merchants (Amazon, DoorDash, etc.) and your cards. It automatically tracks your rewards and nudges you to use the most optimal card for any transaction!

At checkout, Dime nudges you to switch to the "best" card to maximize points. What if you make an in-person purchase? Just scan the receipt and iMessage it to Dime—easy tracking and storage. You can also chat with Dime anytime about your transactions.

How we built it

The project is structured as a system with four main components that work together to provide real-time credit card reward optimization:

  • 💻 Frontend (React) – User facing web application
  • ⚙️ Backend (Flask) – Core API, data storage on snowflake, and analytics
  • 💬 iMessage Agent Layer (Photon Framework) – Add Transactions with receipts and chat with your transactions.
  • 🛒 Browser Extension (WXT) – In-context recommendations at checkout

More details:

Frontend 💻

The frontend is a React-based web application that serves as the primary interface for users. It is responsible for:

  • Displaying the financial dashboard with spending summaries and analytics
  • Showing credit card portfolios and reward structures
  • Visualizing spends, category wise spends(helpful for benefits on Discover)
  • Surfacing explanations or chatting about your pointsmaxxing life with the Dime Chat.

The frontend communicates exclusively with the backend through API calls and does not contain business logic related to optimization. This ensures that all recommendations are consistent across platforms (web, SMS, extension).


Backend API ⚙️

The backend is implemented in Flask and acts as the system’s source of truth. It handles:

  • User data and preferences
  • Credit card metadata (reward categories, multipliers, cashback rates)
  • Transaction records (manual entries, receipt-derived data and data fetched from merchants via KnotAPI's Transaction Link)
  • Aggregation and analytics (monthly spend, category totals, reward calculations)
  • Snowflake data fetching, db setup.

When a transaction is created or updated, the backend forwards the relevant information to the agent layer to determine the optimal card and compute reward deltas.


Photon iMessage Agent 💬

The Photon iMessage Agent serves as the system’s secondary interaction, combining transaction ingestion, and transaction communication into a single conversational workflow.

The agent allows users to interact with their financial data entirely through text, enabling both receipt-based transaction entry and real-time talk to your finances feature without requiring a traditional app interface.

Transaction Ingestion via iMessage

Users can send receipts or transaction details directly to the agent through iMessage. Incoming messages are received through a Photon webhook and processed by the agent, which:

  • Ingests receipt images or transaction text
  • Extracts key transaction details using google gemini, including:
    • Merchant
    • Transaction amount
    • Date
    • Relevant metadata
  • Normalizes extracted data into a structured transaction record
  • Stores the transaction in the backend for persistence and analytics

Conversational Insights & Notifications

The Photon iMessage Agent delivers insights directly within the conversation thread, including:

  • Estimated missed rewards and explanations
  • Periodic summaries such as monthly spend and card utilization

Browser Extension 🛒

The browser extension provides real-time recommendations during online checkout. It:

  • Detects the merchant context and purchase information
  • Queries the backend/agent for the optimal credit card
  • Displays an in-context recommendation before the transaction is completed

This enables users to act on optimization advice at the exact moment a decision is made.


Challenges we ran into

On the frontend, the challenges we ran into were deciding the overall theme and how we want to structure our UI/UX, especially with how our browser extension, dashboard, and agent tie together.

On the backend, we primarily ran into challenges with connecting KnotAPI to fetch the transactions securely, as Knot's SDK requires us to create a secure session and Database Management, but we were ultimately able to pull through and create a working product!

Accomplishments that we're proud of

We're extremely proud of how thought-out the UI on both the web application and the web extension looks and how useful the entire suite of products is.

What we learned and business impacts

A gap in financial literacy, especially for credit card usage, is widely uncovered. There are fragmented resources that, frankly, many users are not going to take the time to scrape the internet and apply the information. Our platform, Dime, centralizes this information for users to optimize how to effectively use their credit cards, maxing out credit points, making smarter choices during purchases, and tracking their usage while also allowing credit card issuers to see trends from their customers!

Prize Tracks and what we did for them!

Prize Track What We Did
Best UI/UX Designed the full UI in Figma and delivered a seamless UX across the web dashboard, browser extension, and Photon iMessage agent. Real-time checkout nudges + conversational finance make the experience intuitive and low-friction.
Best Use of Snowflake Used Snowflake as our core data warehouse and leveraged Snowflake Cortex AI text classification to automatically categorize transactions, power spend analytics, and enable reward optimization at scale.
Best Use of Gemini Used Gemini to parse receipt images into structured transaction data and to power chatbot functionality that lets users chat directly with their transactions and reward history.
Best Hack to Support Women Tackled the financial literacy gap faced by young women entering the workforce by automating credit card optimization and clearly explaining rewards, missed points, and spending decisions in real time.
Capital One – Best Financial Hack Implemented the Nessie API for full cashflow and account functionality, and KnotAPI to securely pull transaction data—enabling real-time credit card reward optimization and insights.

What's next for Dime

Implement KnotAPI's cardSwitcher to automatically switch your cards in one click, reducing the friction even more!

Also, world domination!

Built With

Share this project:

Updates