DashFlow
One live dashboard for every metric that matters — pulled, processed, and charted automatically.
Overview
DashFlow is a real-time analytics dashboard I built to solve a problem I kept running into: the numbers you actually care about live in a half-dozen different services, each with its own login, its own export format, and its own idea of what a report looks like. DashFlow pulls data from multiple APIs into a single automated reporting view, turning scattered metrics into one live picture you can read at a glance.
The project grew directly out of my day-to-day work as an IT Technician and Automation Developer at Thomas Howell Ferguson, where I build bidirectional API ETL pipelines that move data between ERP and CRM software. DashFlow applies those same patterns — pull from a source API, clean and reconcile the data, deliver it somewhere useful — to the reporting side of the problem, replacing manual exports and copy-paste spreadsheets with a view that updates itself.
Under the hood it splits into two halves. A Python layer handles the integration work, calling each REST API and using pandas to clean, merge, and reshape the raw responses into one consistent dataset. A JavaScript frontend then renders that dataset with Chart.js, so the finished product is a browser-based dashboard rather than another static report.
Key Features
- Multi-source API integration. Pulls metrics from multiple REST APIs into a single view, so data that normally lives in separate services shows up side by side.
- Automated reporting. The reporting view maintains itself — no manual exports, downloads, or spreadsheet assembly needed to get a current picture.
- pandas data pipeline. Raw API responses arrive in different shapes; a pandas layer cleans, merges, and normalizes them into one consistent dataset ready for charting.
- Live Chart.js visualizations. The unified metrics are rendered in the browser as Chart.js charts, turning rows of numbers into a readable dashboard.
- One live picture, not scattered metrics. The whole point of the project: consolidating fragmented data sources into a single real-time view, applying the same ETL patterns I use professionally for ERP-to-CRM integrations.
How It Works
- Python collectors call each configured REST API and pull down the raw metric data from every source service.
- pandas takes over from there, cleaning the responses and merging the differently shaped payloads into one consistent, chart-ready dataset.
- The processed dataset is handed off to the dashboard's web frontend.
- JavaScript on the frontend renders the data as Chart.js visualizations in the browser.
- The pull-process-render cycle repeats automatically, keeping the dashboard a live, current picture of every source without any manual reporting step.