Over SumNinja

Ongeveer 4 min

Ik ben Kim Døfler, woon in Kopenhagen en maak graag dingen. Dat begon met elektronica en robotica. Later leerde ik mezelf programmeren, door aan eigen projecten en opdrachten voor klanten te werken.

SumNinja is een hoofdrekenspel dat ik in mijn vrije tijd bouw. Het verhaal begint bij een spreadsheet die mijn vader voor me maakte voordat ik naar school ging.

De spreadsheet van mijn vader

Voordat ik naar school ging, maakte mijn vader een spreadsheet voor me. In de ene kolom zette hij sommen, in de andere kon ik mijn antwoorden invullen. Een verborgen formule liet zien of mijn antwoord klopte. Meer was het niet, maar ik vond het geweldig dat ik meteen wist of ik het goed had.

Het waren eenvoudige sommen: 1 + 1, 1 + 2, 1 + 3. Ik ontdekte dat als het eerste antwoord twee was, het volgende drie moest zijn. Ik hoefde er steeds maar één bij op te tellen in plaats van elke som apart uit te rekenen.

Steeds eentje erbij
OpgaveMijn antwoordResultaat
1 + 12+1 ↓Goed
1 + 23+1 ↓Goed
1 + 34+1 ↓Goed
1 + 45+1 ↓Goed
Deze tabel laat het eenvoudige patroon zien zoals ik het me herinner. Het is niet de oorspronkelijke spreadsheet die mijn vader maakte.

Ik had het gevoel dat ik het systeem te slim af was en vond mezelf heel knap. Zo begon ik aan school met zin in rekenen.

Waarom ik SumNinja ben gaan bouwen

Jaren later merkte ik dat sommige sommen me meer tijd kostten dan vroeger. De tafel van zes bijvoorbeeld. Ik zocht iets waarmee ik hoofdrekenen kon oefenen en begon daarom SumNinja te bouwen.

Ik experimenteerde toen met ChatGPT en was benieuwd hoeveel code het kon schrijven. Het hielp me een rekenspel op het scherm te krijgen: je typt een antwoord, krijgt een reactie en ziet confetti, met geluidseffecten erbij.

De juiste vragen aanbieden bleek lastiger. Ik liep tegen de grenzen aan van wat ChatGPT destijds kon en begon delen van de code zelf te schrijven, met hulp van codesuggesties in mijn editor.

Ik deelde de vragen in op bewerking en getalbereik. Optellen beschouwde ik als makkelijker dan delen, en vermenigvuldigen met kleine getallen als iets anders dan rekenen met grotere getallen. Het spel hield rekening met de moeilijkheid en de tijd die iemand nodig had om te antwoorden. Daar werd de volgende vraag op aangepast. Ik bleef zoeken naar vragen die uitdagen zonder dat iemand afhaakt.

Hoe SumNinja is veranderd

De eerste spelweergave met 5 + 12, een antwoordveld en een groene tijdbalk.
De eerste vastgelegde versie, september 2024. Een nieuwe schermafbeelding van het spel dat op de oorspronkelijke code draait. Eén vraag, een antwoordveld, een timer en een heel andere ninja. Afbeelding op ware grootte openen.
Een vroege afbeelding om SumNinja te delen, met de oude ninja, 17 + 13 en de instructie om een antwoord te geven om te beginnen.
Twee dagen later: een afbeelding om te delen. Op 24 september 2024 sloeg ik deze afbeelding op om te gebruiken bij het delen van links. De timer, de som en de ninja speelden toen al de hoofdrol.
  1. Oktober 2025

    Meer talen

    SumNinja was eerst alleen in het Engels beschikbaar. Ik voegde meer talen toe om meer mensen te bereiken en het spel prettiger te maken voor wie het al gebruikte.

  2. Juni 2026

    Eigen pagina’s voor lessen en oefeningen

    Ik gaf onderwerpen een eigen URL, koppelde verwante pagina’s aan elkaar en voegde een sitemap toe. Zo konden mensen die naar een bepaalde les of oefenvorm zochten de juiste pagina vinden.

  3. Augustus 2026

    Een plek om rekentrucs te leren

    Ik voegde de eerste les over hoofdrekenen toe. Daarna volgden meer strategieën, met links om ze in het spel te oefenen.

Een speler vroeg of je bij een vermenigvuldiging voor elk getal apart het aantal cijfers kon kiezen, bijvoorbeeld een getal van drie cijfers maal een getal van één cijfer. Ik voegde die afzonderlijke keuzes toe aan de instellingen. Het lijkt een kleine optie, maar zo kun je precies de sommen oefenen waarvoor je naar het spel kwam.

Meestal heb ik alweer een volgend idee dat ik wil uitproberen.

Een rondje hoofdrekenenBekijken wat er nieuw isTerug naar het begin ↑