QuizFight – Realtime Trivia Duels
En realtime quiz-platform med 5 forskellige spilmodes, 160+ kategorier, AI-genererede spørgsmål der aldrig gentager sig, character creator og rank-progression fra Fetus til Mad Scientist. Bygget af Halfdan Harring som både web-app og native iOS-app.
Konteksten
I en tid hvor AI gør det trivielt at google ethvert svar, ville jeg bygge et produkt der fejrede den ene ting AI ikke kan erstatte: din egen hjerne. QuizFight er svaret – en quiz-platform der ikke bare er "endnu en trivia-app", men en hel ranglistebaseret oplevelse med karakterer, daglige udfordringer og turneringer for op til 8 spillere.
Målet var at gøre quiz vanedannende igen. Ikke bare 10 spørgsmål og slut – men progression, karakter, socialt spil og rigtig konkurrence på tværs af 160+ kategorier.
De tekniske udfordringer
1. Realtime-duels uden forsinkelse
To spillere skal se hinandens svar afgivet i realtime. Det betyder lav latency, optimistiske updates og stærk state-synkronisering — bygget på Firebase Realtime Database med et eget reconciliation-lag.
2. AI-genererede spørgsmål der aldrig gentager sig
Spørgsmål genereres dynamisk via OpenAI-modeller med streng kvalitetskontrol: faktatjek-pipeline, sværhedsgrads-scoring og deduplikering mod et voksende korpus. Resultatet er friske spørgsmål til hver runde — uden manuel kuration.
3. 5 forskellige spilmodes i én kodebase
Online Quiz, Streak Run, Quiz Cup, What Year? og What Country? deler samme core-engine, men har vidt forskellige regler. Løst med et strategy-pattern hvor hver mode er sin egen isolerede state-machine.
4. Cross-platform: web og native iOS på samme backend
React-baseret web-app og native iOS-app (App Store: Quiz Fight: Guess What?) deler den samme backend. Login, leaderboards og venneliste fungerer sømløst på tværs af platforme.
Arkitekturen
QuizFight er bygget som et serverless-first system med fokus på lave driftsomkostninger og høj reaktivitet.
Resultatet
- Live i produktion med både web-app og native iOS-app i App Store
- 5 unikke spilmodes — fra hurtige 5-spørgsmåls-runder til turneringer med 8 spillere
- 10 rank-niveauer der giver spillere langsigtet progression
- Character creator med flere lag af tilpasning
- Asynkrone duels: udfordr venner og afgør runden over flere dage
- Daglige challenges der nulstilles for alle spillere samtidig
- 160+ kategorier der dækker alt fra geografi til popkultur
Hvad jeg lærte
Realtime er en feature – ikke et teknisk valg. At se sin modstander svare live føles helt anderledes end at vente på et resultat. Det forvandler en quiz til et spil — og det er det, der får spillerne til at blive hængende.
AI som content engine kræver rammer. Råt LLM-output kan ikke bruges. En pipeline med faktatjek, sværhedsgrads-scoring og deduplikering gør forskellen mellem "okay" spørgsmål og "rigtigt godt indhold".
Native iOS giver tillid og distribution. Tilstedeværelsen i App Store åbnede for en helt anden brugergruppe end web-appen alene. Det var værd at investere i — også som solo-udvikler.
Skal du bygge noget lignende?
Realtime, AI-genereret indhold eller cross-platform (web + iOS)? Det er præcis den slags projekter, jeg elsker at bygge.
Book 20 min. intro