Tidepool
2026A field app that lets marine biologists log samples on a boat with no signal, then syncs every reading cleanly once they are back in range.
Product designer & writer · Gothenburg, Sweden
Available for new projects from January 2027.
01 · Selected work
Four recent projects, from a research vessel in the Skagerrak to the tram network outside my window.
A field app that lets marine biologists log samples on a boat with no signal, then syncs every reading cleanly once they are back in range.
Replacing a 20-year-old member banking system with forms that staff and members can finish without a manual, and without losing a single record.
A live map of tram and bus delays that gives commuters an honest arrival estimate and gives dispatchers one view of the whole network.
A free guide that walks municipalities through publishing their first datasets, from choosing a file format to writing a README people actually read.
02 · Writing
Notes on design, data and running a one-person studio. Usually written on the tram, edited at the kitchen table.
Showing all 6 posts.
A printed tide table never leaves a cell blank, and that turned out to be the best lesson I have had on designing for missing data.
Featured · read it belowWet neoprene turns a 44-pixel button into a guessing game, so we measured thumbs on deck and rebuilt Tidepool’s controls around them.
One loan application had grown to 140 fields over two decades, and removing any of them meant first finding out why it was there.
Clients kept misreading the same slices, so I switched to sorted bar charts and the follow-up questions changed almost overnight.
Thirty commutes on line 6, one pocket notebook, and what drawing strangers taught me about how people actually wait.
Hourly rates punished me for getting faster, so I started pricing the problem instead, and it changed which projects I say yes to.
Featured post · Design
Last spring I spent three weeks on a research vessel off the Bohuslän coast, watching marine biologists use an early build of Tidepool. I went to learn about offline sync. I came back thinking about empty states.
The first thing I noticed was the tide table taped inside the wheelhouse. Every row was full. Even at slack water, when nothing much is happening, the table says so: a time, a height, a direction. Nobody on board ever looked at a cell and wondered whether the printer had failed.
Our app did the opposite. When a sensor dropped out, when a sample had not been logged yet, or when a reading was genuinely zero, the screen showed the same thing: nothing. Three very different situations, one empty rectangle. The biologists filled the gap with guesses, and the guesses were usually pessimistic. They assumed data was lost when it was only waiting for a signal.
An empty state is not the absence of content. It is content about absence, and it deserves the same care as everything else on the screen.
Back on land, we changed the data model so that every missing value carries a reason. A reading can be measured, pending, unavailable or not applicable, and each one gets its own treatment on screen.
{
"station": "Smögen",
"time": "10:31",
"height_m": null,
"status": "pending",
"reason": "waiting_for_signal"
}
The interface change was small. Pending readings show a dashed outline and the time they were captured. Unavailable readings name the sensor and suggest a fallback. A real zero is printed as 0.00, in the same weight as every other number, because zero is a measurement and should look like one.
I ask for the empty states in the first week of a project, not the last. For each screen I list every way it can be empty, write the sentence a person needs to read in that moment, and only then start drawing. It is slower at the beginning and much faster at the end.
The tide table got there first, of course. It has been answering the question “what is happening right now, even if it is nothing?” for well over a century. Most of my job is learning to be as honest as a sheet of paper taped to a wall.
03 · About
Seven years of designing for researchers, dispatchers, analysts and the people who keep records straight.
I’m Maya Lindqvist, an independent product designer and writer based in Gothenburg. I design software for people whose work depends on data: biologists on boats, dispatchers watching a city’s trams, credit union staff keeping decades of member records intact.
I like problems where small details carry real weight, where a vague label can mean a lost sample or a missed payment. Before going independent I designed maps at Kartverk Studio, then led design on analytics products at Norrsken Analytics.
Today I work with a few clients at a time, usually from first research through to shipped interface, and I prototype in code whenever it helps a decision get made.
04 · Contact
I’m booking projects from January 2027. Tell me a little about the people who use your product and the problem in front of them, and I’ll reply within two working days.