GoDraughts

Context

GoDraughts is een productieplatform voor internationaal dammen: officiële FMJD-regels, AI-tegenstanders op vier niveaus, online multiplayer, ratings, clubs, puzzels en een leertraject — in één app, live op iOS, Android en web.

Beperking

Één persoon, verantwoordelijk voor product, architectuur, backend, mobiele app, infrastructuur en productie-operaties. Dat dwingt keuzes af: geen technologie die extra operationele last met zich meebrengt zonder duidelijke meerwaarde.

Besluiten

  • Gedeelde spelengine in pure Dart (zonder runtime-dependencies), zodat client en analysetools dezelfde regelimplementatie gebruiken — geen drift tussen client en server.
  • .NET 10 Minimal API met clean architecture: een dependency-vrije domeinlaag, EF Core 10 op PostgreSQL 17, SignalR voor realtime multiplayer en spectating.
  • Zelfgebouwde Expert AI: alpha-bèta zoeken met iterative deepening, Principal Variation Search, late move reductions, null-move pruning, quiescence search en Lazy SMP (parallel zoeken), boven een Zobrist-hashed transpositietabel, met een openingsboek en eigen eindspelbibliotheken (3- en 4-stuks bitbases).
  • Glicko-2 rating-systeem voor zowel client als server, met leaderboards en clubs.
  • Offline coach met spaced-repetition: elke partij (ook offline tegen de AI) wordt geanalyseerd en fouten komen terug in herhaling met vijf meesterschapsniveaus.

Wat het kost om te draaien

Zelf-gehost op een VPS via CapRover, met PostgreSQL, geautomatiseerde CI/CD, en bewaking van kwaliteit via ruim 4.800 geautomatiseerde tests over domein, applicatie en API. Sterkte van de AI wordt bewaakt met geautomatiseerde regressietests op tactische en eindspelposities — geen garantie van perfect spel, wel een meetbare ondergrens.

Wat ik zou aanpassen

De admin-tooling (React) groeide organisch mee met de productfunctionaliteit; met de kennis van nu zou die eerder als een apart, contractgestuurd domein zijn opgezet in plaats van reactief op de API te bouwen.

In cijfers
  • 10talen
  • 6.626puzzels
  • 4.800+geautomatiseerde tests
  • 88databasemigraties
  • 647commits
Stack
  • Flutter
  • Riverpod
  • .NET 10
  • EF Core 10
  • PostgreSQL 17
  • SignalR
  • React 19 (admin)
GoDraughts — startschermGoDraughts — spelopstellingGoDraughts — leren

Vergelijkbaar vraagstuk?

Vrijblijvend kennismaken over end-to-end productontwikkeling.

Plan een kennismaking