Since they were first established, legal aid programs in the United States have struggled to serve all of the low-income clients in need of legal representation. However, in recent years, a growing number of individuals with moderate-incomes have also found themselves unable to afford legal representation. With too high an income to qualify for free legal services, yet too cash-poor to pay for a market rate attorney, many chose to go pro se, representing themselves in court. As a result, pro se representation has become a growing burden on the U.S. justice system, and furthermore, because clients without legal representation often fare quite poorly in the courts, has severely widened the access to justice gap. Our work has examined the theoretical basis and practical application of one promising solution to the access to justice gap: legal expert systems. Properly designed, legal expert systems can simulate the knowledge and thought processes of a trained attorney through the application of abstract principles to specific cases, simulating the client-attorney interaction to diagnose, infer, and treat the legal problem at hand. In order to test these concepts against the reality of legal practice and the current state of technology the Apps for Justice team has developed two prototype legal expert systems (in the form of web apps): Rights of Tenants in Maine, which uses an interview process to address common landlord-tenant issues through a customized action plan; and Maine Family Law Intake, which replicates a client intake process to produce completed forms for clients filing for divorce.