Case study
Kindora: software for nurseries that protects children's data
A platform for nurseries and kindergartens in Poland, for directors, staff and guardians. The hardest requirement was not a feature: it was making sure a child's photo or data never reaches someone who shouldn't see it.
Working demo

The problem
Nurseries share a lot with parents: attendance, announcements, events and photos. Group chats and general-purpose apps make it easy to share a photo of a child whose parents didn't agree, and hard to take it back.
Key features
- Rooms, children and staff, with staff limited to their own rooms.
- Guardians invited by code and verified per child; they see only their own children.
- Attendance with audited corrections and full history.
- Announcements and events with explicit audiences, RSVP and notification preferences.
- Photo consent, withdrawal and access history, plus data export.
- Themes per nursery: palette, mascot and logo.
Engineering challenge: the photo pipeline
Every upload goes through a pipeline that is covered by dedicated automated tests:
- The original stays in a quarantine area and is deleted after processing.
- Location and other metadata (EXIF, XMP, IPTC) are stripped.
- A self-hosted face detection model finds faces, with no external AI service involved. The decision is all or nobody: faces stay visible only if every tagged child has consent, and the strictest guardian's decision wins. Otherwise faces are blurred irreversibly.
- It fails closed: if the detector is unavailable or the image can't be read, nothing is published.
- Staff must review a photo before guardians can see it, and a change of consent triggers processing again.
- Uploads go straight to private storage through short-lived signed URLs, with the file's real type checked afterwards.
Architecture and technology
An ASP.NET Core (.NET 10) API with PostgreSQL and EF Core migrations and a Google Cloud Run deployment pipeline, with private Cloud Storage for photos, Identity Platform for sign-in and keyless deployment from CI. Tenant isolation comes from the shared platform: another nursery's photos can't be viewed, reviewed or deleted, and a test confirms it. Face detection uses UltraFace on ONNX Runtime.
Related
- AI integration and automation: Assistants, document processing and automation built into your processes, with guardrails.
- SaaS development: From the first version to a multi-tenant product: separated customer data, roles and an audit log.