What it does
1Finance.ai is a financial tracking and financial literacy app that connects to users' bank accounts and displays a clear, user-friendly dashboard of their financial data. Here’s what it offers:
Account Aggregation: Connects to multiple bank accounts via Plaid to fetch account balances, transactions, and other relevant data.
Loan Approval Prediction: Uses a machine learning model to predict loan approval probability based on user input like income, loan amount, and duration.
Quiz-Based Learning: Includes an interactive quiz on financial literacy topics to help users understand and manage their finances better.
Secure and Scalable Backend: Built using Flask, MongoDB Atlas, and Terraform to ensure seamless data handling, security, and scalability.
How we built it
We used a range of technologies and tools to bring 1Finance.ai to life:
Frontend: Built using SwiftUI for a seamless and intuitive user experience on iOS devices. Backend: Created a Python Flask server that connects with MongoDB Atlas as our main database for storing user and financial data. Plaid API integration allows for secure access to users’ bank data.
Backend: We used Python and Flask for API endpoints and deployed the server through Ngrok. The Swift will communicate with the backend through API endpoints
Machine Learning Model: Trained a logistic regression model using scikit-learn for predicting loan approval probabilities, which we deployed using Joblib for efficient storage and retrieval. Employed Terraform CLI to configure and manage our MongoDB Atlas infrastructure in a fast, scalable way. Terraform allowed us to automate the setup, making our system more resilient and easier to replicate.
Database: We used MongoDB Atlas for database, we have created one cluster and 4 collections:
hackncCluster
- financial -> Will store financial account information.
- quiz_questions -> Quiz Questions were inserted for 60 quizlets, this will be displayed in quiz view for fun and exciting interactive financial literacy
- user_scores -> This will store user credential and the quiz wrong count, and right count to display the quiz progress in quizview in the app.
- users -> This will store user credential upon registration and uses it to check for logging in.
Challenges we ran into
Developing 1Finance.ai presented some unique challenges:
Securing Financial Data: Integrating with Plaid required us to carefully handle sensitive financial data, following strict security protocols.
Data Consistency and Syncing: Ensuring real-time data syncing across Plaid, MongoDB Atlas, and our app while maintaining data consistency.
Terraform Setup for MongoDB Atlas: Configuring Terraform to work seamlessly with MongoDB Atlas had a steep learning curve, particularly for securing API keys and managing multiple environments.
Machine Learning Integration: Integrating a machine learning model for loan approval predictions required efficient data handling and optimization for performance. Accomplishments that we're proud of
We’re proud of several key achievements in 1Finance.ai:
Seamless Integration with Plaid and MongoDB Atlas, enabling real-time financial data fetching and storage.
Automated Infrastructure Management using Terraform, which saved time and reduced potential human error during deployment.
Educational Quiz Feature on financial literacy, which provides value beyond mere data visualization. User-Friendly Dashboard that makes financial information more accessible and actionable for users. What we learned
Building 1Finance.ai taught us a lot about the complexities of financial data handling, infrastructure automation, and user experience:
Terraform CLI: Using Terraform to manage MongoDB Atlas was a game-changer, providing a hassle-free, scalable solution for our backend setup.
Plaid API Integration We gained a deep understanding of how to securely integrate third-party APIs, particularly for sensitive financial information.
Terraform CLI <-> MongoDB Atlas = Hassle-free huge time-saver!!
Using Terraform allowed us to automate MongoDB Atlas setup and management, enabling rapid deployment and consistent environment management across our team.
Terraform CLI
- Get MongoDB Atlas, public key, private key, org ID
- Make configuration file named as "main.tf"
terraform {
required_providers {
mongodbatlas = {
source = "mongodb/mongodbatlas"
version = "~> 1.3.1"
}
}
}
provider "mongodbatlas" {
public_key = "your_key"
private_key = "your_key"
}
resource "mongodbatlas_project" "my_project" {
name = "hacknc"
org_id = "6709ec4d6bd7a919a35399c4"
}
resource "mongodbatlas_cluster" "hacknc" {
project_id = mongodbatlas_project.my_project.id
name = "hackncCluster"
provider_name = "TENANT"
backing_provider_name = "AWS"
provider_region_name = "US_EAST_1"
provider_instance_size_name = "M0"
cluster_type = "REPLICASET"
auto_scaling_disk_gb_enabled = false
}
- Terraform Command Lines

terraform init
terraform plan
terraform apply
Done!
What's next for 1Finance.ai
Financial Data Visualization: We were close to implementing Data visualization using SwiftChart, wish if there were more time left.

Log in or sign up for Devpost to join the conversation.