Build story

How we build, test and market PricePinner.

Build story

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.

1 min read
Build story

One 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.

1 min read
Build story

Our own map tiles with MapLibre

How PricePinner draws its maps with open-source tools, and why we run our own tile server.

1 min read
Build story

Making map pins accessible

Map pins are often invisible to screen readers. Here is why that matters and what we learned.

1 min read
Build story

Designing 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.

1 min read
Build story

Why a log curve for distance

A short note on why the distance score falls slowly at first and fast later.

1 min read
Build story

Removing 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.

1 min read
Build story

Automated 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.

1 min read
Build story

Marketing 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.

1 min read
Build story

How 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.

1 min read
Build story

Ten vertical ads in one 3D scene

Our vertical ads for TikTok and Reels all live in one continuous 3D world.

1 min read
Build story

A 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.

1 min read
Build story

Music for our ads, composed in Python

The soundtracks of our ads are written as code and rendered with a free soundfont.

1 min read
Build story

Everything 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.

1 min read
Build story

Lessons 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.

1 min read

Guess the price of real Swedish homes

PricePinner is free on Android and iOS. It has no ads.

Get the app