Chart Insights
Compliance, at a glance
TJC compliance dashboard with combined heat maps across standards and quarters.
Tools I used
How it started
Two audit cycles, months apart, sitting in two separate documents that nobody was ever going to lay side by side.
What actually happened
Chart Insights exists to answer one question: did the documentation gaps we found last time get better or worse? The code is a single dashboard route built around a HeatMapComparison component that puts two time periods against each other, unit by unit. Findings live in findingsData.ts as records with a standard, an Element of Performance, the written finding and a score, and a separate generateReport utility folds them into a summary object. Shadcn tabs split the overview from the comparison view. Reading it back, the honest part of this build is what is still a placeholder: the download button produces nothing yet and the search field in the header is not wired up.
Moments that changed the build
- Me: "Put August and February next to each other." → A comparison heatmap, not two dashboards.
- Me: "Keep the report logic out of the screen." → generateReport moved into its own utility file.
- Me: "Add a download button." → The button exists. The file generation behind it does not. It is still on the list.
What broke
The report export. It looks finished in the interface and does nothing, which is the most dangerous kind of unfinished — I would rather ship it visibly missing than quietly broken.
What I learned
Comparison is a feature, not a view. And a button that promises a file must either produce one or be removed.
The ebook from this project
- Read it
The Chart Insights Story
Compliance, at a glance
Ebook · $9.00