📅Week-1 (Day 1) - Introduction to System Design: LLD vs DSA vs HLD 🔥👩💻


NOTE: - Today marks the beginning of my 8-week System Design journey with Coder Army. I'm journaling each day to capture what I learn, reflect on it, and share it with my network to help others who are new to system design.
💠What is System Design ?
System Design refers to the process of designing day-to-day tech-based systems that power our applications and services.
(Hindi: "System Design" ka matlab hai roz ke technology-based systems ko design karna, jo hamare applications aur services ko chalaate hain.)
💠What is LLD ?
LLD (Low-Level Design) involves taking various concepts from data structures and algorithms (DSA) to build the complete structure of an application. It focuses on the detailed implementation, including how each component interacts and functions.
(Hindi: LLD ka matlab hai, "Low-Level Design." Ye wo process hai jismein multiple DSA ke concepts ka istemal karke poore application ka structure tayar kiya jata hai. Yani, application ke har component ke design aur unke interaction ko detail mein define kiya jata hai.)
💠 A Real-World Example:
👬 Meet Anmol and Ritesh
Two college friends, Anmol and Ritesh, just graduated and joined tech companies as software developers. Both are smart and hardworking, but there’s a small difference:
Anmol has good DSA knowledge, but no exposure to LLD.
Ritesh knows both DSA and LLD.
🚗 The Task: Build a “Quick Ride” App (like Ola/Uber)
Their manager gives them the task to design a simple ride-sharing system — similar to Quick Ride. Here's what happened:
🧑💻 Case 1: Anmol’s Approach (Only DSA)
Anmol immediately thinks like a coder. He solves it like a DSA problem.
Step 1: Select source → destination
Step 2: Implement a queue to match users with riders, using a priority system.
He builds it quickly using algorithms and data structures. Great!
But when he presents it to the manager, he's asked:
🔍 "Where is the system design? Can you tell me about:
The objects involved?
How components talk to each other?
How you’ll handle data security?
What happens if 1 million users use this?"
Anmol is confused. He solved the algorithm part, but missed the bigger picture.
💡 Case 2: Ritesh’s Approach (LLD + DSA)
Ritesh takes a step back and thinks like a designer, not just a coder.
He first identifies the key objects/entities:
👤 User
🚘 Rider
📍 Location
🔔 Notification
💳 Payment
Then he designs the relationships:
A rider can be a user too
A ride has a source & destination
Payments are linked to users & rides
He considers:
🔒 Data Security
🧩 Modular structure
⚙️ Scalability (millions of users)
💬 Notifications
💸 Payments
And only after this, he uses DSA where needed: for queuing, pathfinding, etc.
🧠 Moral of the Story
DSA helps you write efficient code.
LLD helps you think like a software engineer.
In the real world, systems aren't built with just algorithms. You need to know:
How to design components
How data flows
How parts interact
How to build for scale
So always try to go from LLD → DSA, not the other way around.
💠LLD (Low Level Design) - Key Concepts
Scalability (No. of Users Sustains) : -
LLD helps ensure that your system can handle more users without crashing.(Hindi : Jaise jaise users badhte hain, system ko smoothly chalna chahiye. )
Maintainability (Easily Debuggable) : -
A good LLD design makes it easy to debug and fix issues.(Hindi : Agar code easily maintainable hoga, toh future me bugs fix karna aur improvements lana simple hoga.)
Reusability (Plug and Play Model) : -
A well-designed system allows you to reuse code.
(Hindi : Matlab, agar aap code ko kisi aur app me daalna chahein, toh usme zyada changes nahi karne padenge — bas plug and play.)
a) Tightly Coupled means components are highly dependent on each other.
(Hindi : Iska matlab hai, agar aap code ko reuse karna chahenge, toh aapko bohot saare changes karne padenge, jo reusability ko difficult bana dete hain.)
b) Loosely Coupled means components are independent and don't rely heavily on each other.
(Hindi : Iska matlab hai, agar aap code ko reuse karna chahenge, toh aapko bohot kam changes karne padenge, making it easier to reuse across different apps.)
💠What is NOT LLD ?
Low-Level Design (LLD) focuses on the detailed design and implementation of individual components, but High-Level Design (HLD) is different. HLD looks at the overall system architecture and planning. Let's break down what HLD includes:
Tech Stack (Java, Spring Boot, etc.) : -
HLD decides on the technology stack for your project — for example, Java with Spring Boot, or Node.js with Express. It defines the framework and programming languages you'll use for building the system.(Hindi : HLD aapke project ke liye tech stack decide karta hai — jaise Java with Spring Boot ya Node.js with Express. Yeh define karta hai ki aap kis framework aur programming languages ka use karenge system banane ke liye.)
Database (SQL or NoSQL, etc.) : -
HLD determines which type of database to use — whether you need SQL databases (like MySQL) for structured data or NoSQL (like MongoDB) for unstructured data. It helps in deciding how data will be stored and accessed at a high level.
(Hindi : HLD yeh decide karta hai ki kaunsa database use karna hai — kya aapko SQL databases (jaise MySQL) chahiye structured data ke liye, ya NoSQL (jaise MongoDB) chahiye unstructured data ke liye. Yeh decide karta hai ki data kaise store aur access hoga system ke high level par.)
Server Scale : -
In HLD, you decide how your system will scale. Meaning, if you handle millions of users, how will you scale the server - load balancing, cloud services, etc. It is all about making sure your system can handle as much traffic as needed.
(Hindi : HLD mein aap decide karte hain ki aapka system kaise scale karega. Matlab, agar aapko millions of users handle karne hain, toh aapko kaise server scale karna hoga — load balancing, cloud services, etc. Yeh ensure karta hai ki aapka system zyada traffic ko handle kar sake.)
Cost Optimization : -
HLD also includes cost optimization. It determines how the system cost will increase or decrease depending on the user. If you have to use cloud services, you use them in a cost-efficient manner.
(Hindi : HLD mein cost optimization bhi hota hai. Yeh decide karta hai ki user ke hisaab se system ka cost kaise increase ya decrease hoga. Agar aap cloud services ka use kar rahe hain, toh aap unko cost-effective tareeke se use karte hain.)
NOTE : - DSA is the brain of an Application , LLD is the skeleton.
Day 1 Completed ✅ System Design
NOTE : - A big thanks to my mentors Rohit Negi Sir and Aditya Sir for launching this amazing 8-week course absolutely free on YouTube via CoderArmy9 :- https://www.youtube.com/@CoderArmy9 . 🙌
🗓️ Course Start Date: 12th May 2025
🎥 Watch Here: CoderArmy9 – don’t forget to subscribe!
🏆 Exciting Hackathon: Prizes worth ₹1 Lakh!
📜 Completion Certificate will be provided at the end.
This initiative makes high-quality learning accessible and affordable for everyone, and I’m truly grateful to be a part of it. 🙏
From today, I’ve officially taken the challenge to learn consistently and help others along the way. 🌱
Let’s build, grow, and support each other through this journey.
✍️ Payal Kumari 👩💻
Follow me : X
Jai Hind 🇮🇳 | #CoderArmy #LearningInPublic #SystemDesign #TechForAll #MentorshipMatters #8weeksLLdChallenge #LowLevelDesign #LLD 👩💻
Subscribe to my newsletter
Read articles from Payal Kumari directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Payal Kumari
Payal Kumari
I'm a passionate full-stack developer with a strong foundation in the MERN stack—building and maintaining scalable web applications using React.js, Node.js, and Next.js. My journey in open source began with Hacktoberfest 2023, where I made four impactful pull requests that sparked a love for collaborative coding, global learning, and open knowledge sharing. Since then, I’ve contributed to and mentored projects in top open source programs like GSSoC’24, SSOC’24, and C4GT’24. As a Google Gen AI Exchange Hackathon ’24 Finalist and Google’s Women Techmakers (WTM) Ambassador, I’ve been privileged to support diverse communities in building meaningful tech solutions. My work as a Top 50 Mentor for GSSoC ’24 reflects my commitment to nurturing new talent in tech. Beyond development, I serve as a Student Career Guide, Profile Building Expert & Evangelist at Topmate.io, where I conduct workshops, guide students through resume building and career strategy, and help mentees navigate open source and tech careers. Recognized among the Top 5% of mentors and featured on “Topmate Discover,” I take pride in making mentorship accessible and impactful. My technical voice has also been acknowledged by LinkedIn, where I’ve earned the Top Voice badge seven times in domains like web development, programming, and software engineering. In addition, I hold LinkedIn Golden Badges for Research Skills, Interpersonal Skills, Critical Thinking, and Teamwork—signaling a well-rounded approach to both individual contribution and team collaboration. Graduating with an MCA from Chandigarh University in 2023, I’ve continued to fuel my curiosity by writing technical articles and sharing practical MERN stack insights across platforms. Whether it’s building polished UIs, optimizing backend performance, or guiding a mentee through their first pull request, I’m driven by the power of community and continuous learning. Let’s connect! I'm open to collaborations, mentorship, or building something impactful together. Reach out to me at kumaripayal7488@gmail.com or visit my profile on Topmate.io.