Terug naar portfolio Back to portfolio
ReactViteFirebaseContext APIReact Router

PowerUp

Een beloningssysteem voor gewoontes, gebouwd voor mijn zoon. Met gescheiden kind- en ouderinterface, visuele voortgang en reflectiemomenten. A habit reward system built for my son. With separate child and parent interfaces, visual progress and reflection moments.

PowerUp beloningssysteem

Over dit project About this project

Het laatste project is ook het meest doordachte. Mijn zoon had een beloningssysteem nodig — niet een sticker op de koelkast, maar iets dat op zijn telefoon stond, bijhield welke gewoontes hij goed deed, hem feedback gaf op zijn groei, en ons samen een moment gaf aan het einde van de week om te reflecteren.

Voor dit project begon ik bij ChatGPT — voor het conceptuele en pedagogische denken. Welke gewoontes zijn zinvol om te belonen? Wat is de juiste beloningsfrequentie? Hoe voorkom je dat een beloningssysteem averechts werkt? Pas toen het concept stond stapte ik over naar Claude voor de bouw.

De routing is volledig uitgesplitst: het kind heeft eigen pagina's (vandaag, groei, samen-momenten), de ouder heeft eigen beheerpagina's voor gewoontes en beloningen. State wordt centraal beheerd via een Context, navigatie loopt via React Router.

The last project is also the most carefully considered. My son needed a reward system — not a sticker on the fridge, but something on his phone that tracked which habits he was doing well, gave him feedback on his growth, and gave us a shared moment at the end of the week to reflect.

For this project I started with ChatGPT — for the conceptual and pedagogical thinking. Which habits are worth rewarding? What is the right reward frequency? How do you prevent a reward system from backfiring? Only when the concept was set did I switch to Claude for the build.

The routing is fully split: the child has their own pages (today, growth, shared moments), the parent has their own management pages for habits and rewards. State is centrally managed via a Context, navigation runs via React Router.

Wat goed werkte What worked well

De scheiding tussen kind- en ouderinterface is zowel technisch als pedagogisch de juiste keuze. En dit was het eerste project waarbij de inhoud uitgebreid was doordacht vóór de bouw begon — niet "wat wil ik bouwen" als eerste vraag, maar "wat wil ik bereiken".

The separation between child and parent interface is both technically and pedagogically the right choice. And this was the first project where the content was extensively thought through before the build began — not "what do I want to build" as the first question, but "what do I want to achieve".