A production-ready visitor management system built for a multi-site childcare organisation, replacing paper sign-in books with a digital kiosk that handles safeguarding compliance, photo capture, and audit-ready reporting across four nursery locations.
Project
Project overview
This project is a full-stack, production-ready visitor management system built for Charnwood Nursery & Pre-School Group, a multi-site childcare organisation operating across four locations in Leicestershire. The system replaces traditional paper sign-in books with a modern, touch-optimised digital kiosk that manages visitor check-in, photo capture, safeguarding compliance, and administrative reporting through a single live web application accessible on tablets and touchscreens.
This is not a demo or tutorial build. It solves a real operational and safeguarding problem in a regulated early years environment, where accurate records and compliance are a legal requirement.
Each nursery site runs its own dedicated kiosk via a location-specific URL, allowing tablets to function as always-on check-in terminals. The interface is designed kiosk-first, with large touch targets, clear typography, and simple flows that can be used confidently by visitors and reception staff without training.
Safeguarding is built directly into the check-in journey. Before signing in, visitors must read and acknowledge a mandatory safeguarding screen showing site-specific Designated Safeguarding Officers and the correct fire assembly point for the building they are in. Visitor expectations such as no mobile phones or cameras and remaining supervised are clearly presented and cannot be bypassed. All safeguarding content is mapped to location codes, ensuring the correct information is always displayed per site.
The check-in flow includes live photo capture using the browser camera. Visitors are guided visually to position themselves correctly and can retake their photo if needed. Images are stored directly in the PostgreSQL database as Base64-encoded JPEGs, removing the need for external file storage while ensuring photos remain available throughout the system, including during check-out and in exported reports.
An optional car registration field allows sites to record vehicle details, supporting car park management and emergency procedures. The check-out process is equally streamlined, showing only visitors currently on site at that location, with photo confirmation and automatic timestamping on exit.
A PIN-protected admin dashboard provides staff with real-time visibility of who is on site, historical visit data, and expected visitors. Advanced filtering allows data to be viewed by location, date range, and search terms, while a full activity log displays visitor details, photos, hosts, car registrations, statuses, and timestamps in a clear, audit-friendly format.
For inspections and safeguarding audits, the system generates professional PDF reports with embedded visitor photos. Reports are branded, timestamped, and reflect the currently applied filters, making them suitable for formal review without additional processing.
Data protection is handled carefully throughout. Individual records or filtered visit histories can be securely deleted, with all destructive actions requiring PIN re-entry and explicit confirmation to prevent accidental loss.
From a technical perspective, the system is built with end-to-end type safety. A shared API contract defined using Zod schemas is consumed by both frontend and backend, ensuring data consistency at compile time and eliminating an entire class of integration bugs. The PostgreSQL database is fully relational, with clearly defined entities for locations, hosts, visitors, and visits, and visit states enforced through typed enums.
Server-side query logic is shared between dashboard tables and statistics, guaranteeing that reported metrics always match displayed data. The deployment architecture is designed for production reliability, with instant health check responses, asynchronous initialisation, and automated database seeding that makes the system usable immediately after deployment.
The frontend uses structured server-state management to ensure real-time updates across the dashboard when visitors check in or out. Separate layout systems are used for the kiosk and admin interfaces, ensuring each context is optimised for its users. Motion and visual feedback are used sparingly to provide clarity and reassurance during interactions.
What makes this project stand out is its real-world application. It handles sensitive data responsibly, embeds safeguarding into the core architecture, supports multiple physical sites from a single system, and demonstrates awareness of production concerns beyond development alone. It shows the ability to design, build, and deploy a system that balances user experience, compliance, security, and maintainability in a live childcare environment.