What is an MVP?

MVP stands for Minimum Viable Product. It is the smallest version of your project that actually works and does the one core thing your project is about.

An MVP is not a rough draft or a broken prototype. It is a finished, working thing — just a small one. You can run it, use it, and show it to someone. It just does not have all the bells and whistles yet.

Why?

You have about 3 weeks. We need to keep it small enough to be manageable, but big enough to be interesting.

Three principles

  1. Make it work (core functionality)
  2. Make it beautiful (UI/UX)
  3. Make it fast (optimizations)

1. Make it work 🛠️

  • The core functionality of your project
  • The "business logic"
  • Needs to be handcoded, ideally in a single module

2. Make it beautiful ✨

  • The user interface and experience (all the user sees)
  • Can use libraries for styling, animations, etc.
  • Optimize for a great demo and portfolio piece
  • I can help you with this

3. Make it fast ⚡️

  • The performance of your project
  • Optimizations, caching, etc.

🤖 AI Agents

✅ Allowed for:

  • UI/UX (HTML, CSS, JavaScript, Pygame, etc.)
  • Libraries (OpenAI, Matplotlib, Pygame, etc.)

🚫 Not allowed for:

  • Core business logic (main python module)

"Business Logic"

  • The core logic (e.g. functions) that make your project work
  • Can be shared by multiple interfaces (e.g. CLI, web, mobile)
  • Handcoded, well-tested, and documented

"Prompt Engineering"

  • How to make AI do what you want
  • Meta programming
  • CSC-225 registration opens tomorrow!

Prompt Engineering Tips

  • Use "plan mode" first
  • Stay in the loop
  • Give the agent examples (links, images, etc.)