A smart forecasting assistant for small businesses. Upload a CSV, describe your forecast needs in plain English, and get predictions powered by machine learning and natural language understanding.
- π Email-based login system (FastAPI + PostgreSQL)
- π CSV upload with per-user storage in the database
- π§ Natural language parsing using Gemini LLM
- π Time-series forecasting with Facebook Prophet
- π Dynamic graph generation with confidence intervals
- π£ AI-generated explanation of the forecast
- π Clean frontend built with React (Vite)
| Layer | Tools |
|---|---|
| Frontend | React (Vite), Vanilla CSS |
| Backend | FastAPI, SQLAlchemy, PostgreSQL, Gemini |
| Forecast | Facebook Prophet, Pandas, Matplotlib |
| Auth | Email-based login |
-
Login with your email
-
Upload a CSV file containing
date,product, andrevenue -
Type a prompt like:
Forecast revenue for notebooks for the next 14 days -
The app:
- Parses your prompt using Gemini
- Validates and filters your uploaded CSV
- Runs a Prophet forecast
- Returns a graph + natural language explanation
Create a .env file in the project root with:
LLM_API_KEY=your-gemini-api-key
DATABASE_URL=postgresql://username:password@localhost:5432/yourdbname
Replace
username,password, andyourdbnamewith your actual PostgreSQL credentials.
# From the project root
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
# Run the backend server
python backend/main.pycd frontend
npm install
npm run devdate,product,revenue
2024-01-01,Notebooks,100
2024-01-02,Notebooks,120
...Sajal Sabat