Building justice sector software
Understand the principles of designing justice sector software for different court and tribunal settings.
Software built for the justice system is used in a wide range of settings — from a judge on the bench, to a caseworker processing an application, to a member of the public representing themselves in a tribunal. Good design has to work for all of them.
Design for a range of users and settings
Consider who will actually use the service: legal professionals under time pressure in a hearing, administrative staff processing high volumes of cases, and members of the public who may be using a justice service for the first time and under significant personal stress.
Design for low connectivity and older hardware
Many courts and tribunals operate with variable connectivity and a mix of older devices. Software should degrade gracefully rather than fail outright when connectivity is poor.
Support offline and asynchronous processes
Not every justice process happens in real time. Design for hearings, decisions and case updates that may be recorded and synchronised later, rather than assuming constant live connectivity.
Handle sensitive data appropriately
Case data often includes personal, and sometimes highly sensitive, information about members of the public. Follow the data governance standards and apply the minimum data classification necessary for your use case.
Build for accessibility
Justice services must be usable by people with a wide range of needs, including people with disabilities, low digital literacy, or limited English proficiency. Meet WCAG accessibility standards as a baseline, not an afterthought.
Reuse HMCTS APIs rather than duplicating data
Before building a new data store, check the API catalogue for an existing HMCTS API that already holds the data you need.