Case Study – ATS Engineers

ATS Engineers is an Austin, TX based firm that provides MEP, Civil and Structural Engineering, Inspections, Energy and Land Surveying services.
This is a story about ATS’s journey from running on an antiquated, proprietary system on a single in-house server, to crafting a custom platform running on a robust, cloud native architected solution on AWS.
When Steel Toad was first hired by ATS, ATS was running their proprietary building inspection software on a single server that also doubled as the production web server AND tripled as development machine! After an initial overhaul of ATS’s website content management system and moving the web hosting infrastructure to AWS, our team started the four year process of replacing ATS’s in-house system with a completely new custom solution to manage projects across all departments.
This project was the brain child of Will Guidry, ATS’s IT department manager. Will had a clear vision of what a custom solution would need to do but didn’t have the in-house experience to build a modern, cloud native solution.
We started with a rough draft of database schema that Will created and simultaneously began to work on a Spring Boot REST API paired a Vue.js frontend. We settled on MongoDB as our primary data store, Elasticsearch for search, Rabbit MQ for our work queues, Camunda as a workflow engine, and Amazon Aurora DB as a relational data store needed by Camunda, the public website, and eventually our reporting solution.
We decided to run everything we could on AWS. The stack we settled on was AWS’s serverless container solution Fargate, running behind an application load balancer, protected by API Gateway, all kept fresh with CodeBuild and CodePipeline.
One of the uniquely challenging parts of ATS’s environment was a necessity to programatically interface with their in-house QuickBooks server to generate invoices. With the remainder of their infrastructure running in the cloud, this detail was a head scratcher. Striving to come up with a solution that was economical, secure, and performant, we found that a combination of pedantic Java code, a 3rd party add-on called Remote Connector, an undocumented HTTP header, and an NGROK tunnel, we were able to put together a solution that can reliably interface with QuickBooks for $10/month!
With a robust backend in place, it was time to start thinking about how we could replace the Inspection department’s Windows tablet solution with a new mobile app.
After evaluating options, we settled on Flutter as a mobile development platform. It was a bit early in Flutter days but our team felt that that the platform had significant utility and would do the job. Having the capacity to target multiple device operating systems with single code base was appealing to ATS and Flutter’s declarative programming model was appealing to our development team.
After more than a year in development, ATS’s inspection department is now able to complete hundreds of inspections a day using a mix of PDF and digital forms.
With the success of the mobile app rollout coupled with ATS’s growing inspections business, we now had a new problem – the volume of administrative work was becoming too much for a human to manually sort and assign hundreds of inspections every day. Our team implemented a solution using Opta Planner to handle the heavy lifting of assigning inspections to inspectors. Now, a single button press accomplishes in minutes what used to take hours.
ATS is now more than a year into production with only minutes of downtime to date. The Steel Toad team is proud of the solution we’ve crafted for ATS and is grateful for the trust they had in us to build the primary solution that runs their company.
