Episode 1 — Fundamentals

Goal: Build a rock-solid mental model of how the internet works before writing a single line of code.


What You Will Learn

This episode covers the foundational concepts every developer must understand.
By the end you should be able to explain — in plain English — what happens from the moment you type a URL in your browser to the moment the page appears on your screen.


Table of Contents

#TopicFile / Folder
1.1How the Internet Works1.1-How-The-Internet-Works/
1.2Client-Server Architecture1.2-Client-Server-Architecture/
1.3Internet Protocols (TCP & UDP)1.3-Internet-Protocols/
1.4Understanding HTTP & HTTPS1.4-Understanding-HTTP-and-HTTPS/
1.5Semantic HTML & Browser Rendering1.5-Semantic-HTML-and-Browser-Rendering/
1.6CSS Core Fundamentals1.6-CSS-Core-Fundamentals/
1.7Working With SASS1.7-Working-With-SASS/
1.8CSS Layout Mastery1.8-CSS-Layout-Mastery/
1.9CSS Responsive Design1.9-CSS-Responsive-Design/
1.10CSS Architecture & Project Structure [legacy]1.10-CSS-Architecture-and-Project-Structure/
1.11CSS Frameworks: TailwindCSS & Bootstrap1.11-CSS-Frameworks-TailwindCSS-and-Bootstrap/
1.12CSS Animations & Motion Design1.12-CSS-Animations-and-Motion-Design/
1.13Introduction to JavaScript1.13-Introduction-to-JavaScript/
1.14DOM Manipulation1.14-DOM-Manipulation/
1.15Event Handling in JavaScript1.15-Event-Handling-in-JavaScript/
1.16Using Browser Functionalities in JavaScript1.16-Using-Browser-Functionalities-in-JavaScript/
1.17Additional JavaScript Topics (Episode 1)1.17-Additional-JavaScript-Topics/

Sub-topics inside 1.1

#Sub-topicFile
1.1.aHistory of the Web (Web 1.0 → Web 3.0)1.1.a-History-of-Web.md
1.1.bHow Computers Communicate With Each Other1.1.b-How-Computers-Communicate.md
1.1.cHow Computers Send Data All Over the World1.1.c-How-Data-Travels-Worldwide.md
1.1.dDomain Names, IP & MAC Addresses, and Routing1.1.d-Domain-Names-IP-MAC-Routing.md
1.1.eHow ISP and DNS Work Together1.1.e-ISP-and-DNS.md

Extra files for 1.1

FilePurpose
1.1-Exercise-Questions.md60 practice questions with hands-on exercises
1.1-Interview-Questions.md18 interview questions with model answers + quick-fire
1.1-Quick-Revision.mdOne-page cheat sheet for all 1.1 topics

Sub-topics inside 1.2

#Sub-topicFile
1.2.aWhat is the Client-Server Model1.2.a-Client-Server-Model.md
1.2.bDifference Between Client (Browser) and Server1.2.b-Client-vs-Server.md
1.2.cHow HTTP Request & Response Cycle Works1.2.c-HTTP-Request-Response-Cycle.md
1.2.dWhat Happens When You Visit a Website1.2.d-What-Happens-When-You-Visit-Website.md
1.2.eFront-end vs Back-end1.2.e-Frontend-vs-Backend.md
1.2.fStatic Websites vs Dynamic Websites1.2.f-Static-vs-Dynamic-Websites.md
1.2.gWeb Hosting and How It Works1.2.g-Web-Hosting.md

Extra files for 1.2

FilePurpose
1.2-Exercise-Questions.md60 practice questions with hands-on exercises
1.2-Interview-Questions.md18 interview questions with model answers + quick-fire
1.2-Quick-Revision.mdOne-page cheat sheet for all 1.2 topics

Sub-topics inside 1.3

#Sub-topicFile
1.3.aWhat is TCP and Why Is It Widely Used1.3.a-What-is-TCP.md
1.3.bTCP Three-Way Handshake1.3.b-TCP-Three-Way-Handshake.md
1.3.cWhat is UDP and Why Is It Fast1.3.c-What-is-UDP.md
1.3.dHow UDP Establishes Communication1.3.d-How-UDP-Works.md
1.3.eTCP vs UDP — Comparison1.3.e-TCP-vs-UDP.md

Extra files for 1.3

FilePurpose
1.3-Exercise-Questions.mdPractice questions + hands-on checks across 1.3.a–e
1.3-Interview-Questions.mdInterview-style Q&A with model answers + quick-fire
1.3-Quick-Revision.mdOne-page cheat sheet for TCP/UDP/QUIC

Sub-topics inside 1.4

#Sub-topicFile
1.4.aHTTP and Its Versions1.4.a-HTTP-and-Versions.md
1.4.bHTTP Status Codes1.4.b-HTTP-Status-Codes.md
1.4.cHTTPS vs HTTP1.4.c-HTTPS-vs-HTTP.md
1.4.dHow HTTPS Secures Connections1.4.d-How-HTTPS-Secures-Connections.md
1.4.eSSL / TLS Encryption1.4.e-SSL-TLS-Encryption.md
1.4.fProxy and Reverse Proxy1.4.f-Proxy-and-Reverse-Proxy.md
1.4.gVPN — How It Works1.4.g-VPN-How-It-Works.md

Extra files for 1.4

FilePurpose
1.4-Exercise-Questions.mdPractice questions + DevTools/curl drills across 1.4.a–g
1.4-Interview-Questions.mdInterview-style Q&A with model answers + quick-fire
1.4-Quick-Revision.mdOne-page cheat sheet for HTTP/S/TLS/proxy/VPN

Sub-topics inside 1.5

#Sub-topicFile
1.5.aBrowser Rendering Pipeline1.5.a-Browser-Rendering-Pipeline.md
1.5.bReflow and Repaint1.5.b-Reflow-and-Repaint.md
1.5.cSemantic Landmark Tags1.5.c-Semantic-Landmark-Tags.md
1.5.dSEO and Semantic HTML1.5.d-SEO-and-Semantic-HTML.md
1.5.eAccessibility and ARIA1.5.e-Accessibility-and-ARIA.md
1.5.fHeadings Hierarchy1.5.f-Headings-Hierarchy.md
1.5.gOrdered and Unordered Lists1.5.g-Ordered-and-Unordered-Lists.md
1.5.hResponsive Images1.5.h-Responsive-Images.md
1.5.iLinks, Navigation, and Forms1.5.i-Links-Navigation-and-Forms.md

Extra files for 1.5

FilePurpose
1.5-Exercise-Questions.mdPractice questions + DevTools drills across 1.5.a1.5.i
1.5-Interview-Questions.mdInterview-style Q&A with model answers (rendering, CLS, semantics, SEO, a11y, forms)
1.5-Quick-Revision.mdOne-page cheat sheet for semantics, rendering, images, and forms

Sub-topics inside 1.6

#Sub-topicFile
1.6.aCSS Syntax & Selectors1.6.a-CSS-Syntax-and-Selectors.md
1.6.bSpecificity & Cascade1.6.b-Specificity-and-Cascade.md
1.6.cInheritance & Computed Styles1.6.c-Inheritance-and-Computed-Styles.md
1.6.dBox Model1.6.d-Box-Model.md
1.6.eCSS Units1.6.e-CSS-Units.md
1.6.fModern CSS Functions1.6.f-Modern-CSS-Functions.md
1.6.gCSS Variables1.6.g-CSS-Variables.md
1.6.hDesign Systems1.6.h-Design-Systems.md
1.6.iDesign Tokens1.6.i-Design-Tokens.md

Extra files for 1.6

FilePurpose
1.6-Exercise-Questions.mdClosed-book questions + DevTools drills mapped to 1.6.a1.6.i
1.6-Interview-Questions.mdModel answers: selectors, specificity, box model, units, theming, tokens
1.6-Quick-Revision.mdCompact cheat sheet (print-friendly)

Sub-topics inside 1.7

#Sub-topicFile
1.7.aWhat is SASS?1.7.a-What-is-SASS.md
1.7.bSCSS vs SASS & Setup1.7.b-SCSS-vs-SASS-and-Setup.md
1.7.cVariables & Nesting1.7.c-Variables-and-Nesting.md
1.7.dPartials & Imports1.7.d-Partials-and-Imports.md
1.7.eMixins1.7.e-Mixins.md
1.7.fInheritance & Extends1.7.f-Inheritance-and-Extends.md
1.7.gFunctions & Operators1.7.g-Functions-and-Operators.md
1.7.hControl Directives1.7.h-Control-Directives.md
1.7.iColor Functions1.7.i-Color-Functions.md

Extra files for 1.7

FilePurpose
1.7-Exercise-Questions.mdClosed-book questions + hands-on drills mapped to 1.7.a1.7.i
1.7-Interview-Questions.mdModel answers: SASS fundamentals, architecture, mixins, functions, performance
1.7-Quick-Revision.mdCompact cheat sheet (print-friendly)

Sub-topics inside 1.8

#Sub-topicFile
1.8.aFlexbox Deep Dive1.8.a-Flexbox-Deep-Dive.md
1.8.bCommon Layout Patterns1.8.b-Common-Layout-Patterns.md
1.8.cCSS Grid1.8.c-CSS-Grid.md
1.8.dCombining Grid & Flex1.8.d-Combining-Grid-and-Flex.md
1.8.ePositioning1.8.e-Positioning.md
1.8.fStacking Context1.8.f-Stacking-Context.md
1.8.gContainer Queries1.8.g-Container-Queries.md

Extra files for 1.8

FilePurpose
1.8-Exercise-Questions.md~70 practice questions + layout challenges mapped to 1.8.a1.8.g
1.8-Interview-Questions.mdModel answers: flexbox vs grid, positioning, z-index, container queries
1.8-Quick-Revision.mdCompact cheat sheet (print-friendly)

Sub-topics inside 1.9

#Sub-topicFile
1.9.aMobile-First Strategy1.9.a-Mobile-First-Strategy.md
1.9.bMedia Queries1.9.b-Media-Queries.md
1.9.cBreakpoint Planning1.9.c-Breakpoint-Planning.md
1.9.dResponsive Images1.9.d-Responsive-Images.md
1.9.eFluid Typography1.9.e-Fluid-Typography.md
1.9.fSpacing Rhythm1.9.f-Spacing-Rhythm.md
1.9.gCSS Frameworks Overview1.9.g-CSS-Frameworks-Overview.md

Extra files for 1.9

FilePurpose
1.9-Exercise-Questions.md~60 closed-book questions + responsive design challenges + DevTools drills
1.9-Interview-Questions.mdModel answers: mobile-first, media queries, responsive images, fluid typography
1.9-Quick-Revision.mdCompact cheat sheet (print-friendly)

Sub-topics inside 1.10

#Sub-topicFile
1.10.aBEM Naming Convention1.10.a-BEM-Naming-Convention.md
1.10.bComponent-Based CSS1.10.b-Component-Based-CSS.md
1.10.cUtility vs Component Classes1.10.c-Utility-vs-Component-Classes.md
1.10.dReal-World Folder Structure1.10.d-Real-World-Folder-Structure.md
1.10.eDebugging with DevTools1.10.e-Debugging-with-DevTools.md

Extra files for 1.10

FilePurpose
1.10-Exercise-Questions.md~50 closed-book questions: BEM naming drills, folder-structure design, debugging challenges
1.10-Interview-Questions.mdModel answers for architecture, BEM, utility vs component, and debugging questions
1.10-Quick-Revision.mdCompact cheat sheet (print-friendly)

Sub-topics inside 1.11

#Sub-topicFile
1.11.aIntroduction to CSS Frameworks1.11.a-Introduction-to-CSS-Frameworks.md
1.11.bUtility-First vs Component-Based1.11.b-Utility-First-vs-Component-Based.md
1.11.cTailwindCSS Setup & Basics1.11.c-TailwindCSS-Setup-and-Basics.md
1.11.dBuilding with TailwindCSS1.11.d-Building-with-TailwindCSS.md
1.11.eIntroduction to Bootstrap1.11.e-Introduction-to-Bootstrap.md
1.11.fBootstrap Grid & Components1.11.f-Bootstrap-Grid-and-Components.md
1.11.gCustomizing Bootstrap1.11.g-Customizing-Bootstrap.md
1.11.hTailwindCSS vs Bootstrap1.11.h-TailwindCSS-vs-Bootstrap.md

Extra files for 1.11

FilePurpose
1.11-Exercise-Questions.md~60 practice questions: Tailwind class writing, Bootstrap grid, comparison, build challenges
1.11-Interview-Questions.md~15 model-answer questions covering framework choice, utilities, grid, customization
1.11-Quick-Revision.mdCompact cheat sheet (print-friendly)

Sub-topics inside 1.12

#Sub-topicFile
1.12.aCSS Transitions1.12.a-CSS-Transitions.md
1.12.bCSS Transform1.12.b-CSS-Transform.md
1.12.c3D Transforms1.12.c-3D-Transforms.md
1.12.dKeyframe Animations1.12.d-Keyframe-Animations.md
1.12.eAnimation Performance1.12.e-Animation-Performance.md

Extra files for 1.12

FilePurpose
1.12-Exercise-Questions.md~50 practice questions: transitions, transforms, keyframes, performance analysis
1.12-Interview-Questions.md~15 interview questions with model answers (transitions, transforms, animations, a11y)
1.12-Quick-Revision.mdCompact cheat sheet (print-friendly)

Sub-topics inside 1.13

#Sub-topicFile
1.13.aWhat is JavaScript?1.13.a-What-is-JavaScript.md
1.13.bWhere JavaScript Runs1.13.b-Where-JavaScript-Runs.md
1.13.cLinking JS with HTML1.13.c-Linking-JS-with-HTML.md
1.13.dConsole: Debugging & Testing1.13.d-Console-Debugging-and-Testing.md
1.13.eVariables: let, const, and var1.13.e-Variables-let-const-and-var.md
1.13.fNaming Conventions & Clean Code1.13.f-Naming-Conventions-and-Clean-Code.md
1.13.gData Types: Primitives & Objects1.13.g-Data-Types-Primitives-and-Objects.md
1.13.hMini Practice Programs1.13.h-Mini-Practice-Programs.md

Extra files for 1.13

FilePurpose
1.13-Exercise-Questions.md~60 practice questions: JS role, runtimes, scripts, console, scope, types, mini programs
1.13-Interview-Questions.mdModel answers: browser vs Node, defer/async, let/const, typeof, prompt/alert
1.13-Quick-Revision.mdCompact cheat sheet (print-friendly)

Sub-topics inside 1.14

#Sub-topicFile
1.14.aIntroduction to the DOM1.14.a-Introduction-to-the-DOM.md
1.14.bDOM Structure: Nodes & Elements1.14.b-DOM-Structure-Nodes-and-Elements.md
1.14.cFetching Elements in the DOM1.14.c-Fetching-Elements-in-the-DOM.md
1.14.dDOM Tree Traversal1.14.d-DOM-Tree-Traversal.md
1.14.eManipulating DOM Elements1.14.e-Manipulating-DOM-Elements.md
1.14.fCreating & Removing DOM Elements1.14.f-Creating-and-Removing-DOM-Elements.md

Extra files for 1.14

FilePurpose
1.14-Exercise-Questions.md~55 practice questions: selection, traversal, XSS, insert/remove
1.14-Interview-Questions.mdModel answers: live collections, innerHTML, appendChild moves node
1.14-Quick-Revision.mdCompact cheat sheet (print-friendly)

Sub-topics inside 1.15

#Sub-topicFile
1.15.aaddEventListener, Bubbling & event.target1.15.a-addEventListener-and-Bubbling.md
1.15.bMouse, Keyboard, Scroll & Strict Mode1.15.b-Mouse-Keyboard-Scroll-and-Strict-Mode.md
1.15.cForms, Inputs & preventDefault1.15.c-Forms-Inputs-and-preventDefault.md
1.15.dclassList & Events1.15.d-classList-and-Events.md
1.15.eBrowser & Window Events1.15.e-Browser-and-Window-Events.md

Extra files for 1.15

FilePurpose
1.15-Exercise-Questions.md~50 practice questions: listeners, forms, classList, lifecycle
1.15-Interview-Questions.mdModel answers: bubbling, target vs currentTarget, passive scroll
1.15-Quick-Revision.mdCompact cheat sheet (print-friendly)

Sub-topics inside 1.16

#Sub-topicFile
1.16.aBrowser Object Model (BOM)1.16.a-Browser-Object-Model.md
1.16.bwindow.location & window.history1.16.b-Window-Location-and-History.md
1.16.cWeb Storage & Cookies1.16.c-Web-Storage-and-Cookies.md
1.16.dFetch API1.16.d-Fetch-API.md

Extra files for 1.16

FilePurpose
1.16-Exercise-Questions.md~45 practice questions: BOM, location/history, storage, fetch
1.16-Interview-Questions.mdModel answers: fetch ok, storage vs cookies, pushState
1.16-Quick-Revision.mdCompact cheat sheet (print-friendly)

Sub-topics inside 1.17

#Sub-topicFile
1.17.aThrottling & Debouncing1.17.a-Throttling-and-Debouncing.md
1.17.bJSON: JSON.parse & JSON.stringify1.17.b-JSON-parse-and-stringify.md

Extra files for 1.17

FilePurpose
1.17-Exercise-Questions.mdThrottle vs debounce decisions; JSON parse/stringify drills
1.17-Interview-Questions.mdModel answers: definitions, SyntaxError, storage pairing
1.17-Quick-Revision.mdOne-page cheat sheet

High-Level Workflow — What Happens When You Visit a Website

┌──────────────┐
│  YOU (User)  │  Type "google.com" in the browser
└──────┬───────┘
       │
       ▼
┌──────────────────┐
│  Browser Cache   │  Already know the IP? → Skip DNS
└──────┬───────────┘
       │ No
       ▼
┌──────────────────┐
│  DNS Resolver    │  Ask "What is the IP for google.com?"
│  (from your ISP) │
└──────┬───────────┘
       │
       ▼
┌──────────────────┐     ┌──────────────┐     ┌────────────────────┐
│  Root DNS Server │ ──▶ │  TLD Server  │ ──▶ │  Authoritative NS  │
│  (13 worldwide)  │     │  (.com zone) │     │  (google's server) │
└──────────────────┘     └──────────────┘     └────────┬───────────┘
                                                       │
                                          IP: 142.250.190.46
                                                       │
       ┌───────────────────────────────────────────────┘
       ▼
┌──────────────────┐
│  Your Computer   │  Now knows the IP → opens TCP connection
└──────┬───────────┘
       │
       ▼
┌──────────────────┐     ┌─────────────────┐     ┌──────────────────┐
│  Your Router     │ ──▶ │  ISP Network    │ ──▶ │  Internet        │
│  (Private → NAT) │     │  (Public IP)    │     │  Backbone        │
└──────────────────┘     └─────────────────┘     └──────┬───────────┘
                                                        │
                                              Submarine cables,
                                              IXPs, peering points
                                                        │
                                                        ▼
                                               ┌────────────────┐
                                               │  Google Server  │
                                               │  (or CDN edge)  │
                                               └────────┬───────┘
                                                        │
                                               HTML, CSS, JS, images
                                                        │
       ┌────────────────────────────────────────────────┘
       ▼
┌──────────────────┐
│  Your Browser    │  Parses HTML → Builds DOM → Renders Page
└──────────────────┘

How to Use This Material

  1. Read in order — each file builds on the previous one.
  2. Follow the diagrams — they are designed for visual learners.
  3. Try the "Explain It" challenge at the end of each file — if you can explain it to a friend, you've mastered it.

Last updated: April 2026