Inspiration
The Toyota challenge appealed to my teammate and I because we both recently got our first cars, so we both knew how difficult and confusing the process could be, even if the company was narrowed down. We wanted one place where car shoppers can see clear, side-by-side lease vs. loan calculations, view transparent monthly payments, and even go all the way to an offer from a dealer without bouncing between dealerships and sales calls.
What it does
Toyota Finance Navigator is a desktop-first web app that compares lease vs. finance rates in real time, recommends models that fit a shopper's budget based on their preferences, and supports end-to-end purchases. Shoppers can take a quick quiz for intelligent suggestions, sign up for email notifications, get prequalified, verify income through bank connections and IRS transcripts, review dealer offers, e-sign, pay a deposit, and even schedule a delivery or in-person pickup. Dealers get a space to create and publish offers, track customer interest in offers, and negotiate with customers via the chat interface provided by the web application.
How we built it
We built a React/TypeScript app with a desktop-first dashboard layout. We allowed users to see lease depreciation/rent change formulas with detailed loan calculations to make the process as transparent as possible. We also allowed users to save options they were interested in and compare them side-to-side to make deciding on a purchase easier. We realized that with modern technologies like e-shopping and live movie streaming, customers would likely not want to have to go to a dealership or deal with sales calls to purchase a car. Because of this, we decided to implement an end-to-end process where dealers could connect directly with customers by publishing offers via the web interface, which customers could see. Customers can then express interest these offers and enter their financial information for the dealers to review. In order to verify financial information, we used the Plaid API to allow customers to link their bank account to connect their pay stubs. We also allowed users to upload W2 forms as proof of income. Because sensitive financial information was involved, we opted to store the information in an encrypted format. We decided to use the simple but secure AES-256-GCM method to encrypt personal information and document metadata before persistence, decrypting on read inside the server layer, and masking values in the UI. Customers can also opt to receive email notifications when offers are posted, and they always receive email confirmations of purchases. On the dealers’ end, we implemented an interface for them to create and publish offers with information about cars they were selling. When customers expressed interest in these offers, the dealers would be able to see the information they entered. To support the end-to-end infrastructure, we allow customers and dealers to negotiate on terms via the chat interface provided in the web application. We primarily utilized TypeScript, Firebase, Node.js, Next.js, and the Gemini API to make this possible.
Challenges we ran into
We were both unfamiliar with lease-related concepts, including residuals, MSRP, money factor rounding, and the difference between leasing and financing. We were also unfamiliar with technical concepts that were required like encryption, banking API integration, and secure storage of data. We were also unfamiliar with the workflow involved in such an application. Things like integrating Plaid, handling token exchange, and including negotiation options were tricky.
Accomplishments that we're proud of
Initially, we expected to have an unpleasant UI and bare-minimum features, since we didn't expect to get much done in 24 hours. However, to our surprise, we ended up with a pleasant Toyota-themed UI with more features than we had even planned at the beginning. We were able to support a complete end-to-end process with security and customer updates.
What we learned
We learned about a lot of technical concepts that we did not have experience with before, such as encryption, banking API integration and income verification, as well as Firestore for secure storage. Beyond technical concepts, we learned a lot about the car purchase process, which was a lot more complex than we had initially thought. Aspects like pre-qualification, bank-linking, and secure identity verification were things that we had not considered at all before. We also learned a lot about teamwork and communication. We were able to break down difficult concepts by assigning them to each other, learning our assigned concepts, and then teaching the concepts to each other. This was something that we thought of during the hackathon, and it ended up working out very well for us. We plan to apply this at future hackathons.
What's next for Toyota Finance Navigator
In the near term, we would like to use better data sets to display a wider range of Toyota cars, determine offer visibility based on geolocation data, add more accuracy to the model match quiz, and improve the VIN-based trade-in price calculation. In the mid term, we would like to implement a feature to price deals in real time, add in-store continuation, level up the model match quiz with preference graphs, and support co-browsing between a customer and sales manager. In the long term, we would like to enable live appraisal of trade-in vehicles, add a wide range of performance analytics, and expand localization to cater to diverse markets.

Log in or sign up for Devpost to join the conversation.