The Spreadsheet That Sent Us to Vienna
I can't code. On sabbatical I built a monster spreadsheet comparing cities to live in, then handed it to Claude. It became a quiz that talked us into a trip to Vienna, and four more apps followed.
I moved to Europe ten years ago, and somewhere along the way I fell in love with daydreaming about where I’ll retire, or just where it would be fun to live. It makes amazing dinner conversation. Ask your friends where they could see themselves and you get an interesting peek at their personalities and what they actually care about.
Last summer I had a long sabbatical. What does one do with time off and a question like that rattling around? Obviously, make a spreadsheet. I did: all the data about all the cities I could think of. Weather, crime, greenery, English proficiency, sunlight, culture. All of it captured and organized in Google Sheets. Then I forgot about it, because it was a mess.
A mess with opinions, though. Helsinki, where I live, scored 36 percent. I built the scoring myself, fed it honest data about my own home, and it looked at all those dark winters and said 36. You can’t get mad at math you wrote yourself.
Then this summer the where-would-you-retire conversation came up again, and I remembered the spreadsheet. I wanted to turn it into a quiz other people could actually try, so I threw it to Claude and got to work. That became CityPicker.
I built a scoring system backed by research, added 100 cities and 24 key factors to rate them on. It has a visual identity, a quiz, and adjustable weights, so anyone can compare what matters to them against the real data. Our dinner conversations finally have some research behind them!
I even added a comparison tool, so two people can take the quiz and see what the best city would be for both of them. Turns out Marinka and I prefer Vienna and Lisbon, and now we’re planning trips to both.
The thing I didn’t predict is how much fun it is with other people. Hand someone the sliders and watch. Five minutes later the board has rearranged itself into a portrait of them: what they fear, what they’d trade away, what they secretly want.
Kori, and then Leffa
Kori started as a complaint about Google Keep. It was slow, it barely did anything, and we couldn’t both be in the list at once, which is the one thing a shared grocery list has to do. So I built us a grocery list. That was the entire ambition. Kori is Finnish for basket.
Then I realized the list wasn’t the real problem. Dinner was. We had a pile of recipes we loved and never once consulted, because remembering the pile exists is its own kind of work. Every week, the same little standoff: what should we eat? No idea.
So the two things became one thing. Now we browse recipes together on the couch, save whatever looks good on Instagram or TikTok into our own book to try, and plan the week’s meals between us, including the genuinely useful part, which is agreeing who’s cooking. One click sends every ingredient from the week’s plan into the shopping list, sorted by aisle in the order you actually walk through our store. And there’s a cook mode built for a phone propped against the wall behind the stove: real measurements, timers, big type you can read with one hand in the pan, and none of the life-story preamble that online recipes are buried under now.



The first time we were both in the list at the same time, in different aisles, watching items tick off in real time, I felt an unreasonable amount of joy. It fixed one of the two or three things that actually, repeatedly caused friction at home. I solved a real problem!
Leffa wasn’t solving anything. Leffa is Finnish for film, and I built it because I wanted to see if I could make a Tinder-style swipe for adding movies to our watch queue. Swipe right, into the queue. Swipe left, gone.
That swipe was by far the hardest thing I’ve built. It looks like the simplest interaction in the world and it absolutely is not. Every part of it that feels effortless is somebody’s deliberate decision, and I paid for that education in evenings.
Worth it, though. We’ve each got a taste profile now, and the app knows us well enough to recommend for the two of us together. The nightly what-should-we-watch negotiation has a referee.


Then the hard one: chores
Generally we’re pretty good about this. But we wanted to be better at appreciating each other, and at checking in. So I started building, and I approached this one completely differently.
I didn’t want an app that stores a to-do list of chores. So before writing any of it, I asked Cursor to go and research the actual problem, and what came back reframed the whole thing.
How fair a split feels predicts how a couple does, far better than how equal it measures. Feeling appreciated independently buffers the damage of an uneven one. And both partners over-estimate their own contribution, in the same direction, which means a shared record isn’t an accusation, it’s a correction to a bias you both have. The heaviest part of housework turned out to be the part nobody sees, which is remembering that a thing needs doing at all.
Then I asked it to interview us. It wrote a bank of about fifty questions for each of us, and we weren’t allowed to read each other’s answers until the analysis was done.
Then we got to building. I wanted this one to feel whimsical and cute and joyous, not an annoying slog reminding us to take out the trash. So: DustBunnies. A pink bunny and a blue bunny run through the chore lists with us. Chores gather dust on screen, and you finish one by wiping the dust off the button.


There’s deliberately no scoreboard. Nothing in it tracks who did more, because the last thing a shared home needs is an app you can use to win an argument.
The third tab is the one that matters most. It’s just appreciation. Silly little flowers and hearts we send each other for cleaning the house. I’m not here to proselytize about relationships, but appreciating your partner goes a long way.
Also, the bunnies change outfits with the weather. It’s sunny today, so they’re wearing sunglasses.
The one I open every day
The one I actually use most is the least romantic of the lot.
I’ve been on a health kick, and my information was scattered across an Oura ring, Apple Health, a Withings scale, and Trainerize, which my PT uses. All good apps, all holding one slice each, and not one of them could show me the whole picture. So Health Hub pulls everything, plus blood panels I enter by hand, into one place.
I didn’t put a coach in it, on purpose. I wanted the data. I can interpret it myself, and about once a week I open Claude and ask properly: analyze my run history, has my weight actually come down or is that just noise, write me a summary I can hand my PT or my doctor. Building an assistant into the app would have made it messier and worse at the one job I needed it to do.
The phone app isn’t even the real win. The real win is that my entire health history now lives in one place I own. Sleep, runs, lifting, heart rate, VO2 max, stress, weight, body composition, blood tests, doctor’s visits. All of it, mine, kept.


Trainerize deleted my training history. I still have every session, because I’d been recording it into my own store the whole time.
That already happened, so I’m not being theoretical. Right now your health history is sitting in ten companies’ databases at their convenience, and any one of them can decide next quarter that your old records aren’t worth the storage. Mine’s on a disk I control, and it’ll still be there in twenty years, when it finally gets interesting.
These apps aren’t beautiful. They’re not production-ready. They’re a little buggy and still a work in progress. But they’re mine. I made them just for me. I can change them, remake them, add screens or tabs, redo the colors and the design, or delete the whole thing and keep the data. I love that AI has democratized digital creativity, and that it’s given me skills I never expected to use.
What it did to the day job
I didn’t build any of this for work. I built it for fun and to solve little problems.
But I understand my tech team better now. I know what I’m actually asking for when I ask for it, and roughly what it costs them. There’s a respect you can only earn by having been the one squinting at the broken version at midnight.
The lesson I quote most: building an app is easy. It takes an hour. Building a good app takes days. 90% done takes a decent brief and one sitting, and the last 10%, the polish and the mechanics and the hundred small layout decisions that decide whether you ever open the thing twice, eats 90% of the time. I knew that as a concept from a decade of shipping things next to game teams. It lands differently at eleven at night, on your fourth attempt at a swipe animation.
I also found out fast what I’m worst at: design, UI, UX. And worse than being bad at it, I couldn’t describe what I wanted. I’d look at a screen, know it was wrong, and have nothing useful to say about why. So instead of getting better at explaining under pressure, I built the reference once. A system that interrogates me about my own taste, drags out what I love and what I can’t stand, and turns the answers into a sheet every new project inherits. I found the words once, deliberately, with time to think, and now every app I build starts from them.
I’ve written before that I was a player before I was anything else, and that’s a story about how I got here. This is the same story, still going. I’ve never known how to build for a market or a persona or a segment. I build the thing I want to exist, for the people who’ll actually use it, and I find out immediately whether it’s any good, because those people are me and Marinka, on a Tuesday night, deciding what to cook and what to watch. There is no faster or more brutal feedback loop on earth than that one.
It’s also why we’re going to Vienna.