Build story
How we build, test and market PricePinner.
Why I built PricePinner
The story behind PricePinner: why we built a free game about real Swedish home prices, and what we wanted players to learn.
Build storyOne React Native codebase for Android and iOS
How PricePinner uses one React Native codebase for Android and iOS, so that the game works the same on both platforms.
Build storyOur own map tiles with MapLibre
How PricePinner draws its maps with open-source tools, and why we run our own tile server.
Build storyMaking map pins accessible
Map pins are often invisible to screen readers. Here is why that matters and what we learned.
Build storyDesigning a fair score
How we designed the PricePinner score: 50 points for distance, 30 for price accuracy and 20 for hints that you do not open.
Build storyWhy a log curve for distance
A short note on why the distance score falls slowly at first and fast later.
Build storyRemoving business cards from home photos
Home photos often show an estate agent's business card. Learn how our photo pipeline removes them so that the game feels right.
Build storyAutomated tests on an Android emulator
How we test every PricePinner release with automated tests on an Android emulator in Docker before it reaches a phone.
Build storyMarketing a free app with a budget of 0 kr
What a small project can do to be found without paid ads: how we market a free game in Sweden with a budget of 0 kr.
Build storyHow we make our ads in Blender with Python
Every frame of our video ads is made with code. Learn how we build the scenes in Blender with Python and render them in Docker.
Build storyTen vertical ads in one 3D scene
Our vertical ads for TikTok and Reels all live in one continuous 3D world.
Build storyA voice for our ads with open-source text-to-speech
Our voice-overs come from a small open-source model that runs on a normal computer.
Build storyMusic for our ads, composed in Python
The soundtracks of our ads are written as code and rendered with a free soundfont.
Build storyEverything in Docker
From the back end to the video ads, PricePinner runs in Docker containers. Learn why we chose this and what it gives us.
Build storyLessons from launching a free game
What we learned when PricePinner went live: fix the basics first, friends matter, the first minute decides and marketing is a habit.
Guess the price of real Swedish homes
PricePinner is free on Android and iOS. It has no ads.
Get the app
PricePinner