Inspiration
As young adults graduating college and stepping into financial independence, the idea of purchasing a home can feel overwhelming and complex. The process of securing a mortgage is not only daunting but also time-consuming, with endless paperwork, financial assessments, and back-and-forth approvals. One of the biggest hurdles is the loan preapproval process, which traditionally takes days—or even weeks—of gathering documents and waiting for lender responses. Then from there, seeing homes that are actually within realistic budgets can be an additional arduous guessing process.
What it does
NEST is an intelligent financial insights platform that streamlines the home-buying process by automating budgeting, loan preapproval, and property search. By integrating Plaid, NEST securely retrieves a user’s income, savings, credit card debt, mortgage debt, and student loan obligations to generate real-time mortgage eligibility estimates. This eliminates manual paperwork and provides a clear financial snapshot for informed decision-making. Users receive preapproval letters they can submit to lenders, reducing processing times and improving loan approval chances. With ATTOM’s real estate data, NEST also curates home listings within the user’s budget, ensuring a seamless transition from financial readiness to homeownership. By automating complex calculations and streamlining lender communication, NEST makes securing a home faster, smarter, and stress-free.
How We Built It
Nest was developed using Swift and SwiftUI with a Python backend, ensuring a sleek, intuitive, and high-performance user experience with a modern MVVM architecture for modular and scalable code.
- Backend – Written in Python, using Fast API to build an easy-to-use API service supported with a Supabase (PostgreSQL) database for a JWT token-based user authorization system and deployed on Amazon EC2 virtual server, providing secure, real-time data management and seamless authentication.
- Plaid Integration – Enables secure bank account linking, fetching real-time balances, debts, and transactions to automate loan preapproval calculations
- ATTOM API – Delivers real-time property listings, allowing users to explore homes within their financial range instantly.
- Apple Dependencies – Utilizes LinkKit for Plaid authentication and PDFKit for generating loan preapproval reports
- Design – Used Figma and Canva, prioritizing a clean, modern, and user-friendly UI/UX for effortless navigation.
In addition, to formulate our loan calculation algorithm, we used Zillow’s homeownership calculators. We did extensive research to see what factors might make up debt that can be found within the account data we pulled through Plaid.
Challenges we ran into
Integrating with Plaid was the toughest challenge of all. Going through extensive Plaid documentation to understand Plaid’s developer tools and Sandbox features was difficult, and it was a first-time task for all of us. It was quite rewarding when we were finally able to use the public token generated to help integrate Plaid UI and services into our application and blend it seamlessly with our other Swift views and structs. It was also quite difficult to finding an API that had accurate real-home listings that had a free tier. Lastly, deploying our API was extremely difficult. We first experienced using Railway but were unable to establish a proper deployment after switching from an SQLite database to Supabase. We then transferred over to using AWS, which is not super beginner-friendly, but we had a great time overall, learning new technologies and using new Apple features we had never used, like PDFKit!
Accomplishments that we're proud of
We were particularly proud of managing to build a strong backend and have real-time data integration with our own user authorization system using JWT, a real estate active listing API, and full bank account data extraction through Plaid. We were also proud of our clean UI, making use of a lot of Swift’s preset features to make the look of our app sleek, modern, and easy on the eyes of users. We were also proud of using so many new tools, and experimenting, even when things failed. We were all able to learn new skills from each other and we all feel like we have grown as developers because of this.
What we learned
The process of developing NEST taught us the importance of flexibility and adaptability. There were several technologies and functions we intended to use at first, but they ended up not working out or fitting our overall structure so we had to pivot to different tech stacks and pick up new skills along the way. We also learned that financial data has to be handled especially securely, so having proper authorization systems and using trusted sources to link bank data like Plaid are integral to building a tool that both banks and lenders can trust.
What's next for NEST
In the future, NEST aims to collaborate and release options for banks across the nation to use customized ML loan-analysis algorithms for a more personalized and targeted functionality. Being able to have large datasets of loans that have been approved and rejected by banks in the past would give us ample data to train a model that will allow for smarter, data-backed max loan approval estimations that cover nuances that a simple calculation-based algorithm might not be able to cover. In addition, we plan to integrate locating functionalities to free the user from having to manually input their addresses using new Apple technologies.
Built With
- amazon
- amazon-web-services
- ec2
- fastapi
- figma
- plaid
- postgresql
- python
- sql
- supabase
- swift
- swiftui
Log in or sign up for Devpost to join the conversation.