GoDraughts
Een volledig platform voor internationaal dammen (10×10): Flutter-app, .NET-backend, realtime multiplayer en een zelfgebouwde AI-engine — ontworpen, gebouwd en in productie gehouden door één persoon.

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.



Vergelijkbaar vraagstuk?
Vrijblijvend kennismaken over end-to-end productontwikkeling.