MindForgeDemo
DashboardCoursesLabsQuizSheets
Exit demo
MindForgeDemo

Demo mode · Nothing you do here is saved

Log inCreate free account
DashboardCoursesLabsQuizSheets

Courses

Live from the MindForge catalog — open any lesson to learn it for real.

Production Debugging: Fix Real Bugs in a Live-Looking AppThe Engineering Playbook45-Day Interview Preparation Bootcamp

Production Debugging: Fix Real Bugs in a Live-Looking App

intermediate

Learn to debug the way it is done at work. Every lab drops you into a small, realistic e-commerce application (Django or FastAPI with PostgreSQL, and a React dashboard) inside a browser IDE with a real git history, a ticket from support or the on-call channel, logs, a database and a debugger. You reproduce the problem, follow the evidence to the root cause, fix it, prove the fix with a test that fails on the broken code, and write a short incident note. The Django track covers performance and query problems, data-model and money bugs, concurrency, migrations, configuration and calls to other services. The FastAPI track covers Alembic migrations, async SQLAlchemy performance, event-loop and concurrency bugs, outbound calls and error contracts, validation models, proxy configuration and authorization. The React track covers hooks and closures, async races, state and keys, render performance and leaks, and API and build configuration. The Fullstack track covers sessions, cookies and CORS, API contracts, and values that change meaning between browser and API. Each section starts with a short lesson on the debugging skill, never on the answer.

By Nayan Jaiswal · 21 sections · 68 lessons

Performance

  • Debugging slow pages: measure first
  • Lab: The order list page is slow for repeat customers
  • Lab: The staff dashboard hits the database too often

Data model and money

  • Debugging wrong data: trace the value, not the screen
  • Lab: Invoices vanish when a customer is deleted
  • Lab: Order totals are one cent off
  • Lab: Evening orders land on tomorrow's report

Concurrency

  • Debugging races: make the bug happen on purpose
  • Lab: A burst of signups crashes with IntegrityError
  • Lab: The last unit is sold twice

Migrations

  • Debugging migrations: the graph and the data
  • Lab: The release is blocked by conflicting migrations
  • Lab: A migration that only fails on production data

Configuration and deployment

  • Debugging configuration: what differs between here and there
  • Lab: Production has no styles or scripts

Calls to other services

  • Debugging calls to other services: design for the failure
  • Lab: Checkout hangs when the payments provider is slow

Migrations (Alembic)

  • Debugging Alembic: the revision graph and the data it meets
  • Lab: The release is blocked by multiple Alembic heads
  • Lab: A migration works in staging and crashes on production

Performance (SQLAlchemy)

  • Measure first: counting statements in async SQLAlchemy
  • Lab: The order list is slow for repeat customers

Async and concurrency

  • Debugging async code: the loop and the races between awaits
  • Lab: The whole API freezes whenever somebody logs in
  • Lab: Store credit goes missing under load

Service calls and errors

  • Debugging outbound calls and the errors you report
  • Lab: Paying hangs when the payments provider is slow
  • Lab: Customers cannot pay but the dashboards show no errors

Data model and validation

  • Debugging validation models: absent is not the same as null
  • Lab: Saving one profile field erases the others

Configuration and security

  • Debugging deployment settings and authorization
  • Lab: The API docs are blank behind the gateway
  • Lab: Any customer can read any order
  • Expert lab: Double charges, then a frozen API, then a kill switch that does nothing

React hooks

  • Debugging hooks: dependencies, closures and identity
  • Lab: The updated badge never gets past 1
  • Lab: Changing the status filter does not reload orders
  • Lab: The Reports page hammers the API

Async and races

  • Debugging async UI: ordering and failure paths
  • Lab: Customer search shows results for an older query
  • Lab: An order stays flagged after the server refused it

State and identity

  • Debugging state: who owns it and which component it belongs to
  • Lab: Deleting a note makes the next note show the wrong text
  • Lab: The customer editor shows the previous customer

Performance

  • Debugging React performance: measure renders and leaks
  • Lab: Typing in the quick filter makes every page re-render
  • Lab: Memory and CPU grow every time Orders is opened

API and configuration

  • Debugging the edges: API results, dates and build-time config
  • Lab: The UI says Saved while the server was down
  • Lab: Revenue report shows the previous day for US users
  • Lab: The staging build still calls its own host

Sessions, cookies and CORS

  • Where the browser and the API disagree: sessions, cookies and CORS
  • Lab: Staging console cannot sign in - the form just says "Failed to fetch
  • Lab: Sign-in succeeds, then Orders and Profile say "Sign in to continue
  • Lab: Saving anything fails with "The request could not be verified
  • Lab: Saving the profile fails with "The request could not be verified

The API contract

  • Contracts across the wire: error bodies, query strings and paging
  • Lab: Error messages are gone - not-found and forbidden failures show "Request failed"
  • Lab: Searching for "R&D Kit" lists everything containing an R
  • Lab: Our newest orders are missing from the order history

Data and state

  • Values that change meaning on the way: time zones, money and stale writes
  • Lab: The order I placed this evening is dated tomorrow
  • Lab: Every order in the history shows a total of under a dollar
  • Lab: Saving my profile on my laptop erased the phone number I just changed on my phone

Latency and slow APIs

  • Debugging a slow API: blocked loops, sequential awaits and throwaway clients
  • Lab: The API stalls while shoppers search
  • Lab: The storefront takes the sum of its dependencies
  • Lab: A new connection for every charge
Start learning