7 min read
What a tide table taught me about empty states
An empty screen on a research boat changed how I think about missing data and the words we use to explain it.
DesignI design tools for people who work with data, and I write about how they get made.
Available for new projects from January 2027.
Explore selected workFour projects, 2024–2026
A field app that helps marine biologists record observations offline, even on a moving boat.
Replacing a 20-year-old member banking system with accessible forms that make the next step clear.
Start with their personal details.
Full name
Email address
Phone (optional)
You can review everything before saving.
A live map that turns tram and bus delays into useful decisions for commuters and dispatchers.
A free, practical guide for municipalities publishing their first datasets, from the first spreadsheet to a useful public resource.
A practical guide for municipalities
Open
Data
Handbook
Maya Lindqvist · Free to read, free to share
Things I’ve learned by making things.
7 min read
An empty screen on a research boat changed how I think about missing data and the words we use to explain it.
Design5 min read
What cold hands, wet screens, and a pair of work gloves reveal about an interface that looked generous at a desk.
Field notes9 min read
The hardest part of replacing a familiar form was finding the quiet expertise hidden between its fields.
Design4 min read
A few unremarkable bar charts made our project reviews shorter and the important comparisons much easier to see.
Data6 min read
Thirty days of drawing the small negotiations between passengers, signs, ticket machines, and the city outside.
Field notes8 min read
How defining the decision a client needs to make helped me write clearer proposals and more useful project boundaries.
FreelancingShowing all 6 posts
Featured post · Design
We were twenty minutes from shore when the screen went blank. Not broken, not loading. Just empty. The biologist beside me looked at the tablet, then at the water, and asked a question our prototype couldn’t answer: “Is there nothing here, or do you just not know yet?”
I had designed the empty state for Tidepool at my desk. A small illustration, a friendly sentence, and a button to add an observation. It assumed that an absence of records meant an absence of activity. On the boat, that assumption fell apart.
There were several reasons a station might show no observations. Nobody had surveyed it. Someone had surveyed it and found nothing. Records existed, but hadn’t reached this device. The tide hadn’t made the site accessible yet. Each situation asked for a different next step.
Later, back on land, I noticed that the tide table didn’t apologise for low water. It showed a time, a height, and what came next. A low point was information. It had a place in a larger pattern.
That became our starting point. Instead of designing a more charming blank screen, we wrote down the states we actually knew about:
station: "West coast / 04"
survey_status: "not_started"
local_observations: 0
last_synced: "2026-09-24T07:30:00Z"The zero stayed, but it stopped carrying the whole story. We separated “not surveyed” from “surveyed, nothing found” and made the last successful sync visible. When the device was offline, we said so without turning an ordinary working condition into an error.
Our new copy was less cheerful and more useful: “No observations recorded on this device. Last synced at 07:30. You can still start a survey.” It told the biologist what the system knew, where that knowledge stopped, and what remained possible.
We tested the wording in context, with the tablet in its waterproof case and somebody else holding the boat steady. The next question was about the survey, rather than the screen. That felt like progress.
I now start empty states with a small inventory: what happened, what we know, what we don’t, and what someone can do next. An illustration can still help. But first, the interface owes its reader an honest account of the situation. Sometimes the most useful thing a tool can say is exactly how much it knows.
I’m Maya, a freelance product designer and writer based in Gothenburg, Sweden. I work with teams turning complicated information into tools people can trust, especially when the context is messy, the connection is unreliable, or the stakes are high.
Before going independent in 2024, I worked in a small design studio and then in analytics software. Those years taught me to pay attention to the person behind the spreadsheet, and to test ideas with something people can actually use.
My practice moves between research, interaction design, and prototypes in code. Writing helps me notice what the work is teaching me. Away from my desk, I’m usually sketching on a tram or walking along the coast.
Based in Gothenburg. Working with teams everywhere.
Tell me what you’re working on. I’d love to hear about it.
maya@lindqvist.example