A simple yet powerful CRM (Customer Relationship Management) system built with Python, Streamlit, and AI analytics capabilities. The system uses Ollama's Gemma2 model for generating insights about clients and deals.
- π’ Company Information Management
- ποΈ Products/Services Management
- π₯ Client Management with AI-powered analysis
- π° Deal Tracking with AI-powered success prediction
- β Task Management
- π Advanced Analytics Dashboard
- π€ Local AI processing using Ollama
- π Secure local database storage
Manage your company details, target market, and unique selling points in one place.
Create, assign, and track tasks with due dates and client associations.
Monitor your deal pipeline and track performance with interactive visualizations.
- Clone this repository:
git clone https://github.com/KazKozDev/Simple-CRM-with-AI.git
cd Simple-CRM-with-AI
- Install required Python packages:
pip install -r requirements.txt
-
Install Ollama:
- macOS: Visit https://ollama.ai and download the installer
- Windows:
- Install WSL2 following Microsoft's guide
- Install Ollama in WSL2 following Ollama's guide
-
Pull the Gemma2 model:
# macOS
ollama pull gemma2:9b
# Windows (in WSL2)
wsl -d Ubuntu -e ollama pull gemma2:9b
- Start Ollama if not running:
open -a Ollama
- Start the CRM:
streamlit run crm.py
- Start Ubuntu (WSL):
wsl -d Ubuntu
- In WSL terminal:
# Start Ollama service
sudo systemctl start ollama
# Start the CRM
streamlit run crm.py
The application will be available at http://localhost:8501 in your web browser.
The easiest way to run the application on macOS:
-
Install Ollama from https://ollama.ai
-
Make the startup script executable. You can do this in two ways:
Using Terminal:
chmod +x start_crm.command
Using Finder:
- Find start_crm.command in Finder
- Right-click (or Control + click) on the file
- Select "Get Info"
- In "Sharing & Permissions" section, check "Execute" for your user
Note: This step is only needed once after creating the file.
- Run the application:
- Double-click
start_crm.command
in Finder - Or run it from Terminal:
./start_crm.command
The script will:
- Check if Ollama is installed
- Start Ollama if it's not running
- Download the Gemma2 model if needed
- Launch the CRM application
The CRM interface will automatically open in your default web browser at http://localhost:8501
- Python 3.8+
- Ollama installed locally (https://ollama.ai)
- Gemma2:9b model for Ollama
- Required Python packages (see requirements.txt)
Simple-CRM-with-AI/
β
βββ crm.py # Main application file
βββ start_crm.command # Startup script for macOS
βββ requirements.txt # Python dependencies
βββ README.md # Documentation
βββ crm.db # SQLite database (created on first run)
- Store and manage company details
- Track company description, target market, and unique selling points
- Keep history of company information updates
- Add and manage products and services
- Track pricing and features
- Define target audience for each offering
- Comprehensive client profiles
- Contact information storage
- Client interaction history
- AI-powered client analysis
- Potential value assessment
- Track deal status and progress
- Monitor deal value
- AI-powered success prediction
- Deal analytics and reporting
- Create and assign tasks
- Track task status
- Set due dates
- Link tasks to clients or deals
- Real-time business metrics
- Sales performance tracking
- Client engagement analytics
- Deal pipeline visualization
This project wouldn't be possible without the amazing work of these projects and their communities:
- Ollama - Local large language model
- Google - The Gemma model
- Streamlit - The web application framework
- SQLite - Database engine
- Pandas - Data manipulation and analysis
- Plotly - Interactive visualizations
- Requests - HTTP library
- Python-dateutil - Date utilities
- GitHub Actions - CI/CD pipeline
- Black - Code formatting
- Flake8 - Code linting
- All contributors and issue reporters
- The open source community for their invaluable resources and support
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE.md file for details.
If you encounter any problems or have suggestions, please open an issue on GitHub.