Process Automation and Improved Stability for ContractObserver's Contract Analysis Site
This Dot collaborated with ContractObserver to provide steady site reliability improvements, deliver new features to improve the contract data pipeline for their most mission-critical service, and automate the team’s testing protocol, making it faster and less prone to performance interruptions.
Overview
This Dot collaborated with ContractObserver to provide steady site reliability improvements, deliver new features to improve the contract data pipeline for their most mission-critical service, and automate the team's testing protocol, making it faster and less prone to performance interruptions.
Services Provided
Developers at This Dot Labs provided a host of holistic development services including development, project management, and testing in collaboration with developers and management within the ContractObserver team.
Key points:
- Used a range of technologies including React, NestJS, AWS, Auth0, Docker, Airtable, eBrevia, Python, Cypress, and Cucumber to streamline and automate ContractObserver's contract analysis processes.
- Created custom scripts and forms to automate employee processes, decrease turnaround time for users, and connect multiple services, allowing ContractObserver to deliver contract analysis reports quickly and efficiently.
- The new automated testing process enabled ContractObserver to catch any breaking changes before they were unintentionally released into production.
Tech-stack
- React: Used for front-end development of the website.
- NestJS: Used to build the back-end API.
- AWS (Amazon S3): Hosts the website.
- Auth0: Used for user authentication.
- Docker: Used for local environment setup and continuous integration (CI) for the repository.
- Airtable: Used as the current database for the sales and management teams.
- Monday: Used for contract and customer management by the sales and management teams.
- eBrevia: Provides AI-powered contract analysis software used by the legal team.
- Python: Used to create ContractObserver's contract analysis webhook, which is used with eBrevia and Airtable.
- Cypress: Used as an end-to-end testing framework.
- Cucumber: Used as a behavior-driven development (BDD) testing framework.
This Dot Labs is a development consultancy focused on providing staff augmentation, architectural guidance, and consulting to companies.
We help implement and teach modern web best practices with technologies such as React, Angular, Vue, Web Components, GraphQL, Node, and more.
ContractObserver provides a cloud and AI based automated contract review processing platform that helps small businesses analyze the potential legal risks in their contracts quickly and easily.
Converting Site Testing Process from Fully Manual to Automated
Our team initially worked with user stories developed by the previously contracted developer team. We started with the most user-facing and critical sections, and leveraged Cucumber to retain some of the current user stories, update others based on new requirements, and create new stories as we developed new features.
To create new and updated user stories, we reviewed ticket requirements and maintained open conversations with ContractObserver's founder and sales teams to ensure that these stories were accurate and beneficial.
We then used Cypress to run these user stories by creating a command that could automatically run all of the test suites either on someone's local machine, or against the live QA site. Additionally, we created a custom Cypress command to authenticate a test user automatically so we didn't have to go through the sign in form each time. This enabled developers to quickly automate tests against PRs so we could catch any breaking changes before they were unintentionally released into the production site.
When we handed this new process off to ContractObserver, we created a handbook that details how the tests are set up, how to run them, what test accounts look like, and other information that helps developers maintain the website for longevity sake.
Connecting Multiple Services to Decrease Turn-Around Time for Users and Automating Employee Processes
Prior to our involvement, ContractObserver's contract analysis service required a number of manual processes to collect and deliver data across platforms, enter contract data into the Airtable database, and deliver status updates to team members and users.
To improve the speed and performance of ContractObserver's service, we worked to promote automation for ContractObserver's most mission-critical process of receiving and reviewing customer contracts, and notifying users when the resulting analysis reports are available.
First, we created a custom script that immediately delivers a user's contract form input to the Airtable database, and creates a new row on a Monday board with the information needed to track the status of a user's contract analysis.
Then after reviewing the information to ensure it is complete, a ContractObserver representative uses a dropdown on Monday that triggers a webhook, sending the contract from Airtable to eBrevia, where the analysis begins.
Once ContractObserver's legal team receives the contract analysis from eBrevia, they now use a new custom form that corresponds to contract information collected from the user, including the status of all the important clauses for different types of contracts, risk factors, and metadata that is important to the user. Aligning terminology across platforms and teams was critical to integrating these custom forms.
When the analysis is done, the legal team saves it, and marks it as complete, triggering a webhook that changes the status on the corresponding Monday entry so ContractObserver knows the review is done.
After reviewing the analysis, a ContractObserver rep will change a dropdown in Monday, triggering a backend Python hook that scans all the data from the legal team's form, and writes it into the Airtable tables, tying everything to the contract through an id.
Finally, the ContractObserver representative can then mark the analysis as “Done” in Monday, which also marks the analysis as “Done” in Airtable, and ContractObserver's platform will make the analysis available to the user.
Let's innovate together!
We're ready to be your trusted technical partners in your digital innovation journey.
Whether it's modernization or custom software solutions, our team of experts can guide you through best practices and how to build scalable, performant software that lasts.