Kora
An outcomes platform for residential young person care — moving teams from manual paperwork to automatic insight.
Visit Kora ↗Residential care teams for young people generate enormous volumes of data — daily logs, incident reports, medication records, school attendance, family contact — but the recording process is entirely disconnected from any analytical layer. Teams write it all down and none of it talks to anything else. The insights that could change how a young person is supported stay buried in individual log entries.
The result is that practitioners spend a significant part of each shift on recording and reporting rather than on direct care — and yet still lack the visibility to identify patterns early, prepare for inspections confidently, or demonstrate placement stability to funding bodies with evidence. The problem isn't effort. It's that the tools in use require humans to do what software should be doing automatically.
The starting point was direct observation of how residential care teams actually work day to day — not the idealised process from a policy document, but the real sequence of recording tasks from shift handover to incident follow-up. From this we built a data model that treats the young person's profile as the centre of everything, with all recording activity feeding into a single timeline rather than living in isolated forms.
The analytical layer was designed from the outset to run automatically. Practitioners record in the normal flow of their shift, and the platform surfaces pattern detection, correlations, and alerts without any additional reporting effort. The goal was to make insight emerge from work teams are already doing, rather than adding a separate analysis step on top.
The platform covers the full recording and insight lifecycle for a residential care home: daily shift recording, statutory compliance, and the analytical layer that connects them.
Designing for genuinely constrained environments
Residential care homes are not office environments. Staff are physically active, often managing a young person's immediate needs, and using the platform on a shared device between tasks. Every recording flow had to be fast to start, tolerant of interruption, and completable in under a minute for routine entries. The incident recording flow — often filled in immediately after a difficult situation — needed to be structured enough to capture the legally required information while being achievable under stress. Getting this right required direct observation and significant iteration on the input flows.
Automatic pattern detection that earns trust
Surfacing automated correlations in a care context carries real responsibility. If the platform flags a pattern incorrectly, or frames a correlation in a way that leads to a wrong conclusion about a young person, the consequences matter. We had to think carefully about how correlations are presented — the difference between 'there is a pattern here worth looking at' and 'this is the cause' — and design the visualisation and language around that distinction. Alert thresholds are configurable rather than fixed, and dashboards always show underlying data alongside the inferred pattern.
Statutory reporting that matches real forms
LAC reviews, placement stability reports, and funding body documentation have specific formats that vary by local authority. One-click generation only works if the output matches what the recipient expects. Building the templating layer required working through real examples of each report type, mapping which fields correspond to which recorded data, and extending the data model where the standard daily log didn't capture something the report required.
Offline-first with reliable sync
Care homes often have poor or intermittent connectivity, so offline recording is a hard requirement rather than a nice-to-have. The sync layer needed to handle conflict resolution when the same record is updated in two places — particularly relevant for shift handovers where multiple staff might log entries in overlapping windows. Getting this to be invisible and reliable rather than a source of friction required careful design of the sync protocol and thorough testing across connectivity scenarios.
Worth being explicit about what this project deliberately didn't try to do.