Internship assignment · PlanetPod
Catch a failing battery before the customer ever notices.
PlanetPod builds smart home batteries. One of my assignments: give customer support a way to see the whole fleet at a glance, which pods are healthy, which are in an error state, and which just threw a fatal error. So we could reach out before someone sat in the cold.
The assignment
Support used to hear about a problem when the customer called. By then the battery had already been down for hours. I built two Grafana dashboards on top of the device telemetry so the team could spot trouble first: one fleet-wide view to triage, and one deep-dive to debug a single pod.
Every pod in the country on one map, coloured by health.
A triage queue so support contacts the customer before they notice.
Per-pod sensor history and an error log to find the root cause.
Dashboard 1 · Fleet overview
A map of the Netherlands with a dot per pod: green is healthy, yellow a minor error, red a fatal one, grey is offline. Counters tally each state up top, and a queue lists the worst pods first so support can work top-to-bottom: link the pod to its customer and call them.
Dashboard 2 · Pod detail
Pick a pod by id and the whole story opens up: a live error log, the pack power flowing in and out, and a wall of sensor graphs: voltages, currents, cell temperatures, inverter heat, grid frequency. Everything you need to debug without ever touching the real unit.
Under the hood
The pods stream a lot of sensor data; my job was turning that firehose into panels a human can read in two seconds. I designed the layout, wrote the queries and picked the visualisations that actually helped support: colour-coding by severity, sorting by urgency, and keeping the noise out.
Note: the original dashboards are internal to PlanetPod and run on live customer data. What you see here is a faithful recreation I rebuilt from memory with made-up sample data. No real customer or device data is shown.