Answers given offline
A tablet loses its connection halfway through an exercise. If the answer is lost, the student has to start over; if it arrives twice, the tutor’s report is wrong.
I made every answer go into a queue on the device first. When the network comes back, the queue empties itself, retrying at longer and longer intervals. The server always recalculates whether the answer is correct and discards the ones it has already received. It works on iPad too, where background sync doesn’t exist.
Several students on one tablet
The same tablet is used by several students. Each one has a separate queue, content is wiped on sign-out and, if the identity doesn’t match, the app goes back to the login screen. Offline sign-in is protected too.
A hand-written service worker
I wrote the part that handles offline mode by hand, in plain JavaScript, so it works together with Livewire. When there is a connection, it never serves stale pages.
Children’s data
Student files were moved from a public disk to a private one and are served only to people allowed to see them. Security patches were applied right away.
Real accessibility
OpenDyslexic, one of the fonts students can pick, is 60% wider than regular fonts. I made every layout flexible, so nothing breaks when a student switches it on.
What AI really costs
I mapped out what can be done for free in the browser, such as read-aloud, dictation and text recognition in images, and what is billed per use instead. Along with a proposal to release it in two phases.