Blog

Our Search for a better Search : ES Indexing Architecture

On our mission to ensure that millions meet their soulmates – ‘search‘ plays a crucial role in finding our perfect matches. But when we wanted to introduce new fields in ElasticSearch(ES) to add new search feature requirements, it wasn’t scalable with our old architecture. After going live, it would have taken us 4-5 days for the field…

11 min read

Datadog Real User Monitoring (RUM) for a faster payment page

At Shaadi.com we focus a lot on customer experience and one of the key outcomes we strive to achieve is giving a seamless experience to our users across our website. In our effort to do that, we are working on – making our payment pages blazing fast! While planning this, one of the first things that…

7 min read

WebRTC and Signalling: Behind the scenes of ‘Shaadi Meet’

In these times of pandemic, video chats and conferencing are playing an important role in coping with social distancing and isolation while allowing us to move towards our goals, especially as a team. WebRTC plays an important role in achieving the audio/video chats between the clients(users) connected to the internet.Let’s try to understand the what…

5 min read

CI/CD: How to switch from Manual to Automated development

When speaking of manual and automatic development, the importance of CI/CD is no longer in question. Speed and reliability are the two main benefits of CI/CD. In this blog I am sharing what made me do CI/CD and all the ins and outs one needs to implement CI/CD pipeline in their projects. The post will also cover how you…

6 min read

Container Networking and tcpdump

Looking at packets as they travel through the network can tell you a lot about how the network is behaving and what can potentially go wrong. I am just starting to learn about the various ins and outs of this ecosystem, so I never lose an opportunity to use tcpdump. Sometimes I get results and…

6 min read

ML Model Consumption Dilemmas: Part 1

Tuning Partner Preferences At times, pragmatically consuming ML models gets more challenging than the training process itself.  In this series, we will discuss some of the unique problems we encountered in consuming our models and how we tackled those problems at Shaadi.com. In this part, we would look at a classic tuning issue on our…

From Testing to Development

A programmer’s journey from breaking things to making them. Who believes “When in doubt, choose change!” Writing code is power…  Change is not easy. It takes a great deal of discipline, motivation, inspiration, and most importantly courage. I come from a Quality Assurance background and now develop code. And I hope these tips will be…

5 min read

Trieng out ReasonML and ReasonReact

The title seems a little weird, looks like a typo, but there is a pun intended in here. The “Trie” in “Trieng“ stands for the Trie data-structure and in this blog post we’ll explore the world of ReasonML by taking an example of a Trie and implement a React app in ReasonReact. I wrote this post…

9 min read

If you think you have written enough tests, it’s high time you reconsider it!

What is this about? It’s about a built-in feature of Codeception (a tool powering the Falcon’s testing suite, which is a BehaviourDrivenDevelopment-styled PHP testing framework, brought to you by Codeception Team, OpenSource and MITLicensed), which helps in analyzing the code coverage. This feature of Codeception allows you to collect code coverage reports for all your tests:…

3 min read

Ghost in the AB Framework!

The history effect induces a bias in an AB Framework Unlike lab tests, AB tests are not run in isolation and hence are prone to be affected by external events. With the orthogonal splits in our new AB framework we have largely ensured that any external event has equal effect on both control (A) and…

4 min read