How I Turned a Data-Heavy EV App Into a Four-Second Experience.
What Zeno Does
Electricity prices change every hour. Most EV owners charge at the wrong one. Zeno's algorithm monitors real-time prices, finds the cheapest window before your departure, and charges your car then. You set two things: when you need to leave, and how full you want the battery. The app handles everything else.
The Problem
The dashboard had to surface a lot without overwhelming the user. Every item on screen needed a clear reason to be there.
Research and Early Thinking
Before designing a single screen, I audited the competitive landscape. Every existing EV app had the same three problems.
These three patterns shaped one clear direction. The product needed to surface what mattered now and let everything else wait quietly until it was needed.

Onboarding Flow
The onboarding needed to collect a lot from new users: email, password, charger license, serial number, battery size, and connection confirmation. One task per screen with clear conditional logic kept it from feeling heavy.


Dashboard Exploration
Three concepts were explored before landing on the final direction.

The Decision Journey
From widgets to grouped components

Defending white space
Stakeholders suggested reducing spacing around the charging indicator to fit more data. I pushed back with user reasoning, not preference. Older users reading a dense screen work harder to find what they need. White space was doing real usability work.
Resolution: Secondary controls moved to modals. White space stayed.
Target SoC and Departure Time hidden behind a tap

The vehicle image

The vehicle image was in the very first concept sketch, not a late addition. During design review, the CEO and I noticed how Tesla showed your actual car, not a generic icon. I proposed the same. Building it took time: vehicle APIs, custom assets, model cutouts. But the sketch shows I knew from the beginning this was the right direction.
What got cut, and where it went
Beta users opened the app, checked battery percentage, glanced at the ready-by time, and closed it. Four seconds. Everything else went unlooked at.
The feature we built, shipped, and removed

We designed a double-ring clock widget showing the algorithm's charging schedule. Inner ring for today, outer ring for the next day. Electricity price data in Denmark does not reset at midnight, so sessions could spill past 12am. The two rings solved that technically.
Beta users found it mentally taxing. The deeper problem was not the visual. It was the concept. The algorithm's job is to remove decisions from the user, not explain its own logic to them. We removed the feature entirely. Trust came back when the complexity disappeared.
The Final Product
35 screens across 5 core flows: onboarding, dashboard, charging session, analytics, and settings. Designed for iOS and Android.
One task per screen. Clear conditional logic at every step.

One screen. Everything visible immediately. No hunting, no scrolling.

Everything removed from the dashboard lives here.

Assembly rather than invention. The design system paid off here.



