As millennials who don't necessarily keep a good track of our expenses, we were motivated by the possible problems that our spending habits might cause when we have to start paying for our first houses or our first cars. The average millennial tend to turn to technology for quick quotes and consultation instead of the usual bank appointments. But we soon realized the ubiquitous online mortgage calculators provided by banks and/or third parties frequently tend to overlook a user's spending patterns and overwhelm the user with financial jargons, which means that the user could be making $6k/mo and think that a thousand-dollar monthly mortgage is totally affordable, only to find out, 3 months into the contract, that it's impossible to pay the mortgage without jeopardizing the user's current lifestyle.

What it does

Mortgage-Freeman is a web app that analyzes a user's account records (deposits, bills, purchases and withdrawals) and provides affordable mortgage suggestions that accommodates the user's current spending habits. The monthly payments of the recommended plans are capped at the user's expected net monthly income. Seasonal expense fluctuations are also carefully considered and factored into our calculations to give a better picture of the user's spending patterns.

How we built it

We used Capital One's API to generate client accounts, including bills, payrolls, withdrawals, etc. For each individual account, the payroll direct deposits, bills, and spendings are netted and adjusted for seasonal fluctuations, to obtain a net amount of income available for each month. That number is then used as an upper limit to cap the monthly payments of possible mortgage suggestions. An expansive list of interest rates and loan periods as well as fixed-rate plans and negotiable plans are then used to derive a mortgage plan for which the monthly payment is the largest possible value that is less than the maximum amount possible. The algorithms also accounted for the unique expenses related to different purchases, such as property taxes and car insurance. All the reference data was taken from top North American retail banks and the U.S. Treasury Board, amongst other sources.

Challenges we ran into

With the internet down for a good few hours, we were unable to test out the API connections. We were also highly limited by the time and resources available. We had to pivot multiple times during the algorithm design process in order to bypass cases too complicated for a 24-hr hack.

Accomplishments that we're proud of

We are very proud of the amount of research involved with this project. Given the time and data constraints, we did our very best to simulate real-life financing situations. We weren't discouraged by the internet problems and were able to design and implement the majority of our frontend and algorithms without internet connection.

What we learned

We learned a lot of decision factors involved with choosing a mortgage plan in real life. We also gained in-depth knowledge of the key differences between Python 2.7 and Python 3.5, something which we did not seriously consider until we started the arduous debugging process.

What's next for Mortgage-Freeman

If we have more time, we'd love to work with larger data sets, refine our algorithms for financial calculations, and use neural networks to better identify user spending patterns.

Share this project: