Hi Charles --
Thank you for including me in this fascinating discussion of NetDispenser.
I work in an after school program wherein we use MIT Scratch and Codesters, among other etoyz, as platforms wherein, with practice, mature coding skills get cultivated.
Codesters depends on Skulpt, an in-browser Python-to-Javascript solution.
Kids get to play with colorful backgrounds, sprites, events (e.g. collision events), in a simple physics engine (gravity and bouncy walls optional), using a medium level (incompletely implemented, nevertheless capable) version of Python. You can drag "Sprite Collision" from the Events palette only to see it turn into a lexical template in Python code (coupled event listener and callback function).
Hit green button top middle to start the game. Should work minus any need for logging in.
However, students experience burnout if the onslaught of technical information and lack of progress triggers a frustration threshold. They've banged their heads on source code for awhile and now want to play
surviv.io, especially with friends in the room as they can sit side by side while immersed in the same "sea of green" (Beatles reference) on screen.
They might come back to the challenge more readily were we to give them some R&R, which is where Netdispenser might prove useful. However in this model, parents might object to too much relaxing. We have the pressure of Parent Day, when each student exhibits their personal accomplishments, to incentivize Learning to Code.
I can easily imagine a future school program wherein idle game play is certainly allowed (like recess, absolutely necessary to any rigorous curriculum), but only by spending credits earned doing the core activities (e.g. Scratch and Codesters), and hardware could have something to do with that, and so could the teacher, who recognizes serious effort with credit based on merit, or simply "trying hard". If I see junior has banged her head against source code quite a lot, and she's exhausted, I can let her play
narwhale.io (a community favorite).
Of course your current model does not have to wait for someone to work out these more generic solutions, involving platforms with no internal awareness of Netdispenser (no API) -- more like the Wild Internet on balance (i.e. there's no "bird feeder" per se).
Instead, you've already developed a prototype study environment, paving the way for future developers and giving parents (and their kids) a way to vote with their feet, regarding how to micro-manage their own subscription fees i.e. skewing it towards rewarding "games" (learning experiences) of the type they like the most.
Concentrating a lot of your logic in the router suggests a future plug and play solution (something shrink-wrapped at Best Buy), perhaps with "R-Pi inside" but perhaps other dedicated hardware. That's down the road. For now, you have an SD card with a ready-for-testing image.
I imagine some developers might try to copy your idea as a browser plug-in, i.e. parent installs ChromeDispenser in Chrome and junior finds a meter appearing in the menu bar which drifts towards zero unless "plugged in" to specific credit-giving websites. Name all the capitals of all the states in 5 minutes, and get a whole hour to practice typing with Nitro Type Race (big in some schools).
A Chromebook might at least make it difficult to circumvent the browser. When the kid is old enough to hack a way around the browser, it's time for the NetDispenser solution perhaps.
"Do what you've gotta to do what you wanna" (hold a job to get time off to fish) is a time-honored model we all understand.
There's also the working out at a gym paradigm: rest muscle groups between sets for maximum gain.
Excessive "forcing" is a mistake many parents make. They push junior to study past a point of marginal return whereas a luckier kid is pushed to study less, develops less antipathy for study, and learns more. Here in Portland, we send teachers to Finland to gain insight into how to produce geniuses. Maybe Linus Torvalds has been an influence (he lives here, as you know).
Kirby