Inspiration

Our inspiration came from women in our lives that have survived financial abuse and divorce with minimal access to financial support. We interviewed four divorced mothers and used their statements as the basis for our application. Their quotes and our other resources can be found here: link. Bolded are the parts of their testimony we felt would be most useful in a financial and self-help application.

What it does

GirlMath is an application that provides: a simple, user-friendly way to budget (i.e. sort expenses and track income); a "Reverse Budgeting" method, which takes into account monthly spending and identifies what annual income would be necessary to support it; a subscription management service that identifies monthly and yearly spending on categorized services and provides categorized statistics; an "Obligations Diary," where child support and spousal support can be logged for legal reference; quick references for checking credit score, getting support, and acquiring health care and taxes; and a GeminiAPI chatbot named GirlMathBot to quickly answer additional questions.

How we built it

We built GirlMath using a GitHub repository, Python (CustomTkinter, Pillow, MatPlotLib), and JSON files. To debug, we were aided mostly by Gemini, and minimally helped by Claude. We referenced the CustomTkinter website the most, because this application is largely based on front-end development of the executable. We created a custom theme for our executable to ensure beautiful colors, stored in a JSON file, and created our logos using a combination of TextStudio, Procreate, and MSPaint.

Challenges we ran into

When implementing the GeminiAPI chatbot, we forgot that we were given $10 for the Hackathon. According to Gemini, you can use OpenRouter to get a key from GeminiAPI that can pay for the services using the $10, and we would have more queries. Due to this, we are limited to 50 queries a day, which limited our testing. Further, with the CapitalOneAPI, there are incomplete parameters in the API queries. The documentation in general was hard to understand and work with. This made it difficult to fully integrate it into our application.

Accomplishments that we're proud of

We're extremely proud that we were able to create an application. We've never made one before. All of us have more experience in back-end work, so doing front-end work was completely new to us. We had a blast finding color palettes and making boxes and buttons and scroll wheels and other (probably obvious) UI/UX things (not obvious to us back-end-ers)! Also, due to us being Computer Engineering students, not Computer Science, we are more comfortable coding in C and C++, so Python was really interesting and rewarding to work with. The spacing was hard to get used to, but no semicolons! Further, getting the CapitalOneAPI working in our executable was the most exciting moment. We collectively gasped when it finally worked!

What we learned

We surprised ourselves by learning that we are more proficient programmers than we thought. In terms of hard skills, we expanded our repertoire of coding languages to include Python and many of its libraries; learned a lot about APIs (what they are, how they work, how to implement them in our project, how to query them correctly, etc.); learning UI/UX from scratch; and creating JSON files to hold saved data.

What's next for GirlMath

We hope to continue this project past submission to potentially turn it into a distributable service. It would be amazing to have a mobile app in addition to the desktop application, as well as a website detailing who we are and what our mission is, as well as providing additional resources to best help women from all walks of life. Ideally, GirlMath would become a nonprofit charity that can also give in-person workshops and sponsor foodbanks and other women's charities. We know that lots of women in need of help are not able to pay for a subscription service, and should not have to use an application riddled with ads merely because they can't pay.

GitHub

https://github.com/keihwi/HackRivals.git

Built With

Share this project:

Updates