Freshworks Engineering

Building a scalable app in production

Building a scalable app in production

Besides observability and availability, the capacity of an application to efficiently handle request...
Caching ActiveRecord Objects efficiently

Caching ActiveRecord Objects efficiently

As our Freshservice app kept growing in functionality, we decided to execute a refactoring in order ...
Solving the integration puzzle in migration to Ember

Solving the integration puzzle in migration to Emb...

In an earlier blog, we had shown how we set out to migrate the frontend codebase of one of our prod...
How Freshdesk uses HAProxy at scale

How Freshdesk uses HAProxy at scale

Freshdesk, powered by hundreds of web servers hosted in AWS, leverages an application load balancer ...
How we perfected the design for our DBaaS disaster recovery mechanism

How we perfected the design for our DBaaS disaster...

In earlier posts of this series, we had discussed DBaaS design, fail-over handling and backup mechan...
How multi-task learning helped us create better AI

How multi-task learning helped us create better AI

One of the key advantages of multi-task learning is that it allows ML models to learn ideas that are...
How we aced the challenge of building consistent multi-product APIs

How we aced the challenge of building consistent m...

Earlier, we had invested in ensuring the user experience across all our products was consistent. As ...
How to avoid performance drop in ML-based production systems

How to avoid performance drop in ML-based producti...

In the first of a series on the ML operations needed to maintain performance levels in a productioni...
Managing Rails application secrets with encrypted credentials

Managing Rails application secrets with encrypted ...

Having trouble maintaining a large application that interacts frequently with third-party services? ...
Load More