Inspiration
As students who often work on code for hours upon hours on end, we realized that once we get stuck in the debugging loop that is fixing code, we tune out all other responsibilities, including financial ones. This is not good as missing a single deadline, such as a credit card or loan repayment, can lead to severe consequences. Thus we built Surplus, a VSCode extension that allows us to track all financial information and deadlines within VSCode. This way, we can stay on top of our financials without losing the programming focus.
What it does
Surplus allows users to view important information such as our finances, investments, budgeting, and goals, all while in VSCode. It is backed by Firebase so all of your financial information is stored and can be accessed at any time. We also have a login system so that all financial information is separate for all users. It also supports Github and Google login.
How we built it
We built it by first publishing a test extension to the VSCode extension store and creating the desired extension from there. Simultaneously, we worked on the Firebase backend for storing all the information and a web page frontend that allows users to login to the extension. After that, it was a matter of putting it all together. Investment and stock information is tracked using Finnhub API.
Challenges we ran into
In the extension, we ran into display issues where things like investment graphs would take up too much space. The Firebase backend was also very difficult to properly initialize and hook up to the login system of the web page frontend and store data. However, after a lot of debugging and determination, we pulled through and made it work.
Accomplishments that we're proud of
- Creating our first-ever VSCode extension
- Successfully implementing Firebase for the first time
- Successfully implementing AWS for the first time
- Creating a good lucking and comprehensive webpage in under 24 hours
What we learned
- Firebase
- AWS
What's next for Surplus
- Development of financial features such as being able to track goals/deadlines and send reminders to users via email and popup
- Adding more features that allows further customization of user experience and financial management
Log in or sign up for Devpost to join the conversation.