Learn Build Share

Photo of Rahul Aher

Hello! I'm Rahul Aher, a seasoned Sr. Software Engineer at Morningstar, passionate about architecting transformative software solutions. With a results-oriented mindset, I pursue complex challenges in Software and Product Development.

I excel in web development, mastering Java, JS, and cloud technologies. Committed to innovation, I leverage expertise to boost team performance in dynamic environments.

Courses - Learning

“Offline-first is not just a feature, it’s a mindset. It’s about building resilient systems that empower users, no matter their connection status.” — Akshat Paul

Course cover

Understand JavaScript Completely

2hr 30 mins1English

This course is designed to take you on a comprehensive journey into the world of JavaScript, from its foundational principles to advanced concepts. We'll start by exploring the language's core syntax, data types, and control flow, helping you build a solid understanding of how JavaScript works. You'll learn about key features like prototypes, closures, and the event loop, which are essential for writing efficient and powerful code.

Course cover

NodeJS Deep Dive

1hr 30 mins1English

NodeJs is a powerful JavaScript runtime that enables fast, scalable, and event-driven server-side development. This course offers an in-depth exploration of NodeJs internals - covering its architecture, core concepts, and essential components such as the JavaScript engine and libuv. You'll gain a solid understanding of the NodeJs ecosystem, including how its asynchronous model and event loop function under the hood. With a strong focus on hands-on learning, the course guides you through building real-world backend applications from scratch using Express.js and MongoDB.

Course cover

Frontend System Design

5hr 30 mins1English

This course is designed to take you from Zero to Hero in Frontend System Design. Through a combination of in-depth tutorials and practical, real-world examples, you’ll gain hands-on experience in designing scalable and efficient frontend architectures. The curriculum follows a ‘learn by doing’ approach, ensuring that even the most complex topics are grounded in real application scenarios. Whether you're aiming to build robust frontend systems or preparing for your next Frontend System Design interview, this course equips you with the skills and confidence to succeed. Start your journey today.

Data Structure

5hr 30 mins1English

Launching soon..!!

Knowledge - Sharing

“You might not think that programmers are artists, but programming is an extremely creative profession. It’s logic-based creativity.” — Alex Litcher

API Architecture - Design Best Practices for REST API

May 26, 2025
  • #system-design
  • #aws
  • #lld

REST which stands for Representational State Transfer is an architectural style that governs how API are designed and built. REST’s popularity and ease of implementation make it the most preferred API architectural style for modern-day software development as compared to other protocols such as SOAP (simple object access protocol). REST API or RESTful web services have become the backbone for efficient communication between client and server in modern-day software development. However, to build efficient and robust REST API, it is crucial to follow some standard best practices. In this blog, we’ll explore REST API best practices that can help you build scalable, maintainable, secure, and robust API.

Eventual vs Strong Consistency in Distributed Databases

May 25, 2025
  • #system-design
  • #aws
  • #lld

While consistency is vital, it’s essential to understand that achieving strong consistency in distributed systems can come at the expense of increased latency and reduced availability. Strong consistency may require additional coordination mechanisms that slow down operations. Therefore, choosing the appropriate consistency model involves striking a balance between data correctness and system performance, based on the specific requirements of the application and use case. Different systems may opt for eventual consistency or other weaker consistency models if absolute real-time consistency is not necessary for their functionality.

Rate Limiting

May 24, 2025
  • #system-design
  • #aws
  • #lld

Rate limiting runs within an application, rather than running on the web server itself. Typically, rate limiting is based on tracking the IP addresses that requests are coming from, and tracking how much time elapses between each request. The IP address is the main way an application identifies who or what is making the request. A rate limiting solution measures the amount of time between each request from each IP address, and also measures the number of requests within a specified timeframe. If there are too many requests from a single IP within the given timeframe, the rate limiting solution will not fulfill the IP address's requests for a certain amount of time.

Consistent Hashing Algorithm

May 23, 2025
  • #system-design
  • #aws
  • #lld

Consistent hashing is a distributed hashing technique used in computer science and distributed systems to achieve load balancing and minimize the need for rehashing when the number of nodes in a system changes. It is particularly useful in distributed hash tables (DHTs), distributed caching systems, and other distributed storage systems. Consistent hashing is a technique used in computer systems to distribute keys (e.g., cache keys) uniformly across a cluster of nodes (e.g., cache servers). The goal is to minimize the number of keys that need to be moved when nodes are added or removed from the cluster, thus reducing the impact of these changes on the overall system.