Blog

My Promise is to Cache your data!

Promises have had a very boilerplate filled history with generic libraries and browser standards. With react hooks being in the mix, everything is about abstracting stuff out to make things simpler.  What is the traditional way to call API and Cache Data? In the traditional way, we are forced to work with too much boilerplate…

4 min read

Pair Programming: A Practical View

Modelling software development process has been evolving for decades. In this process of evolution, many models have become obsolete, while few served as stepping stones to models we use even today. If you have an idea of Agile, this article will make sense to you. XP(Extreme Programming), FDD(Feature Driven Development), Scrum, AM(Agile Modelling) all these…

5 min read

VR first!

Is VR going to change the way we consume web content? Virtual reality will alter the way we experience and interact with technology. WebVR has the potential to revolutionize the way we use the web. It allows users to experience VR through a web browser. We can say that the future belongs to immersive experiences.And…

4 min read

Sudoku: A constraint satisfaction problem

You might be familiar with Sudoku. It is a logical puzzle appearing in the puzzles section of most newspapers. The newspaper is the first place where I encountered this puzzle while I was in school and it took me days to solve my first Sudoku puzzle. Later in college, I learned about Constraint Satisfaction Problems (CSP)…

6 min read

What we will get in React 17?

As days go by I get more and more excited about what the React core team is coming up with. I thought I would share the update with fellow devs and share this excitement with all of you: React 16 was about new apis and native components (like hooks, error boundaries and fragments). This time…

4 min read

Storyshots – a powerful side of Storybook to Visual Test React Components

At a consumer-oriented business like Shaadi.com, we like to maintain discipline around our React components, the way they look, feel and behave in the real world for our customers. The benefits of writing functional tests with 90–100% code coverage have now become obvious to us. But I felt functional tests were still not answering an…

4 min read

React and Finite State Machines

Finite state machines, generally speaking, are a computation model used to describe a system in terms of the transitions between it’s states. They make it possible to is really easy to visualize your computational model as a graph and make sure that your application isn’t left with unhandled cases or illegal states. Warning: Read the wikipedia page on Finite…

9 min read

Designing with expectations, not implementations

If you heard about test driven development (TDD) and wanted to get started somewhere then this is for you. This post represents a summary of the experience I got through implementing TDD as part of our development process at Shaadi. 2 Things to ask yourself before going through this test process When should I write…

Journey from Screen to Screen

You might have seen posts on the internet titled “Only 90s kid will understand”. And you might think that that kind of nostalgia might make sense to only 90s kids. I am talking about stuff like Tape-Recorders, VCRs, Pepsi etc. Well this kind of emotional connect that we have to forgotten artifacts stuff isn’t just limited to…

5 min read

I was not ready to TDD

It’s been more than 13 years I’ve spent writing software as an engineer. And I had always felt intimidated by the thought of writing tests before I wrote code that made those tests pass. When I joined the React team at shaadi.com, everyone was already writing tests. But nobody was writing tests first. So I…

4 min read