Reflections from a Computer Programming Beginner

I recently joined CodeX as a Visiting Researcher from Toronto’s Osgoode Hall Law School to draft legal technology that helps decipher a judge’s understanding of the economic principles and statistical analyses used in antitrust litigation. This project involves collecting data from legal cases and their corresponding expert testimonies, analyzing that data to determine patterns between the economic principles used in antitrust litigation and the appeal rates of cases, and creating a user-friendly way to visualize those analyses. Unlike most CodeX affiliates, however, I forgot to pack one key tool for my project – computer programming experience.

Yes, I suffer from the same lack of technological savvy that has plagued the legal industry for some time. However, this disadvantage has provided me with a serious advantage: It allows me to work on a technology project through the lens of the common lawyer who might find drafting legal technology impossible.

Because of this, I want to share my experiences so that those who might be interested in creating their own legal technology do not feel overwhelmed by the challenge of learning how to structure data, code, and draft their technology. Three rules have failed to let me down when accomplishing these tasks: 1) Utilize technology, 2) Know your limits, and 3) Don’t be afraid to ask.

Getting the Data

Getting my data largely involves turning unstructured data of legal cases and expert testimonies into structured data. Personally, my data includes a sample of roughly 1000 legal cases and their corresponding testimonies from expert economists. This presents the first problem: Whether to spend weeks manually inputting the data or learn how to code an expression that will automatically populate my spreadsheets with the required information.

Following Rule 1 would entail learning how to effectively code a program that can go through each case, extract the appropriate variables, and input those variables into a spreadsheet. However, after talking with some overly experienced CodeX affiliates (Rule 2) I realized that this is not a practical option given my relative lack of computer programming knowledge (Rule 3). I decide to take a hybrid solution: manually input the data for now while simultaneously learning how to automate my data entry so as to speed up the process in the future.

Learning the Code

Learning to code can be a daunting task. Not only does it take a while to get used to the logic and syntax, the plethora of different code languages makes choosing the right code language(s) overly frustrating.

Fortunately, this frustration subsides once you utilize the technology available to you. The advantage of learning to code relative to other fields is that the nature of the art provides a wonderful resource of free online coding tutorials. Beginner coders can gain a basic understanding of the most common code languages through websites such as and Personally, I was able to use online tutorials to gain a solid understanding of R, a powerful statistical analysis language, to analyze my data and extract key terms from the case decisions and expert testimonies.

This does not mean that you can expect to be a master at coding by simply practicing on free online tutorials. Indeed, there are often times when raw coding is too complex and using intermediary software is more appropriate. Understanding my limitations, I determined that the complexity of my analyses required a user-friendly interface that could still employ R when necessary. I therefore decided to use Rapid Miner, a common and user-friendly data mining software, while simultaneously employing a R plugin to run R code for analyses that I could not accomplish with RapidMiner.

Drafting the Technology

The last step of my project has been drafting the technology that incorporates my analyzed data. Drafting my legal technology entails creating a website that allows users to interact with my analyses and collected data to understand how to best convey economic principles to a specific judge, court, or jurisdiction. The crux of the technology is its visualization component, in that it will present the data in a visually captivating way to make interaction with the data user-friendly.

Talking with successful legal tech start-up companies helped me conclude that using D3, a data-visualization JavaScript library, would be an effective way to illustrate my data. Again, I have been able to progress my JavaScript skills through online tutorials to effectively use D3 as well as tutorials specific to D3. By understanding my limitations I am conscious of the fact that I will have to rely heavily on pre-existing D3 visualizations.


These personal reflections from my time at CodeX should, if anything, illustrate the idea that a lack of computer programming experience should not deter lawyers from creating legal technology. Rather, it merely requires dedication and knowledge of how to effectively use your resources. By utilizing technology, knowing your limitations, and never being afraid to ask for advice, you can make meaningful progress in structuring your data, learning the appropriate code, and eventually drafting your technology. And while my position at CodeX provides me with top-tier human resources, online coding tutorials and forums should provide anyone with the resources necessary to get them started on their legal tech endeavor.

Tags: ,