In production environments, debugging alerts can sometimes feel like finding a needle in a haystack. Over the years, I’ve found the OSI (Open Systems Interconnection) model to be a reliable guide during Root Cause Analysis (RCA) of production issues. What is the OSI Model? The OSI model is a conceptual framework that standardizes the functions of a telecommunication or computing…
Housing.com
https://medium.com/engineering-housing · 10 posts · history since 2023 · active
28 Aug 2025
19 Jun 2025
Optimistic locking is a concurrency control mechanism where we assume that multiple transactions can safely access data without conflict, allowing them to proceed without locking the data upfront. Unlike pessimistic locking, where resources are locked to avoid conflicts, optimistic locking allows transactions to proceed without locks and checks for conflicts only when updating the data. If a conflict is detected…
12 Jun 2024
Introduction In today’s world, effective communication plays an important role in the success of businesses and organizations. With the rise of mobile devices and messaging, businesses continue to find new ways to connect and interact with customers. Gupshup is an interactive platform that provides a powerful API that allows businesses to connect resources in their applications, websites or systems. In…
What is Socket.io ? Socket.IO is a server-side library for nodejs that enables low-latency , bidirectional and event-based communication between a client and a server using client-server architecture while it is a wrapper around WebSockets For Node.js, it is super easy and simple to use especially when dealing with chat messages or Real-time data. Socket Client-Server Architecture How persistent bi-directional…
In the dynamic world of web development, where user experience reigns supreme, having a web application that functions seamlessly even in offline mode is no longer a luxury but a necessity. Enter service workers — the unsung heroes behind the scenes, making this magic possible. In this blog post, we’ll delve into the world of service workers, exploring what they…
2D image (left), 3D rendered image (right) Are you looking to breathe life into your 2D floorplans and visualise them in immersive 3D? With the power of Blender and our innovative process, you can seamlessly convert flat blueprints into dynamic 3D models. Follow along as we unveil the secrets behind this transformative journey. Step 1: Manual Tracing The journey begins…
15 May 2024
Prologue This is the fourth and final instalment of our series. In this piece, we’ll dive into our experiences and insights gained while tackling this project at Housing.com . Previous Chapter: CLS: Changing the perspective (Vol.3) Over the years we have tried a lot of approaches, some approaches required design inputs while on the other hand some ideas were tech…
12 Feb 2024
In today’s competitive world of Mobile app development, it’s essential to create apps that are not only feature-rich but also lightweight. Studies show that for every 6MB increase in the app size, there’s a decrease in install conversion rate by 1%. Therefore, with the increasing demand for faster downloads and better user experiences, app size has become crucial to increase…
5 Feb 2024
How we optimized legacy top hits aggregation query time from 500ms to ~50ms. We are using an elastic search on the search listings page to filter listings based on user filters and some complex aggregation logic. Problem Statement: Our legacy aggregation query was taking approximately 500ms for city-level SRP ( Search Results Page) and approximately 200-300ms for city locality pages.…
7 Jun 2023
Module Federation Pipeline — Part 1 What is Module Federation? Module Federation is a feature in modern JavaScript module bundlers like Webpack that allows separate applications or micro-frontends to share code and resources seamlessly. It enables the development of modular and independent components that can be distributed across different applications, allowing for greater flexibility, code reuse, and improved performance. With…