The knowledge library

Build the mental models behind modern software.

Already building applications, but unsure what happens underneath? Trace a web request through the layers it uses, locate a failure, and decide what to check next. Begin with the guided path or open one concept at a time. New to these systems? The lessons start with the essentials.

01 · Start here

See the whole request before studying the pieces.

A guided sequence for understanding how the layers of a web application cooperate—and where they fail.

Guided path Start here

How a Web Application Actually Works

Trace a web request across browser, network and server boundaries. Understand when caches, application logic or data storage enter the picture—and how to investigate a failure.

10 published lessonsAbout 3 hr 20 min

Open the path overview

02 · Foundations

A working map of the software stack.

Categories organize the territory. Each one begins with a small set of concepts that make the next layer easier to reason about.

  1. How Software Works

    Build a systems-level picture of how programs use machines, communicate, and persist information.

    • Client and server
    • Processes and threads
    • Memory, CPU, and storage
    Explore How Software Works
  2. Frontend

    Understand how browsers turn code and data into interactive interfaces.

    • How Browsers Turn HTML and CSS Into Pixels
    • The DOM, Events, and User Interaction
    • The JavaScript Runtime, Event Loop, and Async Code
    Follow the frontend learning path Explore Frontend
  3. Backend

    Trace what happens after a request reaches the application server.

    • Request lifecycle
    • APIs and webhooks
    • Authentication and authorization
    Explore Backend
  4. Databases

    Learn how software organizes, finds, protects, and changes durable data.

    • Data modeling
    • Indexes
    • Transactions
    Explore Databases
  5. Cloud and Deployment

    See how an application moves from source code to reliable running infrastructure.

    • Virtual machines and containers
    • DNS and reverse proxies
    • Regions, Availability Zones, and CDNs
    Explore Cloud and Deployment
  6. System Design

    Reason about the tradeoffs that keep software responsive, resilient, and understandable.

    • System Design Starts With Requirements and Constraints
    • Latency, Throughput, Capacity, and Bottlenecks
    • Scaling, Load Balancing, and Stateless Services
    Follow the system-design learning path Explore System Design
  7. AI for Developers

    Understand the software primitives behind useful AI systems and developer tools.

    • Tokens and context windows
    • Embeddings and RAG
    • Agents and MCP
    Explore AI for Developers

03 · Companion path

Software Development in the AI Era

A focused guide to using coding assistants while retaining the judgment to review, test, and ship their output. Separate from the software-fundamentals curriculum.

Eight concise lessons

Start with what an assistant can do. Continue through code review, testing, data boundaries, useful context, reliable workflows, and honest measurement.

Open the AI-era learning path

04 · Connected concepts

Understanding grows through connections.

Follow these links to connect the ideas. This is a learning progression, not a universal request trace: authentication may be unnecessary, and a cache can answer before application logic runs.

  1. DNSFind destination information
  2. HTTPDefine the exchange
  3. APIsShape the interface
  4. AuthenticationEstablish identity when needed
  5. CachingAvoid repeated work
  6. ScalingHandle growing demand
Planned: Behind the Technology & a Codewise letter

Behind the Technology is a future analysis series. No breakdowns have been published yet.

Read about the planned series