Assigned Counsel and Fee Waiver Bot

By Sean Casey

I am a student in law school. One of my classes, Coding the Law, studies the intersection between technology and the law. I wrote a bot, and you can find it here. To write my bot, we used a tool called QnA Markup. Basically, you create an interactive decision tree by nesting questions and answers. Here's my code.

My bot tells a user whether or not they qualify for counsel or legal aid in Massachusetts, and if the user does qualify, downloads the necessary form to file for indigency with a number of fields already filled in.

User Testing

My initial beta bot was fairly primitive and did not include any math calculations. You can find it here.

I exchanged feedback with Anon Silpavuthi. Both of our bots were fairly primitive at the time, and have come a long way from our initial beta programs. My feedback to him can be seen here. His feedback to me can be found here.

The testing criteria consisted of five different scenarios to test different outcomes of our bots and was fairly straightforward. In addition to Anon's testing, I have tested it a number of times to try to find and cure all the potential bugs.

Refinement

The feedback I received from Anon lead me to incorporate the math functions to do calculations. Next, we needed to incorporate forms using the mail merge functionality of Word along with a .csv file as a datasource. This proved to be the most challenging part of the project. Once I was able to populate the form with a single variable, multiple variables were easy.

I got the word version of the Massachusetts Affadavit of Indigency, and began to incorporate variables that represented user information, that I could use to pre-populate the form for any user of the bot.

Once I had a version that was working under expectations, I decided I needed to try to rewrite the entire bot to refactor it as much as possible and so the organization and logic would be easier for a third person to understand. My main hurdle with this step was the inclusion of comments after GOTO statements which lead to a number of errors. I would have liked to include more comments to better partition the code, but I was unable to do that.

Finally, as I mentioned earlier, I did a lot of testing to try to find any possible bugs.

Real-World Viability

In order to determine the real-world viability of my bot, I reached out to 3 attorneys at my firm that do a lot of pro bono work. They work in a number of clinics that help people that cannot afford legal counsel.

Drew DeVoogd is a partner at my firm; Kristina Cary is a senior associate; and Matt Karambelas is a junior associate. They have all given me oral feedback on my initial version, that was encouraging, but I am waiting for their feedback on my final version. When I receive this feedback, I will update this section.

In general, I think a system like this has some real-world viability, but I would probably approach the problem with a more flexible programming language, such as python. QnA has proven very useful for this particular project though.