HR Planning Software

Azati audited and optimized an application for an international staffing agency. Critical issues were identified and resolved, resulting in enhanced performance, new features, and an improved user experience. These changes led to faster loading times and increased application stability, successfully stopping the decline in the user base.

Discuss your project
<3s

initial page load time (was 18s)

43%

increase in back-end performance

20%

reduction in RAM consumption

Technologies used

Angular
Angular
JQuery
JQuery
Ruby
Ruby
PostgreSQL
PostgreSQL
Heroku
Heroku
Amazon Cloud Front
Amazon Cloud Front
Heroku CI
Heroku CI

Motivation

The staffing agency faced a decline in user base due to slow load times, unstable performance, and poor application architecture. Azati’s goal was to audit the platform, identify bottlenecks, improve back-end and front-end efficiency, and implement a roadmap for future improvements, ensuring scalability, stability, and better user experience.

Main challenges

Challenge 01

Bad Application Architecture

The initial solution lacked proper structure, relying on a mix of separate functions created with various paradigms. This caused unstable core features and made it difficult to scale the application or safely introduce new functionalities. Azati conducted a full architectural audit and proposed a modular, maintainable structure to stabilize core functionality and enable long-term scalability.

#1
Challenge 02

Outdated Technology Stack

The back-end was built with Ruby on Rails and the front-end used Angular.js (Angular 1), resulting in extremely slow page loads, up to 18 seconds initially, and poor responsiveness. Azati suggested optimizing the existing stack by refactoring code, removing outdated patterns, and enhancing front-end performance through pagination, caching, and optimized scripts, dramatically reducing load times.

#2
Challenge 03

Lack of Automated Tests

The absence of unit and functional tests made adding new features risky, as updates could break existing functionality. Azati implemented automated test coverage for critical application logic, allowing safer feature releases, reducing regression risks, and increasing overall reliability of the platform.

#3
Challenge 04

Overreliance on Premade Packages

The previous team used too many Ruby Gems for simple tasks, leading to high memory consumption, low performance, and inefficient data workflows. Azati proposed removing unnecessary packages, simplifying code workflows, and optimizing SQL queries and data processing, which improved back-end performance and reduced memory usage.

#4

Our approach

Audit and Prioritization

Conducted a detailed audit to identify the most critical performance and architecture issues, creating a clear roadmap for improvements.

Back-End Refactoring

Simplified the codebase, removed redundant patterns and packages, optimized workflows, and reduced memory consumption to improve performance and stability.

SQL Optimization

Refactored long SQL chains into efficient queries, reducing database calls and accelerating data retrieval.

Front-End Performance Improvements

Implemented pagination, asset caching, and optimized JS scripts to reduce initial load times and accelerate user interactions.

Multilingual Support

Introduced i18n localization for French and German users, extending platform accessibility to international teams.

Automated QA

Created automated unit and functional tests covering critical features to minimize regression risks and ensure reliability.

Facing the same challenge?

Bring your complexity. We'll bring the plan. Tell us about your project and we'll get back within one business day.

Inquire for more info

Solution

01

Scalable Architecture

A redesigned application architecture that ensures reliability, long-term scalability, and optimal performance under load. Supports efficient modular expansion for future feature additions.

Key capabilities:
  • Stable and maintainable architecture
  • Supports high concurrency
  • Facilitates modular development
  • Improves overall system reliability
02

Localization Support

Implementation of multilingual capabilities using i18n, enabling users from multiple countries to access the platform seamlessly in their native languages.

Key capabilities:
  • Multilingual interface for global teams
  • Easy translation management
  • Supports users in France and Germany
  • Enhances accessibility and adoption
03

SQL and Memory Optimization

Refactored database workflows and optimized memory usage to improve application efficiency, reduce server load, and speed up data retrieval processes.

Key capabilities:
  • Optimized SQL queries for faster data extraction
  • Reduced RAM consumption by 20%
  • Improved backend processing speed
  • Minimized server downtime and performance bottlenecks
04

Enhanced Front-End Performance

Optimized the front-end by reducing page load times, implementing pagination, and caching assets to improve the user experience across all devices.

Key capabilities:
  • Reduced initial page load to under 3 seconds
  • Implemented efficient pagination for large datasets
  • Advanced asset caching for faster rendering
  • Improved responsiveness of user interface
05

Automated Quality Assurance

Introduced automated unit and functional tests covering critical application logic to reduce regression risks and ensure stability during feature updates.

Key capabilities:
  • Unit and functional test coverage for main features
  • Reduces risk of breaking existing functionality
  • Facilitates safer release of new features
  • Improves overall software quality and reliability

Results & business impact

Faster Page Loads

Initial page load dropped from 18 seconds to under 3 seconds, enhancing user experience and reducing frustration.

Back-End Efficiency

Optimizations led to a 43% increase in back-end performance, supporting more concurrent users and higher workload.

Lower Resource Usage

RAM consumption decreased by 20%, lowering hosting costs and improving stability.

Higher User Satisfaction

Stabilized the platform and stopped the decline in user base, improving engagement and confidence in the system.

Last updated

Got a job for Azati? Let’s talk business!

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

What's next?

  • 1. Tell Us Your Story
    Describe your project. We come back within 24 hours with team availability and a rough plan. NDA on request before the first call.
  • 2. Get Your Roadmap
    Receive a detailed proposal with scope, team composition, timeline, and costs tailored to your goals.
  • 3. Start Building
    Azati aligns on details, finalize terms, and launch your project with full transparency.