Inspiration
Managing personal finances can be overwhelming, especially for teenagers and young adults who are just starting out.
We wanted to build FinPal to simplify finance and make it feel approachable — like talking to a friendly advisor rather than navigating confusing spreadsheets or intimidating banking websites.
Our goal was to create a tool that's smart, easy to use, and offers personalized financial support.
What it does
FinPal is an AI-powered financial assistant designed to help users:
- Track their checking and credit account balances.
- View a simple financial dashboard summarizing their total savings, total spending, and net balance.
- Ask any finance-related question and get a clear, actionable answer in under 70 words — perfect for quick advice.
- Stay focused on finance topics by gently redirecting off-topic questions. FinPal aims to build healthy financial habits for the next generation.
How we built it
We built FinPal using:
- Django (Python) for the backend server and routing.
- OpenAI’s GPT API to power the smart financial chatbot.
- AWS DynamoDB for secure storage of user login credentials (sign up and login system).
- HTML/CSS/JavaScript for the frontend.
- Environment Variables for securing API keys and access credentials.
- Custom prompt engineering to limit bot answers to 70 words, and to filter out non-finance questions. The web app is fully responsive and designed to deliver clean, simple interactions.
Challenges we ran into
- Integrating OpenAI's GPT model into Django while handling secure API communication.
- Designing a system to classify finance-related vs non-finance questions reliably without overcomplicating the prompt.
- Styling and positioning the chatbot on every page without breaking the dashboard layout.
- Managing user authentication securely with DynamoDB and bcrypt for password hashing.
- Handling static files (CSS, JS, images) correctly in Django with the correct settings across local and server environments.
- Integrating ChatGPT LLM API into our codebase
Accomplishments that we're proud of
- Building a fully functioning, real-time finance chatbot integrated into a live dashboard.
- Achieving finance-topic classification to maintain quality and focus in user interactions.
- Creating a simple, clean user interface that feels modern and intuitive.
- Handling secure user authentication and encryption.
- Making the bot explain financial concepts in short, teen-friendly answers.
What we learned
- How to integrate complex APIs (OpenAI, AWS DynamoDB) into a Django web application.
- How to use prompt engineering to control AI behavior (word limits, topic limits, tone).
- The importance of designing a backend system that gracefully handles user mistakes (bad input, invalid logins).
- Deepened our skills in Django static file handling and clean UI/UX principles
What's next for FinPal
- Adding dynamic real-time Plaid API integration to pull actual bank transactions.
- Expanding the dashboard to show spending categories (like food, travel, education).
- Building a mobile app version of FinPal for Android and iOS.
- Introducing financial goals tracking (ex: saving for college, budgeting for a car).
- Adding personalized advice based on user financial behavior over time.
- Improving chat memory so FinPal can hold longer conversations about the user’s specific goals.
- Creating our own AI Agent to handle user questions
VIEW VIDEO HERE: https://drive.google.com/drive/folders/1ieg3qfz0wL7GmAdN6quTA_6yc-MW6BhC?usp=drive_link
Built With
- aws-dynamodb-for-authentication
- bcrypt
- css
- django
- django-rest-framework
- html
- javascript
- we-used-python
Log in or sign up for Devpost to join the conversation.