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.

Status on 3 November 2026
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