NPS history per contact — bands, hover cards, non-response markers, flightpath badge. · Account view →
<script src="flightpath-widget.js"></script>
<link rel="stylesheet" href="flightpath-themes.css"> <!-- optional -->
<div id="my-widget" class="fp-theme-boardroom"></div>
<script>
FlightpathChart.render(document.getElementById('my-widget'), data);
FlightpathChart.renderTable(document.getElementById('my-table'), data);
</script>
data.points[] fields: date, score (0–10, or −1 / "non-response"),
comment, closeLoop (open / in_progress / closed / null), url.
Top level: contact and account ({name, url}), and flightpath
(level flight, climbing, pull-up, descending, sub orbital, radio silence, single shot).
The parser also accepts a bare JSON array of points, or JSONL with one point per line.
The widget fills whatever container width it is given and redraws itself on resize.
All colors are CSS variables — see flightpath-themes.css for the list,
three ready-made themes, and how to make your own.