PortfolioProjects I've worked on recently
HyperTrade
HyperTrade

Ready to deploy, distributed cryptocurrency trading bot. The idea of this project originally came from a script I used to automate buying and selling of fiat assets. I was curious and wanted to scale it into a real system which can execute trades for me. I had a lot of fun building this. I got to play with lots of different technologies while growing my financial knowledge.

Peapods
Peapods

Upcoming decentralized social media platform for web 3.0

Proximity
Proximity

An open source social media app that does not use your data against you.

Velvet Live
Velvet Live

Connect with shoppers who need your advice and expertise when they’re shopping online. Assist and sell to customers the same way you would in-store, but now through chat and video straight from the app.

Stewards
Stewards

Mobile ordering solution with robot delivery. Stewards also provides variety of tools like staff application to manage orders, self checkout solution and admin dashboard.

Celebrify
Celebrify

Get personalized videos from your favorite celebrities at just one click. Request personalized video messages for your friends, family, loved ones or even yourself. Be it a doubt or even a special wish from your favorite celebrity.

KCards
KCards

KCards is your one-stop replacement for paper cards. KCards help you to easily share your cards with other users and get real-time analytics on the shared cards.

ArticlesWhen I'm not writing code, I write articles
System Design: Uber
distributedsystemsarchitecturetutorial
Let's design an Uber like ride-hailing service, similar to services like Lyft, OLA Cabs, etc. ...

Sep 22nd, 2022

System Design: Netflix
distributedsystemsarchitecturetutorial
Let's design a Netflix like video streaming service, similar to services like Amazon Prime Video,...

Sep 22nd, 2022

System Design: Twitter
distributedsystemsarchitecturetutorial
Let's design a Twitter like social media service, similar to services like Facebook, Instagram,...

Sep 22nd, 2022

System Design: WhatsApp
distributedsystemsarchitecturetutorial
Let's design a Whatsapp like instant messaging service, similar to services like Whatsapp, Facebook...

Sep 21st, 2022

System Design: URL Shortener
distributedsystemsarchitecturetutorial
Let's design a URL shortener, similar to services like Bitly, TinyURL. What is a URL...

Sep 21st, 2022

System Design: System Design Interviews
distributedsystemsarchitecturetutorial
System design is a very extensive topic and system design interviews are designed to evaluate your...

Sep 21st, 2022

System Design: SSL, TLS, mTLS
distributedsystemsarchitecturetutorial
Let's briefly discuss some important communication security protocols such as SSL, TLS, and mTLS. I...

Sep 20th, 2022

System Design: Single Sign-On (SSO)
distributedsystemsarchitecturetutorial
Single Sign-On (SSO) is an authentication process in which a user is provided access to multiple...

Sep 20th, 2022

System Design: OAuth 2.0 and OpenID Connect (OIDC)
distributedsystemsarchitecturetutorial
OAuth 2.0 OAuth 2.0, which stands for Open Authorization, is a standard designed to...

Sep 20th, 2022

System Design: Virtual Machines (VMs) and Containers
distributedsystemsarchitecturetutorial
Before we discuss virtualization vs containerization, let's learn what are virtual machines (VMs) and...

Sep 19th, 2022

System Design: Disaster recovery
distributedsystemsarchitecturetutorial
Disaster recovery (DR) is a process of regaining access and functionality of the infrastructure after...

Sep 19th, 2022

System Design: SLA, SLO, SLI
distributedsystemsarchitecturetutorial
Let's briefly discuss SLA, SLO, and SLI. These are mostly related to the business and site...

Sep 19th, 2022

System Design: Service Discovery
distributedsystemsarchitecturetutorial
Service discovery is the detection of services within a computer network. Service Discovery Protocol...

Sep 18th, 2022

System Design: Rate Limiting
distributedsystemsarchitecturetutorial
Rate limiting refers to preventing the frequency of an operation from exceeding a defined limit. In...

Sep 18th, 2022

System Design: Circuit breaker
distributedsystemsarchitecturetutorial
The circuit breaker is a design pattern used to detect failures and encapsulates the logic of...

Sep 17th, 2022

System Design: Geohashing and Quadtrees
distributedsystemsarchitecturetutorial
Geohashing Geohashing is a geocoding method used to encode geographic coordinates such as...

Sep 17th, 2022

System Design: Long polling, WebSockets, Server-Sent Events (SSE)
distributedsystemsarchitecturetutorial
Web applications were initially developed around a client-server model, where the web client is...

Sep 16th, 2022

System Design: REST, GraphQL, gRPC
distributedsystemsarchitecturetutorial
A good API design is always a crucial part of any system. But it is also important to pick the right...

Sep 16th, 2022

System Design: API Gateway
distributedsystemsarchitecturetutorial
The API Gateway is an API management tool that sits between a client and a collection of backend...

Sep 16th, 2022

System Design: Command and Query Responsibility Segregation (CQRS)
distributedsystemsarchitecturetutorial
Command Query Responsibility Segregation (CQRS) is an architectural pattern that divides a system's...

Sep 15th, 2022

System Design: Event Sourcing
distributedsystemsarchitecturetutorial
Instead of storing just the current state of the data in a domain, use an append-only store to record...

Sep 15th, 2022

System Design: Event-Driven Architecture (EDA)
distributedsystemsarchitecturetutorial
Event-Driven Architecture (EDA) is about using events as a way to communicate within a system....

Sep 15th, 2022

System Design: Monoliths and Microservices
distributedsystemsarchitecturetutorial
Monoliths A monolith is a self-contained and independent application. It is built as a...

Sep 14th, 2022

System Design: Enterprise Service Bus (ESB)
distributedsystemsarchitecturetutorial
An Enterprise Service Bus (ESB) is an architectural pattern whereby a centralized software component...

Sep 14th, 2022

System Design: Publish-Subscribe
distributedsystemsarchitecturetutorial
Similar to a message queue, publish-subscribe is also a form of service-to-service communication that...

Sep 13th, 2022

System Design: Message Queues
distributedsystemsarchitecturetutorial
A message queue is a form of service-to-service communication that facilitates asynchronous...

Sep 13th, 2022

System Design: Message Brokers
distributedsystemsarchitecturetutorial
A message broker is a software that enables applications, systems, and services to communicate with...

Sep 13th, 2022

System Design: N-tier architecture
distributedsystemsarchitecturetutorial
N-tier architecture divides an application into logical layers and physical tiers. Layers are a way...

Sep 12th, 2022

System Design: Database Federation
distributedsystemsarchitecturetutorial
Federation (or functional partitioning) splits up databases by function. The federation architecture...

Sep 12th, 2022

System Design: Consistent Hashing
distributedsystemsarchitecturetutorial
Let's first understand the problem we're trying to solve. Why do we need this? In...

Sep 11th, 2022

VideosI also make videos