Unser Tag
A staff app for a municipal kindergarten in Bavaria, built to replace a laminated wall chart and a WhatsApp group.
The team shaped it with me through mockups. I built it and run its backend on my own server.
- Stage
- In testing with the kindergarten team
- Backend
- Live since 27 September, 13 days after the first commit
- App
- Internal TestFlight, test data only
- Not yet
- City approval, processor agreement, offline mode
In the app
Staff see who works each half-day and who leads circle time. Reporting sick takes two taps and stores no reason. A swap changes the week plan once the director confirms it.
Data and sign-in
Row-level security in PostgreSQL keeps each kindergarten’s data apart. Staff sign in with a one-time invite code, so no passwords are stored.
Trade-offs
Staffing rules: the app warns
When a swap would leave a half-day with fewer than two qualified staff, the director sees a warning and decides. A short-staffed day can still go through.
Sign-in without passwords
Staff get a one-time code, and the phone keeps a key after that. If a phone is lost, the director signs that person out.
Offline reading comes later
The garden has no Wi-Fi, so the app must show the week plan without a connection. It cannot yet.
Built with
- App
- Expo and React Native, for iPhone
- Server
- Fastify, Zod, PostgreSQL, TypeScript
- Decisions
- 81 written decision records, on 2 October 2026