The project today
The product is actively used by one school. Its current production generation remains in service while I build a production-bound React Native and TypeScript rewrite.
Rethinking privacy, backup, and sync in Studienbuch
Studienbuch explores how a privacy-sensitive school app can preserve user control while gaining reliable backup, synchronization, and connected features.

The product is actively used by one school. Its current production generation remains in service while I build a production-bound React Native and TypeScript rewrite.
The original privacy model had become effectively local only. That protected data but made backup, synchronization, and richer connected workflows structurally awkward. Retrofitting those capabilities into the existing shape would have meant working around the real limitation, so I redesigned the ownership and synchronization model instead.
I own the product direction and technical architecture across mobile, web, domain logic, APIs, persistence, synchronization, testing, and delivery.
Extract reusable policy, selectors, and formatting into a framework-independent typed domain core instead of coupling product behavior to one UI generation.
Build Groundswell around explicit event and adapter contracts for offline publication, canonical verification, persistence, broadcast, retry, and replay.
Keep the unstable WebUntis integration behind strict schemas, typed services, recovery behavior, and contract/live tests.
The product continues to support one school while the rewrite evolves separately.
The rewrite now has explicit seams between domain logic, platform UI, external systems, persistence, synchronization, and delivery checks.
I initially pushed event sourcing too far. Mostly static reference facts such as when a school was founded did not benefit from events and created avoidable complexity. I now reserve events for behavior where history, ordering, replay, or synchronization earns their cost, and use simpler fetch-and-cache boundaries for reference data.