The Accra Commute Estimator is a Flask-based web application that predicts the estimated arrival time for commuters in Accra.
# π Time Estimator β Commute Arrival Predictor
> A Flask-based machine learning web app that predicts your estimated arrival time based on departure time, transport mode, and location β built for commuters in Accra, Ghana.
π **Live Demo:** time-estimate.onrender.com
---
## π Overview
Time Estimator is an end-to-end machine learning project that takes a commuter's inputs and returns a predicted arrival time. It was built as a **proof-of-concept prototype** to demonstrate a complete ML workflow β from data collection to cloud deployment.
> β οΈ **Note:** The dataset was collected from a small group of volunteers via SurveyCTO, so predictions are experimental rather than production-grade. The primary goal of this project is to showcase the full pipeline: data collection β model training β Flask integration β deployment.
---
## β¨ Features
- β± Departure time selection via Flatpickr (24-hour format)
- π Multiple transport modes: Trotro, Taxi, Private Vehicle, Walking
- π Dropdowns for home and office locations across Accra
- π€ ML-powered arrival time prediction
- π± Responsive UI with persistent form state after submission
- βοΈ Deployed and accessible via Render
---
## π§ Machine Learning Details
| Property | Details |
|---|---|
| Data collection | SurveyCTO (manual, from volunteers) |
| Dataset size | Small / experimental scale |
| Preprocessing | Pandas |
| Model framework | Scikit-learn |
| Model serialization | Joblib (`.pkl`) |
Because of the limited dataset size, this model is a **proof-of-concept** β not a fully optimized predictive system. See Future Improvements for the roadmap.
---
## π Tech Stack
**Backend** β Flask Β· Pandas Β· Scikit-learn Β· Joblib
**Frontend** β Bootstrap 5 Β· Flatpickr Β· Font Awesome (all via CDN)
**Deployment** β Render
**Data Collection** β SurveyCTO
---
## π Running Locally
### 1. Clone the repository
```bash
git clone
github.com
cd time_estimate
```
### 2. Create and activate a vir β¦