Coverbingo
Music bingo with a twist: every square on the card is a Dutch cover, but what plays first is the foreign original it was borrowed from. Recognising the melody is only half the puzzle — you still have to connect it to the right Dutch title before you can dab. Playback runs through Spotify Connect, so the music plays on your own speakers, phone, or receiver while the browser is just the remote control.
- Plays the original first — title and artist stay hidden
- One-tap reveal shows and plays the Dutch cover
- Spotify Connect playback on any of your devices
- Host the whole game from your phone's browser
- Printable bingo cards as A4 PDFs (4×4 and 5×5)
- Every card is a unique shuffle with its own card number
- Bingo check: revealed titles A–Z or in play order
- Played songs stay visible for the whole round
- Games and card series are saved automatically
- Built-in Spotify search for suggesting new originals
- Curated song list pairing each original with its cover
- Pure Python standard library — no web framework
How it's built
The server is a single dependency-free Python file: server.py uses only the
standard library to serve a JSON API, the mobile-friendly UI, and the playback controls.
It drives Spotify over the Web API, so nothing streams through the browser — the
phone just tells Spotify which device should play what.
The song database is generated by build_songs.py: it reads a Spotify
playlist of originals, pairs each track with its Dutch cover through a curated mapping,
and looks the covers up on Spotify. cards.py renders the printable A4 bingo
cards with ReportLab — each one a unique random selection on a unique layout, with
the rules printed on the card. The whole thing ships as a docker-compose service behind
Traefik.
A round of Coverbingo
PLAY
The original starts on your Spotify device. The screen shows nothing.
GUESS
Players hunt their card for the Dutch cover it turned into.
REVEAL
One tap shows both songs and switches playback to the cover.
DAB
Matching titles get marked on the printed cards.
CHECK
“Bingo!” is verified against the list of revealed titles.
REPEAT
Next mystery original — the played history stays on screen.