Inspiration
During the planning process, we first brainstormed large financial problems that are plaguing society. Thinking back to our daily life, we recalled how we constantly saw scams and phishing incidents appear in the news. This has risen in prevalence especially due to an increase in the access to advanced technology. We wanted to counteract such social injustice by using technology in a _ beneficial _ way; thus, we created a website to raise community awareness on scam situations as well as how to maintain good financial practices. When we found the problems we wanted to address, we turned to several existing apps for inspiration on how to implement our solution. Looking at Finch, a mental health app, we incorporated similar features of user engagement and promoting awareness within communities. We also used AI chatbots to interact with the user.
What it does
Our site includes a Financial Key Terms Learning Hub, where users can take AI-powered conversational quizzes to deepen their understanding of financing. The users are also able to set custom financial goals and implement them via checklists, saving their profile progress through secure user logins. Moreover, users can scan receipts and have the AI model extract the total costs (more detailed below Challenges). Another main feature is a Scam Simulator, where an AI chatbot converses with the user and pretends to be a scammer. This is intended to give the user practice on realistic scenarios where the user may need to identify between legit people and scammers.
How we built it
To create the server, we used Express and Node.js, creating a Redis-based-cache and MariaDB database system. To store user logins, we ensured online security with SHA256 + Salt hashing and stored user sessions on Redis, allowing us to restrict API signals that do not come from authenticated users. The AI chat for vocabulary uses intricately-tested prompt engineering with Together.AI’s Llama-3.3-70B-Instruct-Turbo model. With Python’s EasyOCR, we extracted text from a receipt before running it through a LLM to smooth out typos in the detection. Accessing Python’s Flask server from the frontend, we were able to effectively scan receipts and extract the final cost. We made the frontend with Next.js to optimize SEO through SSR. Skillfully picking out effective UI/UX designs, we integrated interactive charts with Recharts and responsive sizing with the MUI library. SafeCents was not only built with in-depth technical skills, but it was constructed upon hours of backaches, headaches, and sore eyes. We hope that as a judge, you enjoy the product of our effort and pain.
Challenges we ran into
While developing the project, the main challenge that we faced was the time constraint; we had several ideas and knew how to implement them, but did not get to incorporate them to the full extent that we had planned. For example, the receipt scanner was initially intended to sort the costs into specific categories, but we did not have time to implement this yet. Additionally, a second challenge was making our project have an application broader than just personal finance, so we focused on developing with a community-based intent. Another large obstacle was towards the beginning of our project building: we had trouble choosing a specific idea, but we had many smaller ideas. We ended up combining them all together for the final project.
Accomplishments that we're proud of
Our team worked hard at making a smooth AI conversation experience for both the Learning Hub and the Scam Simulator. We also are proud of our seamless integration between frontend and backend, coding both Express and Flask APIs.
What we learned
We learned that often what makes a project have a significant impact is the collectiveness of several ideas, not necessarily just a single major idea, because most useful things are made up of multiple critical aspects. Our team also learned that a single error can take hours to troubleshoot, so it is important to establish a balance between “risky” and more “stable” implementations.
What's next for SafeCents
Like any other project, ours has room to expand on in the future. Particularly, with more time, we plan to retrain the pretrained language model with a more specific dataset, so that we could fine-tune its recognition on wording that is more related to financing. An additional implementation of AI in solving this problem would be retraining a text-to-speech model and using generative AI to warn users of potential scam calls, upon receiving a call.
Built With
- easyocr
- express.js
- mariadb
- next.js
- python
- react
- recharts
- redis
- together.ai
Log in or sign up for Devpost to join the conversation.