Inspiration
Our original idea was to create a custom running plan generator based on user demographics using Python and SQLite. However, during the event, our fourth teammate shared his statistics homework, which involved analyzing whether a person was overpaying for insurance. This sparked a lightbulb moment: how would a person’s mortality rate affect whether they profit from their insurance?
We pivoted and decided to create a web app using React that calculates whether users are profiting from their insurance, taking into account their monthly payments, expected reimbursement, and mortality rate. Our project specifically aims to help underrepresented minorities, who often face financial literacy challenges, understand whether their insurance is a good deal.
What it does
The app prompts users to input their age, gender, monthly life insurance payment, and expected reimbursement. We then calculate the user's age, gender and check their mortality rate using data from the US Social Security Actuarial Life Table. Based on these calculations, the app displays whether the user is profiting from their insurance plan. Basically if the user is in a deficit/profit after reimbursement.
The results also display a breaking point, which is a calculation of how long (in months) it will take for you to reach the payments to the reimbursement. This assesses whether it is a "good," "decent", or "bad" deal.
How we built it
We built the front end using React, HTML, and CSS. For the logic, we used the mortality data from the Actuarial Life Table to find their life expectancy according to their demographics. Then we subtracted their reimbursement by their gross monthly payments to find whether they profit or not. If the profit was over 10000, then they are in the "green" zone. If it is greater than -5000 and less than 10000, they are in the "yellow" zone. Else, they are in the " red" zone and need to take action.
Our teammate handled the JavaScript logic to calculate whether the insurance plan was beneficial based on mortality rates. We collaborated through GitHub, using Live Share in VSCode for real-time collaboration, with each team member focusing on different parts: one on styling, another on JSX, one on data queries, and another on the calculations.
Challenges we ran into
Learning React was our biggest challenge since only one of us had prior experience. We spent hours figuring out the best way to handle state and routing issues, ultimately deciding to stick with a single-page application. Additionally, trying to integrate Excel data into MySQL Workbench for mortality rate calculations proved tricky, but after six hours of trying to debug, we stuck with using javascript for the logic.
Apart from debugging, an external challenge that we ran into was sleep. We were all fatigued by the end and productivity dropped significantly. It took us motivating each other to break through the bugs and finally get our program up and running.
Accomplishments that we're proud of
We’re proud of successfully building a user-friendly, visually appealing web app. Our experience with CSS and React was limited, but we focused on making the site not only functional but also polished. The “Find my Results” button with its hover and transition effects was particularly satisfying to implement, and we learned how to make the app responsive and easy to navigate.
For all of us, finishing our first hackathon project was a huge accomplishment. We gained valuable experience and learned an incredible amount in just a few days.
What we learned
We learned how to install and use React, integrating it with HTML, CSS, and JavaScript to build a full-stack web application. We also learned how to manage databases by importing Excel data into MySQL Workbench and connecting it with the front end using Axios (unfortunately the code never ran, so we did not use this). Along the way, we got comfortable using GitHub for collaboration, and improved our ability to troubleshoot, debug, and deploy a complete web app.
What's next for InsureFair
We see significant potential for growth. To scale InsureFair, we would like to implement language translation features using a translation.json file, making the app more accessible to non-English-speaking minorities.
We wanted to integrate the databases from the SSA, but unfortunately we could not debug it and had to stick with using javascript for the logic. With additional time, a way to integrate the back end with the front end can be found through trial and error, learning from resources online. This would allow for other features apart from the form on the web application.
We also aim to fix the node-related bugs we encountered so that we can add multiple pages, such as “About Us” or “Contact.” Additionally, we plan to improve the accuracy of the mortality rate calculations by incorporating more user-specific factors, like smoking status, to give a more personalized estimate.
Log in or sign up for Devpost to join the conversation.