Inspiration

Most car owners pay their loan on a fixed schedule and never think about it again. Extra payments could cut the interest, but "I'll pay more later" rarely happens. We wanted to make that painless. Banking apps already round each purchase up to the next dollar and save the spare change. We pointed that idea at a car loan instead of a savings account. Every coffee or gas stop quietly chips away at the principal of a Toyota Financial Services loan. The dashboard then shows the months and interest saved, so the benefit feels real. We also added a "money is tight" option, because a good loan tool should help when a customer is struggling as well as when they're ahead.

What it does

RoundGear is a concept dashboard for Toyota Financial Services customers.

  • Round-ups: Each purchase is rounded up to the next dollar. The spare change goes toward loan principal, and weekly charts show the total.
  • Live feed: A demo mode streams in a purchase every 3 seconds, each with its round-up.
  • What if: A slider lets you choose extra dollars per week. The payoff curve, months saved, interest saved and payoff date update immediately.
  • Your loan: Anyone can enter their own balance, APR and term to see everything recompute.
  • Gear, our AI loan guide: It is powered by Google Gemini. You can chat with it about your loan, your car and the app, and it politely declines anything else. It also handles greetings and small talk.
  • Money is tight?: The customer can see the effect of switching to bi-weekly payments and send a hardship request to a TFS specialist.
  • Interface: It has a pixel-art theme with a driving GR86 on the home page, plus dark mode.

How we built it

  • Frontend: Next.js, React, Tailwind and Recharts. The pixel-art car and landscape are drawn in code.
  • Backend: Node and Express in TypeScript.
  • Loan engine: A unit-tested module (loan.ts) does all the money math. Nothing else computes a number.
  • TigerData: Transactions live in a hypertable, and a continuous aggregate (roundups_daily) feeds the weekly chart.
  • Gemini: The backend gives Gemini a short list of finished facts, and Gemini turns them into plain English. Every number in its reply is checked against those facts. If the reply contains any other number, we discard it and show a correct built-in answer, labeled as standard text. It also falls back to a backup model.
  • Resilience: The app runs with no API keys at all. It uses in-memory seed data and the standard answers, and /api/health reports which mode is active.

Challenges we ran into

  • Keeping the AI honest: Money advice can't have hallucinated numbers. Our fix was to let the loan engine do the math and have Gemini only reword it. The number check and the fallback came from that.
  • Tuning the AI for reliable answers: Getting Gemini to behave took work. We had to leave room in its token budget for its thinking, so replies didn't get cut off. We also added a backup model for when the main one fails. And we debugged the request format until responses came back consistently.
  • Modeling the loan realistically: Weekly extra money has to be spread across months (52/12 weeks) and applied to principal while interest is charged monthly.
  • Free-text chat safely: Moving from three preset questions to open chat meant keeping Gear on loan, car and app topics only.
  • Polish vs. time: We went through several visual redesigns before settling on the pixel theme.

Accomplishments that we're proud of

  • An AI feature where every number the user sees is verified, and which still works with no AI at all.
  • A loan engine with unit tests, backed by a real TigerData hypertable and continuous aggregate.
  • A demo that shows an effect right away: drag the slider and watch the payoff date move.
  • A distinctive pixel-art design, with a car we drew in code.
  • A hardship flow that treats customers kindly instead of only upselling them.

What we learned

  • LLMs are best used for explaining numbers, not producing them. Pairing them with a validator and a fallback makes them trustworthy.
  • Time-series features in TigerData, such as hypertables and continuous aggregates, make "total per week" queries simple and fast.
  • Building a fallback path for each external service (database, AI, keys) made the app easy to demo and debug.
  • Small modeling choices, like how weekly money maps to monthly interest, change the savings numbers a lot.

What's next for RoundGear

  • Connect to real bank or card transactions through an aggregator, instead of synthetic data.
  • Integrate with actual TFS accounts and have hardship requests go to a real review workflow.
  • Add goals and nudges, such as "round up 2x this week to finish a month early."
  • Support multiple loans and leases, and add more languages.
  • Run a pilot with real customers to measure how much round-ups shorten payoff times.

Built With

Share this project:

Updates

Submission history