A music timeline guessing game. Listen to songs, guess the release year, and build your timeline! Play locally with friends or create online rooms.
Play Online — 1691 songs (Polish & International)
Game Modes
- Local multiplayer — pass the phone between players
- Online multiplayer — create rooms and invite friends via link
Gameplay
- 1691 songs (639 Polish + 1052 International) spanning 1950-2025
- Song filtering by origin, era, and genres
- Voice voting for bonus points (online multiplayer)
- Track issue reporting — flag wrong YouTube videos
- Configurable turn timer and target score
- Auto-play mode — skip manual play button
Experience
- English & Polish language support
- PWA — install as mobile app from browser
- Mobile-first with fullscreen mode
- Smooth entrance/exit animations
- Animated audio visualizer with gradient glow
- Mystery card animation on song draw
- Haptic feedback on mobile
- Auto-save progress (localStorage)
npm install
npm run devFor online multiplayer development:
npm run dev:all # Starts Vite + PartyKit serversReact 19 | TypeScript | Vite 7 | Tailwind CSS 4 | Zustand | PartyKit
| Command | Description |
|---|---|
npm run dev |
Development server |
npm run dev:party |
PartyKit server (multiplayer) |
npm run dev:all |
Both servers concurrently |
npm run build |
Production build |
npm run lint |
ESLint check |
npm run lint:fix |
ESLint auto-fix |
npm run check |
Full CI check (lint + audit + build) |
npm run deploy:party |
Deploy PartyKit to production |
npm run db:fetch-youtube |
Fetch YouTube IDs for songs |
npm run db:generate-json |
Generate songs.json from CSV |
1691 songs in public/data/songs.json:
- 639 Polish songs (1950-2025)
- 1052 International songs (1950-2025)
{
"id": "1",
"artist": "Artist Name",
"title": "Song Title",
"year": 1984,
"youtubeId": "dQw4w9WgXcQ",
"origin": "PL",
"genres": ["pop", "rock"]
}Origin: PL (Polish) or INT (International)
Genres: pop, rock, hip-hop, disco-polo, folk, jazz, electronic, metal, r&b, alternative
- Create/edit CSV in
database/with columns:Author,Title,Year,YoutubeId,Origin,Genres - Fetch YouTube IDs:
npm run db:fetch-youtube -- --origin=PL database/polish.csv
- Generate JSON:
npm run db:generate-json -- database/polish.csv
Multiple CSV files can be combined:
npm run db:generate-json -- database/polish.csv database/english.csvRequires: yt-dlp for YouTube search.
This is an independent, non-commercial implementation of a chronological music game mechanic. Not affiliated with any board game publisher. Music is played via YouTube in accordance with their Terms of Service.
Board game mechanics are not subject to copyright protection (CJEU C-406/10).
MIT © 2026 Artur Kowalski
