In this episode, Matt and Mike explore whether AI can effectively teach React through project-based learning. Using a real side project - rebuilding the Xbox 360 Blades dashboard as a web app - they walk through how React concepts like props, state, and component structure are learned through iteration, experimentation, and replacing code as understanding improves. The discussion focuses on learning by building, avoiding overwhelm, and using AI as a guide rather than a shortcut.
Inspired by Puru's MacOS in Svelte!
Project Setup
xbox-360-blades-web repoProject Philosophy
React Concepts Learned
useState): managing dynamic values like active Blade.map): generating UI from arraysIterative Development Workflow
What We’ve Actually Built
Learning Approach
I haven’t done these steps yet, but if the plan continues the way it currently sits, these are the next steps
Matt’s Note: I got ChatGPT to summarize what we’ve done together so far throughout this project. That summary can be found in detail below…
We kicked things off by creating a fresh React project using Vite inside a GitHub repo called xbox-360-blades-web. We selected:
The goal was simplicity and stability so we could focus fully on learning React.
One of the biggest themes of this project has been iterative development.
Instead of trying to build huge pieces all at once, we:
This mirrors how real developers think: try ideas, test assumptions, and evolve the code in layers.
Examples of Iteration in This Project
useState to track the active Blade, then adjusted it after seeing how the UI responded.Each step wasn’t “the final code” - it was the next step toward understanding.
This iterative approach has two benefits:
We committed to a predictable, low-stress workflow:
This layering matches how professional teams structure front-end projects.
Since you’re completely new to React, we’ve approached every concept through doing rather than just reading.
Props
We used props to pass data into Blade components.
Explained visually as “passing a note down the component tree.”
State
We introduced useState, explained as React’s way of remembering values.
We clarified:
const still works with changing dataactiveIndex powers UI transitionsMapping Blade Components
We set up blades.map() to render components dynamically - a cornerstone of how React handles lists.
This also fit perfectly into the iterative experience:
.map() to generate them cleanlyEach version replaced the previous one, teaching not just React but also why certain patterns are better.
We talked through organizing the Blades into smaller, reusable pieces - mimicking the original Xbox structure.
That structure emerged naturally through multiple iterations.
Prices subject to change and are listed in USD
Learn to code using Scrimba with their interactive follow-along code editor.
Join their exclusive discord communities and network to find your first job!
Use our affiliate link for a 20% discount!!
We receive a monetary kickback if you use our affiliate link and make a purchase.