As a Full Stack Engineer at the Justice AI Unit, you will build and maintain AI-powered products that transform how courts, prisons, and probation services operate. You'll work on scaled products like Justice Transcribe- a production application that uses speech-to-text and LLM technology to automatically generate case notes for frontline justice staff. This is a hands-on engineering role where you'll own features end to end: from database schema to API design to polished user interfaces. You'll work directly with users to understand their needs, ship iteratively and see your code make a real difference in one of the most complex and vital systems in the country. Join us to transform justice through practical, responsible AI.
Build and maintain full-stack features across our Next.js frontend and FastAPI backend, ensuring seamless user experiences for frontline justice staff
Develop and integrate AI capabilities including LLM workflows, speech-to-text processing, and intelligent document generation
Own end-to-end delivery: from designing database schemas and API contracts to building accessible, responsive UIs
Work with production infrastructure on Azure, including App Services, Blob Storage, PostgreSQL, and container deployments managed via Terraform
Collaborate directly with users in courts, prisons, and probation to understand their operational challenges and co-build solutions
Ship reliable, well-tested code with comprehensive unit and integration tests, observability, and error monitoring
Contribute to technical decisions around architecture, tooling, and AI model selection
Strong experience building production web applications with modern JavaScript/TypeScript frameworks (React, Next.js) and Python backends (FastAPI, Django, or Flask)
Database experience with PostgreSQL or similar, including schema design and migrations
Experience integrating with APIs and external services, including authentication flows (OAuth/Azure AD)
Comfortable working across the full stack- you can debug a CSS layout issue in the morning and optimise a database query in the afternoon
Experience with version control and CI/CD workflows
Strong communication skills and ability to work with non-technical stakeholders to understand requirements and explain technical trade-offs
Ability to ship code quickly and iteratively
Experience building LLM-powered features: prompt engineering, structured outputs, multi-provider routing, or RAG pipelines
Familiarity with LLM observability and evaluation tools like Langfuse, LangSmith, or similar
Cloud and infrastructure experience: Terraform, Azure (App Service, Blob Storage, Container Registry), or equivalent AWS/GCP services
Experience with speech-to-text or audio processing pipelines
Entrepreneurial or startup experience- comfortable with ambiguity, fast iteration, and wearing multiple hats
Up to date on the latest developments in AI and excited to apply them pragmatically
The opportunity to work on AI products with real-world impact across the justice system
A collaborative, high-agency environment where engineers have direct input into product direction
Direct access to users- you'll regularly meet with courts, prisons, and probation staff to understand their needs
Work at the cutting edge of applied AI in government
A team that values shipping iteratively, learning from users, and continuous improvement
The Justice AI Unit is part of the Ministry of Justice, building AI tools that make a difference for frontline staff and the people they serve.
Agreed Expectations
The successful candidate will be expected to work from London as the home base of the Justice AI Unit. Candidates not currently based in London will be required to either relocate or undertake regular travel to London, with attendance expected at least once per week, in line with business needs.
How to apply
The selection process for this vacancy will utilise Civil Service Success Profiles and will assess your Experience, Technical skills and Behaviours.
Application
Applicants should provide a CV which demonstrates evidence of the essential criteria for this role.
Following sift, candidates who meet the required standard will be invited to take part in a two-stage assessment process:
Stage 1: Technical Assessment (Online)
Candidates will be asked to complete a technical assessment designed to evaluate their role-specific skills focussing on a realistic engineering scenario, allowing candidates to demonstrate their problem-solving approach and technical judgement. This will be followed by a 30-minute discussion, where we will explore your technical approach.
Only candidates who meet the required standard at this stage will progress to the Behavioural Interview.
Stage 2: Behavioural Interview (Face-to-Face)
Successful candidates from Stage 1 will be invited to attend a full interview. The following Civil Service behaviours will be assessed:
Changing & Improving
Managing a Quality Service
Delivering at Pace
Working Together
Further details will be provided to candidates invited to each stage.