Legal publishing platform for municipal and tribal law codes

My previous employer is a rapidly growing small business that maintains and publishes law codes for municipal and tribal jurisdictions throughout the United States. I presented a comprehensive proposal to realign the company’s IT platform to its evolving priorities and the increased technical demands of its customers. Over the next four years, I then implemented that proposal in the form of an entirely new editing and publishing platform, achieving the original key goals and coming to lead the company’s IT team.

Editorial platform

The core of the editorial platform proposal was the replacement of an unstructured, proprietary document format with structured XML using a highly-tailored in-house schema closely aligned with emerging international standards for law markup. I designed the schema, created an extensive backend processing library for it in Node.js, and rolled out new off-the-shelf editing software with significant customizations I made for the company’s needs, including light Java coding.

To manage the editorial workflow, I developed an in-house Electron desktop application using the Angular.js framework. Its notable features include an encapsulated, simplified Git workflow for user-friendly version control; comprehensive data processing and preflighting tools to speed and verify users’ work; and automated export of content as web-ready bundles (see below) and print-ready PDFs. In the latter case, meeting customers’ precise print requirements involved a complex but flexible system of CSS styling built on the Prince PDF generator.

The introduction of the new platform also included documentation writing and both group and one-on-one training during the transition period.

Web platform

For the new web platform, I built on the company’s experience in delivering industry-leading web publishing services, with a particular emphasis on extensively brandable white-label document hosting. I scoped the project, designed the overall architecture and wrote the majority of the Ruby backend, making extensive use of MySQL and Elasticsearch. I worked alongside other front-end developers to design and implement a refined and user-focused interface, taking particular responsibility for accessibility and performance concerns.

As team leader, I also coordinated the team’s work priorities and performed code review.

IT and cloud computing

During the transition to the new platforms, I introduced many contemporary IT practices to the company, including formal version control, intensified security restrictions and a coordinated in-house software release cycle.

Most significant among these, however, was the transition to cloud computing on AWS. I migrated the company’s legacy web services to the cloud and reworked them to be compartmentalized, highly available and HTTPS-enabled. I then designed the new web platform to be cloud native, containerized in Docker with automated deployment.