# AI Open Source Capstone class
## Unit 9: Rapid Research and Prototyping
During this class, we've been very careful about generating quality code. That said, it's also useful to rapidly prototype for a few reasons:
- You're building a quick tool to analyze something or automating something.
- You're testing to see if something is possible.
As an engineer, it can sometimes be paralyzing to build something and over obsess about doing it the "right way". When building, it's good to follow these steps:
1. Get it working (by any means necessary, even if it's ugly)
2. Make it fast (fix any major performance issues)
3. Make it right (now go back and clean it up)
Your mission in general should be, build as much stuff as possible. You'll learn a lot, especially as you dig into the codebase to learn how it works and clean it up.
In this lecture, we're going to blitz through building as many apps as possible. We'll see if we can build all of these in the next hour.
- Figma clone
- AI Dungeon Master / Story Adventure Engine
- Omegle clone (bonus: face filters)
- Roblox clone
- Angry Birds clone
Normally, we provide prompts that we've tuned to work. This time, we're going to develop the prompts together from scratch to show how that process works.
We're going to start simple with the prompt, and layer in the practices below, one by one.
## 1. Product Spec
Start by expanding the simple idea that you want to build into a more expansive product spec. You don't need to be too detailed here, but if you're building the "Figma clone" above, you'll want to specify what features you expect.
## 2. Install Playwright MCP
When AI can run and test the website itself, its success rate goes way up.
## 3. Describe the basic usage scenarios
Often, AI will finish building, and claim that it's done. After testing, you realize that some or all of the basic tasks don't work.
If you start by describing how you'll test or initially use the app, it can check those scenarios.
## 4. Build design and milestone planning steps
AI loves to code a large, complex app in one shot. Surprisingly, that sometimes works! Especially for the apps that are large, but mostly straightforward.
Engineers are usually more successful by building in smaller steps, and testing as you go.
If a large and complex app isn't working, it can be very difficult to find the issue.
## 5. Debugging guidelines
AI has a tendency to shoot from the hip when debugging and making changes before correctly diagnosing the issue.