The challenge
An energy company wanted to use its operational data to drive customer engagement. They had water quality data from across their service territory, pH levels, turbidity measurements, contamination indicators, but no way to turn that data into something customers would actually use.
The initial brief was simple: build something with this data. The hard part was figuring out what "something" meant.
The engagement
We embedded with the team in early 2025. Before writing any code, we spent three weeks understanding the business: the customer service workflows, the regulatory environment, the competitive landscape, and, critically, what customers actually cared about.
What followed was five distinct product iterations, each one informed by the failures of the last.
Iteration 1: Leak detection
Our first approach used operational data to identify potential infrastructure issues before they became emergencies. Technically sound. Emotionally flat. Homeowners don't think about their water mains. They think about their families.
Iteration 2: Bacteria screening
We pivoted to contamination detection. Faster than lab testing, technically impressive, and the wrong instrument. Formal contamination notification is a regulated utility and public-health function with its own verification steps and legal duties. A consumer engagement product is not the right channel for it, whatever it would have done for engagement.
Iteration 3: Lab testing
A softer approach, proactive water quality testing positioned as a health checkup. The problem was speed. Lab results take days. By the time results arrived, customers had forgotten they asked.
Iteration 4: Real-time monitoring
Closer. Continuous water quality data, accessible through a simple interface. But raw data, pH levels, turbidity numbers, means nothing to someone who just wants to know if their water is safe for their dog.
Iteration 5: Personalized risk context
The version that worked. Real-time water quality data, personalized by ZIP code, with risk context tailored to what people actually care about: pets, infants, and personal health. Instead of metrics, it delivers meaning.
The result
The version that landed runs on essentially the same data pipeline as the first one. What changed was the framing, the personalization, and the emotional context. The technology was never the problem.
What the data actually showed
The product exists because the underlying finding is uncomfortable. Across roughly 300 Connecticut ZIP codes, we looked at each ZIP's most-detected contaminants and asked a narrow question: did any of them show up above its federal legal limit in at least one sample. The answer was yes in 77% of ZIP codes.
That number survives being attacked. Restricting to enforceable limits only moves it to 77.1%. Removing lead from the analysis entirely still leaves 69.4%. Raising the bar so that a contaminant only counts if it exceeds its limit in at least 10% of samples brings it to 60.8%. We recomputed it independently before publishing it: 233 of 301.
Two things this finding is not. It is not a claim about health guidelines, which are stricter than legal limits and are a different argument; every figure here is measured against the legal limit, and the pipeline never displays a health guideline as the basis. And it is not a claim that a given household's water is unsafe, because a single sample above a limit is not a verdict on a system.
What it is: a defensible reason for a consumer to look up their own ZIP code, which is the entire product.
Lessons
- Emotional resonance beats technical accuracy. Every version was technically sound. Only the one that connected emotionally succeeded.
- Five pivots require trust. The client funded all five iterations because we were embedded enough to have earned that patience.
- The technology was never the hard part. The same pipeline powers all five versions. The challenge was understanding what to build, not how to build it.
- Speed matters more than precision. Real-time feedback, even if less precise than lab results, wins on engagement every time.