Behind the scenes view. How do all the parts connect?
C++ Backend. This contains all of the logic and process, and controls how and where the data is saved for your finances. It gets information from you, and then saves it, and/or gives you feedback. This is the engine! ↓ Python flask module. This is nowhere nearly as big as the C++ code, but it connects the front end that you see to the engine, the C++. Flask is the module used, and it broadcasts the website onto the web itself, and uses POST requests to receive and post data to/from the website!** This is the thin layer to connect the engine and website!** ↓ Easy to use front-end. This is where all of the information is presented to the user, and where they will be interacting at any time they want to use the finance tracker! It is pretty, with the addition of the CSS stored in the static folder (because flask uses static and template folders). Also in the static folder is the JS file, which works together with flask to send and receive information through POST requests. This is how the user interacts with the app!
Inspiration for this project
I have always been inspired by data management and storage, and how to simplify the process as much as possible. Then, I had the idea to make a finance tracker today, when thinking about what I might want to do! This was right up my alley, since it had data storage, and I can use C++ which I love! I also took into account how many different programs were offered to us by MLH. Some examples include Eleven Labs, Cloudflare AI, and OpenRouter. I decided to use OpenRouter, and integrate their AI into my finance website!
Now, instead of the simple, dull analog listing and simplicity of the old system, you can talk with the assistant about your finances. This includes calculating how much you spent on tax, or a specific category. You can also remove specific transactions, and see how much you spent each year, or month!
Challenges I faced along the way
I personally have never used AI in a project before, and it was a very… interesting experience! I decided to use the OpenRouter API, because I encountered a lot of problems with OpenAI API. I was also given $10 in credits by MLH, which is enough for at least 10,000 or more AI deployments! I am super grateful to have received this. Then, I embedded it into the website via a chatbox, and getting to parse the data from the website, to the JS, to the Python, to the C++, was VERY painful. Otherwise, I would definitely mess with AI again!
Log in or sign up for Devpost to join the conversation.