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
- fastapi
- gemini
- vercel
Log in or sign up for Devpost to join the conversation.