Inspiration
Our research into Canada’s legal aid challenges revealed a significant number of Canadians unable to access reliable legal support due to financial barriers, case merit, and other factors. With Law Reach, we aim to address this gap by creating an efficient platform that makes connecting with legal professionals more accessible and affordable, ultimately working to reduce the number of people without essential legal assistance.
What it does
The program enables users to create accounts as either lawyers or clients. Clients can submit requests detailing their legal needs, which are directed to lawyers with the relevant expertise. Lawyers can then review these requests and select cases aligned with their specialty, ensuring that clients connect with the most suitable professionals. Additionally, clients can categorize their cases to allow only qualified lawyers in those fields to view and respond, refining the matching process and enhancing connection relevance. By streamlining this approach, our project effectively broadens access to legal assistance, promoting inclusivity and reach for those in need.
How we built it
For the frontend, HTML, CSS, and JavaScript were used to structure, style, and bring interactivity to the application, ensuring that the interface is both visually appealing and user-friendly. HTML lays out the fundamental structure and content of the pages, CSS provides styling and layout control, and JavaScript adds interactivity, enhancing the user experience through dynamic form validations, content updates, and responsive elements.
On the backend, LawReach leverages Flask, a lightweight and flexible web framework in Python, to manage the server-side logic and communication with the frontend. Flask plays a central role in routing, handling user authentication, managing requests, and facilitating seamless integration between the frontend and backend. By organizing and processing the flow of data between the server and client, Flask ensures that users experience smooth navigation and reliable functionality.
For data storage and management, LawReach uses SQLAlchemy, a powerful Object-Relational Mapping (ORM) library. SQLAlchemy connects the application to its database, translating Python objects into database-friendly structures. This allows LawReach to efficiently store, query, and update information about users, cases, and applications without writing complex SQL queries directly. SQLAlchemy also makes it easy to manage complex relationships within the data, such as the association between clients, lawyers, and cases, which is essential for the platform's functionality.
Challenges we ran into
During our project’s development, we encountered numerous challenges, with the primary hurdle being our team’s limited front-end experience. Only one member was proficient in Flask, CSS, and HTML, while the others were familiar solely with HTML and CSS. To tackle this, we aimed to leverage everyone’s strengths to ensure effective contributions without over-relying on a single individual.
Our solution involved three key steps: first, we clarified our project scope by identifying our goals, defining each person’s potential contributions, and recognizing individual strengths. Second, we assigned tasks based on each member’s abilities to maximize productivity. Finally, we established a realistic timeline to complete the project within our time constraints. By following this structured approach, we developed a functional program that represents the foundation of our vision for the project.
Accomplishments that we're proud of
Our team is incredibly proud of several accomplishments through this project. First, we took an initial idea and turned it into a fully functional program that could serve individuals who otherwise lack access to essential legal resources. We also strengthened our team dynamics, building strong relationships and developing a collaborative plan to enhance our performance in future hackathons. Additionally, team members unfamiliar with certain frameworks and technologies stepped up to learn and apply new skills, which not only advanced our project but also enriched our technical expertise for future endeavors.
What we learned
Through this project, we learned the challenges of managing a team and effectively allocating tasks to make the most of each member's unique skills. We also gained experience in creating a database that connects various data sources across multiple pages. Beyond the technical skills, we learned what it takes to develop an impactful idea that leverages technology to promote justice and inclusivity for individuals who might otherwise lack access to essential legal resources.
What's next for Law
In future iterations of Law Reach, we aim to enhance the application’s overall performance and security, ensuring that users’ information remains safe and confidential. We plan to optimize the matching process by integrating a chatbot connected to the database, enabling instant identification of the most suitable lawyer for each client. Additionally, we’re focused on expanding access, connecting users to a broader network of legal professionals across Canada and eventually worldwide, to improve accessibility and impact.
Teamname: NewHackers's Team ID: 4M65
Built With
- css
- flask
- html5
- javascript
- jinja
- python
- sqlalchemy
- whattheforms
Log in or sign up for Devpost to join the conversation.