Back

A multi-platform app that runs a nursery day to day and shows parents what their child did

Bambin - app on phone, web and kiosk at nursery entrance

Project goal

To give a nursery one app in place of the notebooks, spreadsheets and group chats it runs on, where staff work all day and parents follow their child their device.

Our scope

UX/UI design

API development

Native app development

Web app development

Project duration

April-July 2026

Technologies used

React Native

Expo

React

TypeScript

Express

PostgreSQL

AWS S3

Docker

Client

Bambin

A nursery generates more paperwork in a day than anyone expects

Our client came to us from Monaco with a problem that anyone who has run a nursery will recognise. A single day produces a steady stream of small facts that all matter: who arrived, who collected them, which child was given medicine and when, what happened in the room, what a parent needs to be told before pickup. Most places keep all of it in paper registers, a spreadsheet or a private messaging group. That is slow, easy to get wrong and almost impossible to reconstruct later. When the subject is child safety, being unable to reconstruct something is not a small problem. We designed and built Bambin to fix it, the interface as well as the API and the apps.

Bambin - child profile with activity timeline and care schedule

Two audiences with completely different days

Bambin has to serve two groups at once without compromising for either. Staff need something fast, because a keyworker filling in records is a keyworker not watching the room, so their side is built for speed and for getting things written down while they are still fresh. Parents need the opposite: not a tool, but a window. They want to know how the day went without cornering someone in the corridor or asking in a group chat. The same app gives each of them their own version of the day.

Bambin - weekly attendance dashboard per room

Built for one nursery and for a network of forty

The structure underneath goes platform, then network, then nursery, then room, then child. That hierarchy is why a single deployment serves an independent nursery as comfortably as a chain running many sites, each with its own rooms, staff and parents, without a separate system per customer. Networks also get their own look: the accent colour and logo load at runtime, so a parent opens the app and sees their nursery's brand.

Bambin - login screen with nursery branding

Permissions are the product, not a setting on it

With children's records, who can see what is not a feature to bolt on at the end. It is the foundation. Bambin distinguishes a platform administrator, a network administrator, a nursery administrator, a keyworker and a parent, each operating within a defined scope: everything, one network, one site, one room or one child. A keyworker sees their room. Safeguarding notes and medical records stay with the people entitled to read them. Just as important, a user cannot promote themselves or move themselves to another nursery, because the fields that decide a role and its scope are enforced on the server no matter what the app sends. In a system holding data about children, that is not paranoia. It is a must have.

Bambin - configuration panel with users and role filters

The kiosk, where the system meets the morning rush

Drop-off is the busiest ten minutes of a nursery's day, so it gets its own mode. A tablet at the entrance runs the app as a kiosk, with its own screens for rooms and children, its own language setting and a PIN protecting it. Children are checked in and out there, quickly, by people carrying a bag in one hand. Nothing about it should require training or thought, which is exactly why it took care to design.

Bambin - entrance kiosk with room selection and child check-in

Attendance that closes itself at the end of the day

Attendance runs as a weekly view per room, showing who is in and who is away, with staff able to correct entries by hand when the morning got away from them. The detail we like is the automatic checkout: at the end of the day any child still marked present is checked out on a schedule, so nobody's record hangs open overnight because a tablet was walked past. Registers only work if they are true. The way registers stop being true is small omissions nobody notices.

Bambin - attendance dashboard with absence editing

A child's profile that holds the whole picture

Each child has a profile deep enough to be the single place staff look. It holds the basics, the family and who is allowed to collect them, care hours, documents, developmental observations and keyworker notes, along with a safeguarding section covering incident reports and a log of every medication given. All of it lives in one record rather than across four notebooks, which matters most on the day someone has to answer a question about what happened three weeks ago.

A feed that answers the question every parent has

For parents, the app is mostly the news feed. Staff post updates with photos and video from the room, then parents get them as in-app notifications and push. It sounds simple next to safeguarding logs and role scopes. It is also the part parents open several times a day, the reason they keep the app rather than deleting it after a week.

Bambin - newsfeed with room updates for parents

Setup that does not take a week

The admin side is built for whoever has to get a nursery running on the system. There is a live view of the day, configuration for rooms, children and users, plus bulk import from CSV or Excel, which is what turns onboarding a site with two hundred children from a week of typing into an afternoon. Branding for the network is set here too.

A single codebase, three platforms, no compromises anyone can see

Bambin is a single codebase running on iOS, Android and the web, built with React Native and Expo. Keeping it genuinely consistent across all three is design work as much as engineering, so the app is built on a design system carried over faithfully from the Figma designs, with shared components rather than three separate implementations. The API is a TypeScript service on Express with PostgreSQL behind it, organised module by module. Translations are served from the backend, which means another language is a data change rather than a release. It launched in French, Italian, Russian and English. Quality is held by an automated test suite covering around 90% of the code, because the alternative in a system like this is finding out from a parent.

Outcome

We built Bambin in four months. Work started in April 2026 and the first version went out on the web and on Google Play that July. It gives a nursery one system where the paperwork used to be scattered, gives parents a real view of their child's day and keeps every record with the people entitled to see it. Because the multi-level structure was there from the start, adding the next nursery or the next network is a matter of configuration rather than another build.

Let's talk about your project idea!

Tell us about your project. We’ll help you plan the architecture, scope, and execution.

Get in touch

© Webalize 2026