Next.js · server-rendered
Web back office
For: management, administrators, accountants.
Constraint: information density, and no data in the clear on the browser side.
01 — The central idea
Pick an entry — or let the cycle run — and watch where it propagates.
One entry…
…propagates to
Timestamped to the minute; multiple entries and exits are supported natively.
02 — The ecosystem
Each application is designed for its audience and its situation of use — the design constraint is what matters, not the list of screens.
Next.js · server-rendered
For: management, administrators, accountants.
Constraint: information density, and no data in the clear on the browser side.
React Native / Expo · tablet
For: early-years professionals, on the floor.
Constraint: usable one-handed while carrying a child — every screen aims for an action in under three taps. Works offline.
React Native / Expo · iOS + Android
For: families.
Constraint: read first thing and in the evening, push notifications, a reassuring tone.
one subdomain per site
For: the public and prospective parents.
Constraint: entirely configured by the customer, with no intervention from us.
read-only · aggregates
For: us, the publisher.
Constraint: monitoring the platform without ever seeing a piece of personal data.
REST API — NestJS + Fastify
PostgreSQL, Prisma, Redis, and S3-compatible object storage hosted in the EU. Real-time channel over Socket.io.
03 — The modules
A family's enquiry arrives from the nursery website's form straight into a Kanban pipeline: Form received → Contacted → Appointment booked → In discussion → Waiting list → Approved → Enrolled. History of exchanges, dated tasks, conversion rate.
The detail that says it all
Conversion creates the family, the paying legal guardian and the pre-enrolled child in a single transaction — never a half-created record.
04 — Compliance as a feature
Staffing ratios (art. R2324-43 CSP) — one adult per five children who cannot walk, one per eight who can, never fewer than two adults; the baby-to-walker switch happens at 18 months. An hourly banner shows OK, -1 or -2 for each slot, live — not after the fact. And a minimum of 40 % qualified staff: an unpaid intern does not count towards the ratio.
Health data — allergies, care plans, treatments, measurements: every consultation is logged, never exposed to a role without the right, never written into a log file.
Image rights — eight granular, revocable consents. No consent counts as refusal, exactly like a withdrawal or an expiry; the API refuses to tag a child in a photo without active consent.
Data separation — Organisation → Facility → Room. A resource belonging to another organisation returns 404, never 403: we do not disclose that it exists. A parent sees only their own children, including in group photos, filtered child by child.
Security — EU hosting, encryption, Argon2id password hashing, short rotating tokens: a replayed token revokes the whole token family, the signature of a theft.
Right to erasure — immediate soft deletion then purge, recorded in the audit log.
05 — What Galiosys took from it
We did not “make some nursery software”. We read the French public health code, the CNAF scale and the GDPR; watched a practitioner work with a child in her arms; and turned all of it into architectural decisions.
That way of working is what Galiosys sells. PiouPiou is simply its most complete demonstration.
A 30-minute demonstration on your real cases: schedules, staffing ratios, invoicing. The pricing calculator quotes a family's rate during the appointment itself.