Legal Aid Tool

Project phases

Published: June 25, 2025

Last Updated: 2 days ago.

View All Projects

Law professors at the UBC Peter A. Allard School of Law collaborated with UBC Cloud Innovation Center (CIC) to build an AI-powered legal support tool.  The prototype supports students or legal professionals to formulate legal advice by taking user-entered information about a case, and acting as a search assistant and providing LLM-generated prompts. The tool purposefully provides contextual support without  ‘giving the answer’ to help legal professionals deliver legal advice more efficiently. 

According to the 2021 Canadian Legal Problems Survey, just under one in five (18%) people in Canada experience at least one serious legal problem every three years. A very high percentage of people with legal problems are unable to afford to hire a lawyer, forcing them to leave the issue unresolved, or attempt to navigate the complex legal system alone. 

The Peter A. Allard School of Law at the University of British Columbia (Allard Law) has a number of clinics which provide free legal advice and representation to members of the public who cannot afford to pay a lawyer. These programs assist in providing access to justice and teach students important legal and practical skills. To support student work in these legal clinics and to advance the potential for tools to assist self-represented individuals in court, Allard Law partnered with CIC to develop the Legal Aid Assistant.

Approach

The UBC CIC built a web application on AWS Cloud Infrastructure that uses generative AI to support decision making for legal professionals. Leveraging a large language model (LLM), the tool generates preliminary case summaries from anonymized client details, giving students a structured starting point to ask follow up questions or explore potential next steps.

The tool facilitates an interactive process that deepens students’ understanding of legal concepts and helps prepare them to provide more relevant legal guidance. Supervising lawyers can monitor each students’ progress and case interactions, then deliver targeted feedback. Designed with scalability in mind, the prototype also enables legal professionals outside academia to adapt it for broader contexts. By enhancing student learning in legal aid clinics, the Legal Aid Tool can improve preparedness for real world practice and, if expanded, advance efforts to increase access to legal services.

Click here to go directly to the project GitHub repository.

Screenshots of UI

This section shows the user interfaces for legal professionals (e.g. students), supervising lawyers and the administrators of the system.

Student/user view

At the start of an initial interaction with a client, the student or legal professional will want to start a new case.

The Legal Aid Tool form to start a new case with options for legal area, jurisdiction, statute, and case summary.
After logging into the tool, students can initiate a new case by entering key details like area of law, jurisdiction, statute, and a legal summary.
Case overview page showing case details and send for review options.
Students can enter additional details, review and submit cases for instructor feedback. Students can also use tools to get interview assistance, generate case summaries, and look at case transcriptions via the left-hand menu.
Interview Assistant screen with follow-up questions, generate summary button, and a legal notepad on the side.
At any point during their interaction with the LLM, students can also take notes using the built-in legal notepad.
Legal Aid Tool homepage, highlighting recent cases. Colour coding shows the status of each case: yellow for review feedback, green for in progress, and blue for sent to review.
When any user logs in, cases are organized by status and recency.  Colour coding is used to highlight in-progress files, instructor feedback, and submissions under review.

Instructor View

Instructors wanting to review students’ work can log in to view cases submitted for review.

Instructor dashboard showing analytics and submitted cases for review.
In addition to viewing cases in-progress, Instructors can track how many cases have been reviewed and how many students are assigned.
Instructor view Feedback page where instructors can enter new comments and view previous feedback on a student's case.
When viewing cases submitted for review, instructors can also access the student’s LLM interaction, notes, summaries, and transcriptions, and provide feedback using the Feedback page.
Instructor view pop-up window listing students assigned to a specific case.
The above view shows the list of students assigned to the instructor who is logged in.
Instructor view dashboard showing all cases with filters for case status and assigned students.
Instructors use filters to look at cases by status or by assigned students. Colour coding highlights new feedback and the cases that are sent for review.

Admin View

A view was also created to allow for administrator control of the system such as the Waiver terminology, the maximum number of allowable messages to the LLM, or prompts.  

Admin dashboard showing the current waiver text with an option to edit and a section for accessing previous waiver versions.
The above screen shot shows how Admins can view the current edit waiver and restore previous versions as needed.
Admin interface displaying options to set a daily AI message limit and edit the current system prompt, with a history of previous prompt versions.
Above, if the instructors or administrators want to limit the number of messages sent back and forth to the LLM, Admins can set a daily message limit for student interactions, In the above screen shot, Admins can edit the current system prompt, and restore previous versions as needed.
Admin panel listing instructors with fields for first name, last name, and email, and a button to add new instructors.
Admins are also able to add and manage Instructors who can use the system.

Supporting artifacts

Click below to see technical details of the solution, including the detailed Architecture. Or click here to go directly to the project GitHub repository.

Architecture Diagram

Architecture Diagram

Technical Details

The solution uses a serverless architecture as the foundation for the scalable, maintainable and secure platform. The tool consists of an intuitive user interface hosted on AWS Amplify and a secure backend integration that uses Amazon API Gateway. Amazon Cognito is used for user authentication, with encrypted user profiles enabling personalized access to case files, as well as authenticated least-privilege access to the backend as a security measure.

Amazon Bedrock is leveraged to invoke a large language model (LLM), which processes the given details to generate an initial case summary, and a descriptive title for the case. The user can then continue to converse with the LLM and/or provide additional legal context, having the conversation history stored in DynamoDB in a process streamlined through LangChain. If desired, students can also have the LLM generate a summary of the case with a quick press of a button.

Transcriptions are done by securely storing uploaded audio files in Amazon S3—using pre-signed URLs to ensure safe file transfers—which are then processed by Amazon Transcribe in order to extract text from the audio, and redact any sensitive information such as names.

When students submit cases for review, their assigned instructor(s) review their casework and provide written feedback. Feedback is stored using Amazon RDS (PostgreSQL)  alongside timestamps and read receipts, enabling tracked communication history. RDS is also utilized to store case details, summaries, notes, transcriptions, and more, all available to instructors to view and provide feedback on. This feedback process enables instructors to help students revise submissions, clarify misunderstandings, and strengthen legal reasoning through ongoing guidance, fostering a structured, iterative learning environment.

For more details check out our solution on Github.

Acknowledgements

This project was created in collaboration with Professors Jon Festinger and Nikos Harris of the Peter A. Allard School of Law at the University of British Columbia.

Image by KATRIN BOLOVTSOVA.

Student Team: Development by Prajna Nayak, Zayan Sheikh and Kanish Khanna. Project assistance by Harleen Chahal.

About the University of British Columbia Cloud Innovation Centre (UBC CIC)

The UBC CIC is a public-private collaboration between UBC and Amazon Web Services (AWS). A CIC identifies digital transformation challenges, the problems or opportunities that matter to the community, and provides subject matter expertise and CIC leadership.

Using Amazon’s innovation methodology, dedicated UBC and AWS CIC staff work with students, staff and faculty, as well as community, government or not-for-profit organizations to define challenges, to engage with subject matter experts, to identify a solution, and to build a Proof of Concept (PoC). Through co-op and work-integrated learning, students also have an opportunity to learn new skills which they will later be able to apply in the workforce.