Optimizing a Web App Serving 1,800+ Construction Companies
Description
A provider of software solutions turned to Altoros to optimize its web app for construction project management and ensure compliance with the industry safety standards.
Brief results of the collaboration:
- The customer optimized its web system for construction project management—facilitating routine for 5,000+ active daily users—with no downtime in production.
- Thanks to the improvements in place, 1,800 organizations can now ensure compliance with the safety standards (Occupational Safety and Health Act, Safety and Health Regulations for Construction, etc.) at construction sites.
- With the delivered optimizations, the company was able to reduce system response times to just a second instead of 40.
The customer
Based in the US, the customer provides web/mobile solutions and video production services. Founded in 2012, the company serves construction, retail, media, and other industries.
The need
The provider had a proprietary web app that enabled construction firms to manage project routine. On a daily basis, employees would log in working hours and resolve tasks, take a safety survey, etc. Managers would assign tasks, track project status and inventory usage, as well as inspect safety compliance through reports based on the surveys completed by employees. As of 2021, the app served 1,800+ organizations with 5,000+ active daily users. However, the architecture behind the app was poorly designed, affecting performance and feature delivery.
Partnering with Altoros, the customer wanted to optimize app performance and introduce business-critical functionality, while ensuring zero downtime in production.
The challenges
Under the project, the team at Altoros had to address the following issues:
- To minimize incidents at construction sites and abide by the safety regulations (Occupational Safety and Health Act or Safety and Health Regulations for Construction), construction firms relied on reports based on daily surveys. The app’s mobile version, though, displayed report records in plain rows, not allowing to sort by a date, an author, a category, etc. This way, the reports were hard to follow for field workers, hampering data-driven decision-making to eliminate risks.
- It was not evident why it took the system 40 seconds to load, when a user switched between views (a date/a week/a month) on the calendar page, or why the project page would sometimes hit timeouts.
- The app allowed for digitally signing contracts. However, digital signatures got overlapped, preventing legal documents from coming into force.
The solution
Stage 1. Engineers at Altoros evaluated the system’s architecture and suggested the techniques to optimize the proprietary web app without downtime in production. For the purpose, the developers employed best practices of Ruby-on-Rails optimization (e.g., memoization).
Stage 2. By fine-tuning SortableJS, the team at Altoros improved report generation and view in the mobile version, thus facilitating decision-making around safety compliance at construction sites for field workers.
Stage 3. When examining the system, the developers encountered an exceeding number of server requests that slowed down page loading time and caused timeouts. To enhance performance, the engineers limited the number of requests, reducing server response times to a second instead of 40. In addition, the team at Altoros tweaked the app at a database level, using the active record pattern.
Stage 4. To remove digital signature overlap, the front-end developers optimized the HTML code and added necessary CSS style classes.
Stage 5. The engineers at Altoros also made it possible to fill out project descriptions by ticking checkboxes with the necessary items. Then, the developers enabled the calendar to display all the employees involved in a task, which provided more transparency into the process.
Stage 6. Using Cypress, the team at Altoros conducted unit testing to cover multiple scenarios ensuring system resiliency in production.
40x
response time improvement
5,000+
active daily users
1,800+
construction companies
The outcome
Partnering with Altoros, the customer optimized its web app for construction project management, facilitating daily routine of 5,000 active users. Now, 1,800+ construction companies can ensure safety compliance at construction sites, digitally sign contracts, etc. Thanks to the improvements in place, the system response times reduced to just a second instead of 40.
Platform
Heroku
Programming languages
Ruby, JavaScript
Frameworks and tools
Ruby on Rails, Vue.js, JQuery, SortableJS, Cypress
Database
PostgreSQL