Tylerwcodes.com
Resume
← Back to all projects

DashFlow

One live dashboard for every metric that matters — pulled, processed, and charted automatically.

Python REST APIs pandas JavaScript Chart.js
DashFlow screenshot

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

  1. Python collectors call each configured REST API and pull down the raw metric data from every source service.
  2. pandas takes over from there, cleaning the responses and merging the differently shaped payloads into one consistent, chart-ready dataset.
  3. The processed dataset is handed off to the dashboard's web frontend.
  4. JavaScript on the frontend renders the data as Chart.js visualizations in the browser.
  5. The pull-process-render cycle repeats automatically, keeping the dashboard a live, current picture of every source without any manual reporting step.

Tech Stack

Python The backend language — runs the collectors that call each source API and the processing layer that prepares the data.
REST APIs The integration surface — every metric source in DashFlow is pulled in over its REST API rather than through manual exports.
pandas The data-wrangling layer — cleans, merges, and reshapes the raw API responses into one consistent dataset for the dashboard.
JavaScript Powers the dashboard frontend in the browser, taking the processed data and driving the live reporting view.
Chart.js The visualization library — renders the unified metrics as charts, turning the merged dataset into the actual dashboard.