Based on the file structure image you uploaded, I can see exactly what is going on. It looks like an AI-powered financial tracking app built with Streamlit that uses Machine Learning to classify transactions (Needs vs. Wants) and includes a gamified "FinPet" feature. Here is a professional, clean README.md file ready for you to copy and paste. How to use this:
- Create a file named README.md in your finzen folder.
- Paste the code block below into it.
FinZen is an AI-powered personal finance assistant built to help you achieve financial mindfulness. It combines Machine Learning for automated transaction classification with FinPet, a gamified virtual companion that reacts to your spending habits.
- AI-Powered Classification: Uses pre-trained Machine Learning models (
type_classifier.pkl) to automatically distinguish between Needs (Essentials) and Wants (Discretionary). - Smart Categorization: Automatically assigns specific categories to your transactions using Natural Language Processing (NLP).
- FinPet Companion: A virtual pet that grows and reacts based on your financial discipline. (Assets located in
gifs/). - Interactive Dashboard: A clean, real-time interface built with Streamlit.
- Privacy Focused: Runs locally on your machine.
- Frontend: Streamlit
- Language: Python 3.x
- Machine Learning: Scikit-learn (for vectorization and classification models)
- Data Handling: Pandas, NumPy
finzen/
├── app1.py # Main Streamlit application entry point
├── requirements.txt # Python dependencies list
├── gifs/ # Assets for the FinPet gamification feature
├── vectorizer.pkl # NLP Vectorizer for text processing
├── type_classifier.pkl # ML Model: Classifies transactions as 'Needs' or 'Wants'
├── cat_classifier.pkl # ML Model: Classifies transactions into specific categories
├── vectorizer_needs.pkl # (Optional) Specialized vectorizer for needs
└── needs_cat_classifier.pkl # (Optional) Specialized classifier for needs categories
⚙️ Installation
-
Clone the repository: git clone https://github.com/sovopr/finzen.git cd finzen
-
Create a virtual environment (optional but recommended): python -m venv venv
venv\Scripts\activate
source venv/bin/activate
- Install dependencies: pip install -r requirements.txt
🏃♂️ Usage To start the application, run the Streamlit command in your terminal: streamlit run app1.py
The application will open in your default web browser (usually at http://localhost:8501). 🧠 How the AI Works FinZen utilizes serialized Python objects (.pkl files) to process your data:
- Input: You enter a transaction description (e.g., "Grocery shopping at Walmart").
- Vectorization: vectorizer.pkl converts this text into a format the machine understands.
- Prediction: type_classifier.pkl predicts if it is a Need or a Want.
- Feedback: The FinPet reacts (happy for savings/needs, concerned for excessive wants) using the assets in the gifs/ folder. 🤝 Contributing Contributions are welcome! If you have suggestions for better classification models or new FinPet features:
- Fork the repository.
- Create a feature branch (git checkout -b feature-name).
- Commit your changes.
- Push to the branch and open a Pull Request.