Case · Dataanalys

Schackcoach: personlig analys av hundratals partier

En webbapp som hämtar en spelares partier från Lichess eller Chess.com, analyserar dem med schackmotorn Stockfish direkt i webbläsaren och gör om resultatet till en spelstil, en träningsplan och pussel av spelarens egna misstag.

Typ
Webbapp, eget projekt
Område
Dataanalys och visualisering
Används på
Dator och mobil
Teknik
JavaScript, Stockfish 17 (WebAssembly)
Schackcoachs sammanfattning: spelarens klass Slutspelaren, poängprocent 69 och träffsäkerhet 92, vinster och förluster, och en lista över det viktigaste att träna på just nu.
Sammanfattningen efter en analys av 100 blixtpartier. Bilderna visar offentliga exempelpartier med anonymiserade namn.

Utmaningen

Statistik som inte säger varför

Schackspelare har ofta hundratals eller tusentals partier sparade, men sajternas statistik säger lite om varför man förlorar. Att analysera ett parti i taget tar tid och visar inte de mönster som återkommer.

Målet var en rapport som pekar ut det som kostar mest poäng, med exempel ur spelarens egna partier, och som gör det roligt att träna på det.

Lösningen

Från användarnamn till träningsplan

Man skriver in sitt användarnamn och trycker Analysera. Partierna hämtas, analyseras och sammanställs till en rapport, utan konto och utan installation.

Motoranalys i webbläsaren

Schackmotorn Stockfish 17 körs som WebAssembly i flera trådar samtidigt. Inget skickas till någon server, och 50 blixtpartier analyseras på ungefär två minuter.

Mönster över alla partier

Vilken sorts misstag spelaren gör, i vilka öppningar och faser, och om de kommer på snabba drag eller i tidsnöd.

Spelstil som rollspel

Sex attribut, åtta klasser och ett talangträd med 18 talanger, räknade ur partierna. Det gör statistiken lätt att förstå och roligt att följa.

Träningsplan

Konkreta steg i den ordning som ger mest, med rätt pusselteman och spelarens egna ställningar som exempel.

Pussel av egna misstag

Träningspussel byggda av spelarens egna partier. Svar som skiljer sig från motorns förstaval kontrolleras med Stockfish.

Partivisare

Stega igenom partiet med pilar för spelat och bästa drag, värderingsstapel och en kurva över vinstchansen.

Så ser det ut

Data som blir till något man vill använda

Karaktärsbladet: klassen Slutspelaren med nivå, beskrivning, passiv förmåga och akilleshäl, samt ett diagram och staplar för sex attribut från Anfall till Slutspel.
Karaktärsbladet sammanfattar spelstilen i sex attribut och en klass.
Talangträd med 18 talanger i sex grenar, varje talang med en ring som visar framsteg och fem nivåprickar.
Talangträdet: varje talang räknas fram ur partierna och har fem nivåer.
Partivisaren: schackbräde med en röd pil för det spelade draget, draglista med markerade misstag och en kurva över vinstchansen genom partiet.
Partivisaren visar exakt var partiet vände, med motorns förslag och vinstchansen drag för drag.
Dina dyraste misstag: fyra schackställningar med pilar, typ av misstag och hur mycket vinstchansen sjönk.
De dyraste misstagen, sorterade efter typ. Ett klick öppnar partiet.
Sammanfattningen på en mobil.
Samma rapport på mobilen.

Tekniken

Under huven

  • Integration med två API:er och PGN-filer: Lichess, Chess.com och egna filer normaliseras till ett gemensamt format.
  • Parallell analys med en pool av motortrådar. Ett parti per tråd, och sökningar som redan är gjorda återanvänds.
  • Reservmotor: om Stockfish 17 inte kan starta i webbläsaren används Stockfish 10 automatiskt.
  • Egen mönsterigenkänning för taktiska motiv som gafflar, ogarderade pjäser och matt på bakre raden.
  • Integritet: allt körs i webbläsaren och resultaten sparas bara där. Ingen server tar emot några partier.

Liknande behov?

Har ni data som borde säga mer?

Vi bygger verktyg som gör stora mängder data begripliga, med analys och visualisering som körs där det passar er bäst.