A marketplace we planned, designed, built and still run.
Planned, designed, built and runLive since August 2026

Kywi is where somebody in Switzerland finds something to do and books it: paragliding over Lake Lucerne, a tufting workshop in Zürich, indoor skydiving in Winterthur. Everything behind it is ours. We decided what it should be, designed it, built it, and we are the ones it wakes at the weekend.
Kywi is not client work. It is the thing we wanted to exist, so we built it, and it is the clearest picture there is of what this studio does from one end to the other.
What we set out to build
There was no client and no brief, which means the first decisions were ours to get wrong. What is a listing. What is a booking. What is a host allowed to sell, and what happens when two people want the last place at the same moment. Almost everything that followed is a consequence of those answers.
Two constraints were there from the first day. The country has four languages, so anything written once has to be readable in all of them. And the people selling on it run two tours a month, not two hundred, so nothing could require a setup call or a monthly fee before it was worth joining.
The booking engine
This is the part that looks simpler from outside than it is. An activity carries several offers, and each offer carries several ticket types: adults, children, the whole group as one price, equipment on top. Times can be fixed starts, open windows or whole days. A host sets how many places exist and the smallest group that still runs, and the system counts the places down as they sell.
There are three ways to take a booking and a host can run all three at once. Instantly, where the guest picks a slot and pays. On request, where the guest asks and the host answers with a price and a time. Or through the host's own website, where Kywi takes the booking behind a page that does not look like Kywi at all.
The page a guest sees is simple because every one of those decisions was made behind it. That is usually the thing people are buying when they ask us to build something.
Money that moves on its own
A guest pays by card at the moment of booking, and the money lands in the host's own account, less the fee, with no payout to start and nothing to chase.
The interesting half is the failures. A card that is authorised and then declined. A guest who cancels inside the window and a host who cancels outside it. A refund on a booking that was paid in another currency. None of it is visible when it works, and all of it is what a payment system actually is.
Designing the thing people use
Most people arrive on a phone, on the way somewhere, deciding whether a Saturday is worth sixty francs. So the phone layout is not the desktop one folded up: the picture, the price and the button are the first screen, and everything that explains the experience comes after it.
The whole interface is ours. Not only the pages that sell, but the help centre, the documentation for hosts, the gift cards and the message that tells somebody a place went in the last minute. That is the part you see of a product long before you notice how it works.
The mark, and the bird
The name, the mascot, the wordmark and the colours are ours too. The bird sits in the gap the y leaves, which is why the lockup reads as one word with a character in it rather than a logo parked beside a name.
A mascot earns its place by surviving a favicon and a gift card. This one is drawn flat first, so it still reads at sixteen pixels, and the dimension is added on top for the places with room for it.
Found by people and by models
A marketplace is worth what its pages are worth in search, so that was part of the build rather than something added to it afterwards. Every activity, category and place page carries structured data describing what it is, what it costs and where it happens, which is what lets a result show a price and a location instead of a link.
The same pages are published as plain text. Adding .md to any address returns that page as Markdown, so a language model asked about things to do in Zürich reads the page instead of guessing at it. Being legible to a model is the same problem as being legible to a search engine, and far cheaper to solve while a thing is being built than after.
And we run it
Kywi is live and we operate it. The support messages, the payment that half went through, the host who needs a listing changed on a Saturday, the slow query nobody noticed until a category page got popular.
That is the part we would not know if we had handed it over on launch day, and it is the reason the rest of what this studio does is worth buying.
Eight screens out of many
A marketplace is not one page but a few dozen, and somebody had to design, build and keep every one of them running. Tap a picture to see it large.