 Hi, my name is Jonathan Pyle. I'm an attorney with Philadelphia Legal Assistance, and I came back from the TIG conference last year very excited about the possibilities for expert systems and for moving beyond online intake to generalized client portals, the endpoints of which might include document assembly, referral, checklists, legal information as well as online intake. I think we need such systems because in order to provide some form of effective assistance to everyone, we need to make sure that computers are doing as much as they can possibly do. But when I researched the available technologies for implementing these systems, I couldn't find any that were sufficiently powerful and flexible to do all these things efficiently. So in my free time, I wrote my own, and the result is called docassemble. I can change the name and the logo. It's a web application that asks questions of users and then does things on the basis of that information, like assembling PDF files and Word files, sending emails, interacting with APIs, sending the user to another website, or storing information in a database. I developed it with a mobile-first approach. Thanks to the Bootstrap framework, it looks great on any mobile device and also looks good on a computer monitor. And it does document assembly just like HotDocs does. It uses a templating system called Mako, which gives you the full power of Python, a general-purpose programming language, in your templates. And it supports electronic signatures. Using the touchscreen, users can sign their name using their finger, and then the signature can be inserted into an assembled document. And it also handles document uploads. While assembling a letter to a landlord about housing conditions, the user can take a picture with her cell phone, and then the photograph will be inserted into the body of her letter. It has built-in text-to-speech capability. So users with low literacy can click the play button on their phone, and it will read the text of each question out loud. Also, interview authors can easily embed their own audio or video into the interviews, as well as images such as icon buttons. And it has built-in capability for drawing Google Maps, as well as for taking user-supplied addresses and figuring out latitude, longitude, and counting. It's designed from the ground up to handle interviews in multiple languages and in different countries. So all of the elements of the application, including the labels on buttons, can be translated into any language. It also allows for interviews with more than one interviewee. For example, to obtain an advice letter, a client could answer questions, and then an advocate would be notified to go into the interview to review the client's answers and make some decisions, and then the client would be notified to go back in to obtain her advice letter. This could also be used for mediation applications like they have in the Netherlands. So to create an interview, you write a text file, either online or offline, in a format called YAML, and you express logic using very simple Python code. You express formatting of text using Markdown, a popular markup language, and document assembly templates are written the same way that you write questions using the same syntax. But the most powerful feature is that it automatically figures out what questions to ask the user in the order in which to ask them. So all the author needs to do is specify an end goal for the interview, such as a document to be assembled, and then make sure that there are questions that can be asked to gather each piece of information that might be needed along the way. So for example, you can write things like this in a template. If the client has standing, and if the jurisdiction is proper, tell the client he has a valid claim. And so the variable client has standing is a legal concept that can be expressed using Python code, simple Python code you see at the bottom. It depends on two variables. Client was injured and defendant caused injury. And so if necessary, docassemble will ask the user if he was injured, and if the defendant caused the injury. And all the author needs to do is declare what it means for the client to have standing and what it means for jurisdiction to be proper using this simple Python code. And then the author declares how to ask questions like this to gather information from the user. And the computer will figure out all the flow charting and process automatically. And so I think this is what makes it a good expert system platform for law. Because as a lawyer, I think in terms of statutes and regulations, multi-part tests from common law, and legal terms that have definitions that I look up at another place. And so that's how we do things in docassemble. You express legal knowledge by writing snippets of Python code that then reference variables that are defined by other bits of code or by asking the user a question. And you probably think I'm crazy to expect lawyers to write Python. But it is the programming language closest to plain English and the one that nine-year-olds learn. And at the same time, it's also a powerful general-purpose language in which absolutely anything can be done, simple for the uninitiated but impose no limits on professionals. For example, you can put a case caption into a document by writing nothing more than pleading doc caption. And this will cause the system to ask all the necessary questions to figure out the plaintiffs and defendants. So this simplicity allows lawyers, I believe, to practice at the top of their license as they're creating forms, delegating all the mundane concepts to the computer. I know there's a learning curve to working with text files, but when you can use tools like search and replace and copy and paste, you'll find you can do complicated things very quickly. And translation into other languages is fairly easy. Just give somebody the file and have them turn English into Spanish. So when we're developing client-facing tools, we can't work in a vacuum. We need to collaborate, build on each other's work, and never reinvent the wheel. This can be challenging, but solutions to these problems have already evolved in the open-source community in concepts like software libraries and code-sharing sites like GitHub. So I've incorporated these best practices into docAssembly. Interviews are actually Python add-on packages that get posted to GitHub. So if somebody in California who I've never met has developed some really good plain language questions in family law interviews, I can incorporate her questions by reference, simply by including her package as a dependency, and the latest version of her work will always install automatically. Then I only need to write questions that are unique to my interview or jurisdiction or that I want to ask differently. It's also fully scalable, whether you have 10,000 users a day or you just want to run it on your laptop. It's no problem thanks to Docker and Amazon ECS. And you can install the latest version of the system even in a multi-server configuration with load balancing, automatic scaling, and other stuff you might not know about in a matter of minutes, without ever seeing a command line. So I encourage you to try it out. It's documented on docassemble.org where you can find a demo and a tutorial. And I think you'll find it's a system of implementation in a matter of days. And it's 100% free and open source. So if you want to learn more, contact me. Thanks. Thank you, Jonathan. This question is about docassembly. First of all, fantastic work. That was very exciting to see. I was wondering if you could talk a little bit about the security protocols for storing the information and transmitting it between clients and attorneys. It uses HTTPS if you enable that. And the information is stored in a database which you can lock down and that nobody could access if they didn't have the right security. One of the security concerns is developers can write any random code. And so if you're going to develop it, you'd want to have a development site and a production site and make sure that you only allow code onto the production site if you really trust it. But one of the things we haven't done yet is actually encrypt the information in the database. It's in the database in a base 64 encoded JSON so somebody could get the information out of it. But I think that it does have a username and login system so we could use username and passwords to encrypt the information that's stored.