Tidepool
A field app that lets marine biologists log samples and check tide data on a boat with no signal, then syncs when they reach harbour.
- Client
- Nordic Ocean Institute
- Year
- 2026
- Role
- Lead designer
Available for new projects from January 2027.
Freelance product designer in Gothenburg, Sweden
Four projects from 2024 to 2026
A field app that lets marine biologists log samples and check tide data on a boat with no signal, then syncs when they reach harbour.
Replacing a 20-year-old member banking system with forms that staff could learn in a morning, without losing a single account rule.
A live map of tram and bus delays that commuters read at a glance and dispatchers use to reroute services within minutes.
A free guide that walks municipalities through publishing their first datasets, from choosing a licence to answering the first email from a user.
Notes on design, data and running a one-person studio
Showing all 6 posts
Our offline field app said “No data” in four different situations. Untangling them improved every other screen too.
Read the full postWet neoprene and a rolling deck make a 44-pixel button feel tiny. Here is what we measured on the boat and what we changed.
Two decades of edge cases lived in one form. How we found them, kept the ones that mattered, and retired the rest.
Clients kept asking which slice was bigger. A sorted bar chart answered that before anyone had to ask.
Thirty mornings, one pocket notebook, and what watching commuters check their phones taught me about the Delay map.
Hourly rates made clients nervous about every question. A fixed price tied to a clearly defined problem made both of us braver.
Latest post
The first build of Tidepool had a screen I was proud of for about a week. It showed tide readings for the station a researcher had chosen, drawn as a smooth curve with high and low water marked. In the office, on fast wifi, it looked finished.
Then we took it out on the institute’s survey boat, forty minutes beyond Vinga lighthouse, and the curve was gone. In its place was a grey box that said “No data.”
When we read the logs, “No data” covered at least four different situations. The tablet had never synced this station. It had synced, but the station had stopped reporting. The readings existed but were older than the six hours the app treated as fresh. Or the station was healthy and there were simply no readings yet for a day that had just begun.
To the app, all four were the same thing: an empty list.
{
"station": "Göteborg Torshamnen",
"date": "2026-03-14",
"readings": [],
"lastSync": "2026-03-13T22:40:00Z"
}
To a biologist holding the tablet in a wet glove, they were completely different. One meant “sync again when you’re back in range.” Another meant “the sensor is broken, log a fault.” Another meant “wait an hour.”
An empty state is the one screen where the user knows less than the system. Its job is to close that gap.
We rebuilt the screen so each case had its own message and its own next step. “Last synced yesterday at 22:40. Newer readings will appear when you’re back in coverage.” “Torshamnen hasn’t reported since Tuesday. Switch to Fiskebäckskil, the nearest station, or log a fault.” Plain sentences, each with a timestamp and an action.
The surprise was what this did to the rest of the app. Once we had written down what people needed to know when nothing was there, we could see what they needed when everything was. The sync time moved from a settings page to the top of every chart. Station health got a small indicator in the station list. The full screen improved because the empty one made us name what mattered.
On every project now, I write the empty states before I draw the full ones. I list every reason a view could be empty and give each reason a sentence and an action. It takes an afternoon, usually in a spreadsheet, and it has never been wasted.
Gothenburg, Sweden
I’m a product designer and writer based in Gothenburg. For seven years I’ve worked on software for people whose jobs depend on data: marine researchers, transit dispatchers, credit union staff and municipal clerks.
I started at Kartverk Studio drawing maps, then spent three years at Norrsken Analytics designing dashboards that analysts actually opened. Since 2024 I’ve worked independently, usually as the only designer on a small team, from the first interviews to shipped front-end code. I care about plain language, forms that forgive mistakes, and charts that answer one question well. Outside client work I write here, run workshops for public-sector teams, and sketch on the number 11 tram.
2019 to 2021
Designer, Kartverk Studio
2021 to 2024
Senior product designer, Norrsken Analytics
2024 to now
Independent
Empty states are content
Nordic Design Days, 2026
Forms that survive a migration
Front-end Gothenburg, 2025
I reply within two working days
Working on a product where people need to make sense of data? Tell me what you’re building and when you’d like to start.
maya@lindqvist.example