Inspiration

There is a show on a television station called CP24. The show is called "Ask a lawyer". It mostly centers around labor and employment law. It usually runs for about 30 minutes with 3-5 callers asking employment related questions. I wanted to build a web based tool that can do a similar job. This is where basalaw was born. A tool that will help the Ontario Workforce to better understand their labour/employment rights.

What it does

basalaw is a Legal Support System focused on democratizing access to employment and labour law in Ontario, Canada. It gives all Ontario workers the ability to review their employment contracts before signing. It achieves this by having the ability to scan contract information. The user also has the ability to copy a particular clause in the contract. Fdurthermore, they can also ask about their labor rights using a Q&A chatbot feature.

How we built it

The app was built using Vercel for deployment, fastAPI for the app building and Airia for AI orchestration.

Data

Labour law information was taken from the Ontario Ministry of Labour's website

App Design

The app was built using FastAPI. It is well suited for async style work which is helpful when working with LLMs. It houses the app templates and api information. It was styled using tailwind css.

AI Layer

The design was Input --> Data Source --> AI Model --> Output. I used the airia studio to build it. Input: The input was going to be text based Data Source: Data was taken from the Ministry of Labour and embedded into the AI model. Leveraged airia semantic search and set a high relevance threshold (85%). Kept max results at 10 with neighbourhood chunking at 2. AI Model: For the AI model, I chose Claude Haiku 4.5. I wanted to output to be succinct but focused. Used a mix of scoured multiple Ontario labour law website and the prompt builder to build out my instructions. Kept the temperature at around 0.2 and reasoning effort balanced. Designed a unique output schema in json based on the output I needed. API information and keys were easily generated and stored secretly.

Deployment

The app was deployed on Vercel. It was a smooth process as it works seamlessly with FastAPI. I also able to embed all the airia API credentials easily.

Challenges we ran into

The main challenge was finetuning the AI model so that it gives the best output. Did a mix of research and played around with some of the settings. Looked at some labour lawyers website to get a sense of what the key instructions would be for how the LLM should reason.

What we learned

It was a fun experience adding a new tool to my toolkit for building LLM based systems.

What's next for basalaw

In terms of next steps, the scope of the app will include:

  • Multilingual: Add French language and the ability to toggle between English and French
  • Lawyers: Expand the scope of the lawyers directory to all of Canada
  • Data: Expand the labour laws to include all provinces and territories in Canada

Built With

Share this project:

Updates