Hey! So, I recently worked on this cool proof of concept (POC) where I tried to combine product embeddings with OpenSearch to enable a k-nearest neighbours (k-NN) search. Basically, I wanted to see if I could make searching through a product catalog smarter by using embeddings (which are essentially vector representations of the product information) instead of just basic text … [Read more...] about Building Semantic Search for E-commerce Using Product Embeddings and OpenSearch
Programming
Leader Election with ZooKeeper: Simplifying Distributed Systems Management
Imagine you are in a group project, the task is pretty complex :p and everyone is looking at each other, wondering who is going to take the lead? Does this situation sounds similar to you? I remember we used to play some sort of game like "Rock, Paper, Scissor" or "Eeny, meeny, miny moe" (I never did this but my sister). Similarly, distributed systems have their own ways of … [Read more...] about Leader Election with ZooKeeper: Simplifying Distributed Systems Management
AWS Serverless Event Driven Data Ingestion from Multiple and Diverse Sources
At times there is a requirement to centralize data from different sources. This could be required for various needs, There could be any number of reason behind data ingestion. And in this article I will explore a very cost effective, scalable and completely serverless architecture that could do just that. I have used AWS cloud for the same but I'm sure you can find a … [Read more...] about AWS Serverless Event Driven Data Ingestion from Multiple and Diverse Sources
Setup Frontend Project Without Needing Backend Using Local Storage (Dependency Injection)
Today the frontend applications has become quite sophisticated. They are capable of handling complex logic to provide a seamless user experience. With the frameworks like React/Angular/Vue the landscape of frontend has changed quite a lot. I remember the days when I used to write my application in pure HTML and use to handle the dynamic interactions with Javascript (using … [Read more...] about Setup Frontend Project Without Needing Backend Using Local Storage (Dependency Injection)
Deploy Lambda Function and API Gateway With Terraform
Recently, I have started learning terraform (not by choice) because one of the clients needs it. Its a neat tool to manage your infra as code, no doubt about it. But if you ask my personal opinion as a dev, I would say go with the native cloud solution. For ex - AWS CDK. Native not only has all the required features to work with your cloud provider but also streamlines and … [Read more...] about Deploy Lambda Function and API Gateway With Terraform
Event Driven Communication Between Domains/Components – Frontend Development
Event Driven Architecture has been around for decades. This is not something new that we discovered recently. But we have definitely seen the rise of this with the emergence of distributed system and need for asynchronous communication. Event Driven Architecture really helps to reduce the complexity involved with distributed system while providing a way to asynchronously … [Read more...] about Event Driven Communication Between Domains/Components – Frontend Development
A Brief Discussion On Frontend and Micro-frontends
Whenever we hear the world "Monolith" it kind a sounds like a large block of age old monument, but in the world of software development monolith is not age old, infact, monolith is the first choice. Whenever I start on a project, I prefer to go monolith. There are several benefits of that. For one, it has less components and its really fast to develop and release new features … [Read more...] about A Brief Discussion On Frontend and Micro-frontends
Top 5 Common Design Patterns
Design patterns could make a difference in the way you write code. The thing we all need to understand is that we will come across many people who could write code, but there will be very few who write the code in a way that is scalable, maintainable, free of smells and most importantly readable. And to make a shift, it is important to know and understand different design … [Read more...] about Top 5 Common Design Patterns
Design A Notification System
The notification system is a very important part of any organization, especially financial orgs. For ex: It is very important to tell people about their upcoming payments. Or that the order has been placed successfully with the receipt of their order. It gives them feedback that things went well. But have you ever given any thought to how notification works or is delivered … [Read more...] about Design A Notification System
Replication – How Is It Done In Distributed Systems?
Replication simply means keeping a copy of the same data on multiple machines connected via a network. These machines could be present in different parts of the world and not necessarily in the same perimeter. There are many benefits of having this redundancy that you will see later in this article. The objective is this article is to provide some insights into different … [Read more...] about Replication – How Is It Done In Distributed Systems?