System Design for Beginners

An in-depth, self-paced, and on-demand course that for early engineers to become great at designing scalable, available, and extensible systems at scale.

If you are SDE-2, SDE-3, and above and already know system design, but want to take your skills to the next level, do check out my live cohort-based System Design Masterclass course.

Enroll Now


inclusive of all the taxes


Watch and learn at your own pace

35 videos covering the curriculum

200+ doubts answered through text and videos

Lifetime access to all course videos and doubts

Language of communication will be strictly english

Lifetime access to recordings of all doubt resolutions

3 days no-questions-asked refund policy

Bi-weekly doubt solving - Wednesday 7:30 pm to 8:30 pm IST

Enroll Now

You will be able to access the course material through

International folks, can also pay in USD or pay in EUR. In case you want to pay in any other currency, just drop me an email at

If you have questions or need any clarifications before enrolling, please reach out to me at

The Course

This is a beginner-friendly self-paced course on system design aimed at providing an exclusive and crisp introduction to building systems. The program will cover most of the topics under System Design and Software Architecture from scratch assuming no prior knowledge.

Course curriculum


Introduction to System Design

  • What is system design? 9 mins
  • How to approach System Design? 17 mins
  • How to understand that you have built a good system? 9 mins


All Things Databases

  • Relational databases 20 mins
  • Database Isolation Levels 19 mins
  • Scaling Databases 18 mins
  • Sharding and Partitioning 16 mins
  • Non-relational Databases 15 mins
  • Picking the right database 13 mins


All Things Caching

  • Understanding Caching 12 mins
  • Populating and Scaling Caches 11 mins
  • Caching at different levels of architecture 19 mins

Asynchronous Systems

Asynchronous Processing

  • Message Queues 16 mins
  • Message Streams and Kafka Essentials 23 mins
  • Real-time PubSub 6 mins


Designing for Resiliency

  • Load Balancers 16 mins
  • Circuit Breakers 13 mins
  • Data Redundancy and Recovery 9 mins
  • Leader Election for auto-recovery 8 mins


Essentials at Scale

  • Bloom Filters 21 mins
  • Consistent Hashing 27 mins
  • Client-server and Communication Protocols 22 mins
  • Blob Storage and S3 16 mins
  • Introduction to Big Data 17 mins

Consumer Facing

Designing Consumer Systems

  • Designing e-Commerce Product Listing 20 mins
  • Designing Tinder Feed 32 mins
  • Designing and Scaling Notifications 38 mins
  • Designing Twitter Trends 30 mins

Common Utilities

Designing Utilities

  • Designing URL Shortners 48 mins
  • Designing API Rate Limiter 26 mins
  • Designing Realtime Abuse Masker 22 mins
  • Designing Web Crawler 54 mins

Critical Systems

Designing systems that matter

  • Designing GitHub Gists 28 mins
  • Desinging Fraud Detection 25 mins
  • Designing Recommendation Engine 37 mins

Program pre-requisites

The course operates at a beginner-level and hence does not assume any prior knowledge of system design. We would start with absolute basics and then scale up to build real-world systems in a very structured way. By the way, following are the pre-requisite for this course

  • a basic understanding of CS fundamentals
  • a Google account because I only support Sign-in with Google :)

Wall of Love

Some formal/informal messages I received about this course.

Why should you join?

The primary objective of this program is to make you comfortable at building scalable, fault-tolerant, and reliable systems. But here is what you could reap out of it.

Design systems like a pro

The course will make you comfortable at designing any system, no matter how stringent the requirements are.

Know the unknowns

Learn some of the most interesting concepts, super-clever algorithms, and sophisticated architectures. You are bound to have mind-blown moments.

Upskill and level-up

Learn the designing paradigms and upskill yourself to accelerate your career growth and stand out.

The world is learning

People from all over the world have mastered System Design through my other System Design course meant for experienced engineers.

System Desgin Masterclass Demographic



Who took my courses?

Folks belonging to some of the best companies and high thriving startups have taken my intermediate system design course, the list includes the likes of

Teaching style

Here are some of the videos that will give you a peek into my teaching style how I teach and the depth I go into

Hey, I am Arpit

entrepreneur, educator, and tinkerer

Arpit Bhayani

I am a software engineer passionate about System Architecture, Language Internals, Distributed Datastores, and Advanced Algorithms. In 2024, I took the leap of faith and co-founded, where I am operating as the CTO taking care of all things tech.

Before co-founding, I was a Staff Engineer at Google leading the Dataproc India team in providing managed big data ecosystem to GCP customers. I hold 10+ years of experience in building and scaling backend services across domains and companies like Unacademy, Amazon, Practo, and D. E. Shaw.

Post my masters in CSE from IIIT Hyderabad I joined D. E. Shaw for a short stint of 2 months, before moving to Practo and working there as a Platform Engineer, building and owning close to 8 different microservices. Post Practo I worked at Amazon on their primary mission-critical internal E-Commerce Database and built Data Pipelines that cold tiered the stale data.

After quitting Amazon in 2018, I joined Unacademy as their first Technical Architect and there I designed, built, managed, and scaled services like Data Lake, Search, Notification, Logging, Deployment Engine, and many more. I then transitioned into the leadership role and operated as a Director of Engineering and led the Site Reliability and Data Engineering verticals.

I keep diving deep into engineering details and share my learnings by across my socials and videos on YouTube. To put my learning to practice, I keep building things on the side and a few of my good hobby projects include

  • DiceDB - a drop-in replacement of Redis with SQL-based realtime reactivity
  • Revine - a visual programming language for kids

What people say about my courses?

Some testimonials from the people who recently took my courses.

Nityananda Gohain

One thing I can guarantee that after this course you can read any kind of system design book/blog with confidence and you will be able to relate to Arpits classes in someway or the other, also Arpit designed the course in such a way that you will be able to relate to previous classes and bring out patters in solving problems. My best investment ever :)

Tejas Agrawal

Had a super fun in learning how to learn and think system design. I am already using Arpit's teachings at my work, and I don't think anything more needs to be said.

Rohan Chougule

It's easy to throw jargons and assume that a system can be built. But then keeping things simple and starting from the basics, the approach to be taken, taking baby steps, and then heading towards a direction is indeed best taught by Arpit. Plus, his enthusiasm!

Sai Subramanyam Chittilla

Arpit is a passionate individual who teaches one of best system design course, his explanation comes from real implementation and exposure to the problem. He makes sure that individuals develop critical thinking when approaching system design.

I would highly recommend his course for any one who tries to build systems to scale.

Frequently asked questions

You can always drop me an email at for other questions.

What will be the language of communication and teaching?

The entire course is taught in english and all doubt solving sessions will be conducted in english.

Is this a cohort based course?

No. This is a recorded self-paced course with bi-weekly doubt solving sessions with me.

How is this course different than your system design masterclass?

Masterclass and Beginner course are mutually exclusive. Beginner course is for absolute beginners and starts things from scratch. Masterclass assumes you have some understanding of systems and we take it forward from there. There will be very minimal overlaps in the topics I cover in the two courses. In general, if you have some understanding of systems and have watched existing system design videos, go for the masterclass. If you want to start from absolute scratch then opt for beginner one.

Is this course right for me?

This course is for any engineer who wants to get started with System Design. If you are a college student or a working professional wanting to start with System Design, this course is for you.

Is there a limit to number of doubt solving sessions I can attend?

No. But the discussion will be strictly related to topics discussed and covered in the course.

Will you be giving teaching for the entire duration?

Yes. I will be teaching the entire course.

Will the course cover LLD?

No. The course is focussed on High Level Design only.

Will we also implement and see the systems in action?

It is not possible to implement every system; it is recommended that you self-implement the system and understand the low-level details. The course will definitely cover systems from every aspect.

Will there be a recording available for future reference?

Yes. You will have lifetime access to the recordings of the course.

Is there a refund policy?

3 days no-questions-asked refund window from the date of course purchase (11:59:59 pm on the 3rd day from the date of purchase).

Can I share my learnings, resources on social media?

No. I hold complete right to cut-off the access to any course material if I find you sharing course material, learning, videos, and notes on social platforms or the internet.

Will you be the only one teaching this course?

The entire course will be conducted by me, Arpit Bhayani, no external TAs, mentors, etc. You will get to learn everything from the horse's mouth.

What are the programming pre-requisites?

There are no programming pre-requisites, but having a basic idea is always better.

How is this course different from your other system design course?

My System Design Masterclass is an intermediate-level course and hence assumes you know basic system design. This course assumes nothing and will ramp you up on everything you should know about it.

If I have already watched System Design videos on YouTube, is this course still helpful?

Yes. The kind of depth which is touched in this System Design is unmatched. Even if you have watched all the System Design videos out there, you will still have moments that will blow your mind.

Will I be getting an invoice of Payment?

Yes. An invoice will be issued to you with all the legal and necessary details. This means your employer can choose to process this invoice and provide reimbursement.

Will you issue a course completion certificate?

I do not generate the certificate for every candidate, but if you need it, just drop me a message, and I will issue one right away.

Can I use my Credit Card or avail EMI to make the payment?

Yes, we support Credit Card, Debit Card, UPI, and Credit Card based EMIs having a duration of 3 months, 6 months, 12 months, and 24 months as offered by Razorpay.

Can I share the account with multiple people?

I track the browsers and devices from which the course is being accessed and if I fnd anything suspicious, I hold the complete right to revoke the access of the course and not offer any refund.

Writings and Learnings

Knowledge Base



Arpit's Newsletter read by 100,000 engineers

Weekly essays on real-world system design, distributed systems, or a deep dive into some super-clever algorithm.