DreamShift Industry Intelligence Dashboard is a private, production-grade analytical platform built to process raw CRM data into actionable acquisition insights, geographic lead mapping, and predictive forecasts.
It brings together:
- Executive overview of active clients and tally leads
- Industry-specific lead-to-client conversion matrices
- Geospatial lead distribution heatmaps across Australia
- Machine learning-powered conversion probabilities and clustering
- Time-series forecasting for future client acquisition
- A sleek, premium dark-mode UI
Built and engineered by Navodhya Fernando.
Python ETL script that cleans, standardizes, and processes raw CRM CSV files into optimized JSON.
Interactive map of Australia displaying lead density by state, featuring a custom caching and rendering engine to avoid SSR hydration issues.
Dynamic, responsive donut charts and trend indicators using Recharts, designed specifically for a premium dark theme.
Deep-dive tables calculating exact conversion rates, including dedicated tracking for high-quality leads.
- Logistic Regression: Calculates conversion probabilities by industry
- K-Means Clustering: Identifies top converting user personas based on industry, state, and visa status
- Exponential Smoothing: Generates a 30-day forward-looking forecast of client acquisitions
- Zero-Touch Reporting: Eliminates manual spreadsheet crunching with a unified Python-to-React pipeline
- Predictive Growth: Moves beyond historical reporting by using ML to identify high-converting personas and forecast future trends
- Executive Visibility: Consolidates complex CRM data into a clean, scannable command center
- Performant Architecture: Static JSON consumption via Next.js ensures fast load times and zero database latency on the frontend
- Bulletproof UI: Custom flexbox layouts and client-side mounting patterns prevent layout breaks across screen sizes
- Next.js 14+ App Router
- React
- TypeScript / JavaScript
- Tailwind CSS
- Recharts
- React Simple Maps
- Premium dark-mode interface
- Python 3
- Pandas
- NumPy
- Scikit-Learn
- Statsmodels
- Static JSON generated through automated Python scripts
- Full-stack ownership across data science, ETL, machine learning, and frontend architecture
- Ability to translate complex backend calculations into a polished executive-facing dashboard
- Real-world engineering problem solving, including custom workarounds for third-party library limitations
- Clean separation of concerns, with Python handling heavy data processing and React handling presentation
- Fast, scalable frontend architecture powered by optimized static JSON
flowchart TD
RAW1[Clients.csv]
RAW2[Leads.csv]
PY[process_data.py<br/>Pandas + Scikit-Learn]
JSON[(dashboard_data.json)]
NEXT[Next.js App Router]
UI[Premium Dark Mode UI]
MAP[Geospatial Render]
PRED[Predictive Models]
RAW1 --> PY
RAW2 --> PY
PY -->|Cleans, Clusters, Forecasts| JSON
JSON --> NEXT
NEXT --> UI
NEXT --> MAP
NEXT --> PRED
-
Raw CRM data, including
Clients.csvandLeads.csv, is securely placed inside theraw_datafolder. -
The Python pipeline,
process_data.py, runs and performs data cleaning, industry standardization, conversion calculations, clustering, and forecasting. -
The pipeline outputs a single optimized
dashboard_data.jsonfile. -
The JSON file is stored inside the Next.js frontend at:
public/data/dashboard_data.json
-
Next.js statically consumes the JSON file, resulting in fast, zero-latency data delivery.
-
React components render the executive overview, geospatial maps, industry metrics, and predictive intelligence sections.
industry-dashboard/
raw_data/
# Ignored by git
# Drop CRM CSV files here
process_data.py
# Python ETL and ML pipeline
public/
data/
dashboard_data.json
src/
app/
# Next.js pages, layouts, and global CSS
components/
section-1-overview/
# KPI cards, summary tables, donut charts
section-2-industry/
# Geospatial map and deep-dive metrics
section-3-predictive/
# ML personas and forecast charts
Make sure you have the following installed:
- Node.js 18+
- npm 10+
- Python 3.9+
- pip
npm installpip install pandas numpy scikit-learn statsmodelsPlace the following files inside the /raw_data/ directory at the root of the project:
Clients.csv
Leads.csv
Run the Python script to generate the latest JSON file.
python process_data.pynpm run devOpen the dashboard at:
http://localhost:3000
npm run buildnpm run startImportant: Run python process_data.py before npm run build to make sure Next.js uses the latest data.
This repository uses a strict .gitignore to ensure raw CRM data is never committed to version control.
The following files should remain private and excluded from Git:
raw_data/*.csv
Only aggregated and anonymized metrics inside dashboard_data.json are exposed to the frontend build process.
This software is private and proprietary.
See LICENSE for usage restrictions.