Human Rights First(HRF) is a non-profit organization founded in 1978 to defend human rights. It’ s an organization working to protect minorities and refugees fleeing persecution and victims of crimes against humanity and victims of discrimination. This is a build-on project that our team inherited from the previous Labs teams. Where they had worked on collecting data of asylum cases for users to explore and predict how a judge made the decision of an asylum case based on different elements. The website allows users to upload a case, explore the saved case and saved judges. On top of these existing features, our team planned to enhance the application so users can upload a case with PDF files and the data will be populated in the form on the website for users to edit and then upload to the database backed by the DS team members. There are potentially two types of users, administrators and refugee representatives. RR are authorized to review and edit cases before submitting them, whereas administrators are to approve or reject any case after reviewing them. Since this is a build-on project that we are working on. The concerns we had was to know what have been built already from the previous team, study the codebase the and the functionality of the application, and what features we build to make the application a better application for the asylum seekers who use this website as a tool to succeed on their asylum claims.

The organization

HRF Home page

Take you where you desire to go

Our team consists of web developers (both back end and front end) and data scientists. As a team, we worked together to tackle a few user stories such as “ as a user, I can upload case data in PDF or CSV format and there user will be able to view the uploaded PDF file, “ as a user, I can search uploaded cases by various fields , “ as a user, I can view the case overview page” and more. One of my tasks was to be working on the main Dashboard adding a useful piece of information about the cases to asylum seekers, who use this site to help them be successful on asylum claims.and polish the table so the header name of the fields are readable to users.getting the new fields to be added to the table we front end people has to wait on DS people to add or created these new fields to the scraper and the back end people has to add them the endpoints ( we can fetch the data from.

The Journey doesn’t end where it is now

With our team’s contribution to the product, the current state of the product is the Data Science team has added several new fields in the scraper such as ‘determined_applicant_credibility’, ‘applicant_access_to_interpreter’, ‘is_applicant_indigenous’, ‘applicant_language’, ‘one_year-guideline’. they have set up a database for the web team to use. The back end people have created a new endpoint for unapproved cases, created a route for the front end to view all approved cases. And also updated the table in the database with a few new fields column to the table. Due to front end people’s contribution to the product, once a user is signed in, they see a table of cases that is been stored in the database with fields related to the cases. the user can look up a specific case with a click on the “Filter Cases” button, which will bring up a side box named “Advanced search” with input fields for users to search by multi-fields like “Case ID”, “Judge Name”, “Case Outcome”, “Protected Ground”, “Social Group”, “Venue”, “Refugee Origin”, ‘determined_applicant_credibility’, ‘applicant_access_to_interpreter’, and more. when a case id is clicked, the user will see a case overview page with a “update this case”button to update a case. Signed in users are able to manually enter a case with a form in the Upload Case page, optimally, we were suppose to have a feature functioning to allow users to upload cases with PDF files, as the Data Science team to create API route to deliver the PDF to the scraper and return in JSON format to populate the form. this is the biggest issue we have to get the API on the DS side working, a result of that, users are not able to view a uploaded PDF file because the data can’t be retrieved from the database and the form can’t be automatically populated because the API is not up and running, whereas the API suppose to get the uploaded PDF files to the server and be converted into readable data or text and send back to the front end to display them on the website. Unfortunately, we still struggle to resolve this issue as we are approaching the end of the time we have on this project.

planning features in users perspective
Fields added to the table on back end API endpoints
Advanced Search
Case Overview Page
Admin to approve or reject/ Refugee Representative to submit a case

Upon the completion of this product, surely there’s a lot more to do to modify functionality of the website in user’s perspective and more features to add to this product. hopefully future can continue to work on features that we couldn’t get it fully functioning, get the future Date Science team can be working on getting the API functioning, so user can create a new case simply by upload a PDF file and have the data automatically populated in the form . and also users can view uploaded PDF files. Future teams can work on what we aim to accomplish in release 2 which our team didn’t get to. Features that allow users to view visualizations of case and judge related data, view visualizations of a case that a user searched by multiple fields, and also allow the users to view location of courts that approves more cases. In accomplishing these possible future features. I can foresee most of the technical challenges will be on the Data Science team. They will have to find a way to transfer the text data into a visual data, a graph and also include a map in the database.

After working with the team on this Labs project, I had a lot of new experiences. I’ve learned the real process of working on a real project as a web developer. It is so important to set the planning as the priority. Understand what the product or features we are going to build, breaking them down into several tasks for different roles of the teammates working together productively and efficiently. Most of the tasks are dependent on the completion of tasks from other people in the team that makes the importance of having daily standup meetings, teammates come together to share where they are and where they are going on the tasks. And also the utmost importance of having a strong communication system in the team. And also I have been exposed to AWS( Amazon Web Service). The experience I gained in this product is something I can take with me into the future for pursuing a web-related job and the teamwork experience is an experience that will help me to work productively in any team I will be in.

Full Stack Web Developer