Project 2: Creative Web App

CMU 15-113: Effective Coding with AI

Due Date: Sat. 2/28 at 8:00 PM
Time Estimate: ~5-6 hours (spread over ~2 weeks)
Deliverables: Deployed web app + source code on GitHub (including README.md + prompt log) + short demonstration video + Google form response

Assignment Overview

Goal: Design and implement a creative, portfolio-ready web application while using AI effectively as part of your process. This project emphasizes attention to detail, thoughtful use of AI, clear documentation of your process, and demonstrable learning since the start of the semester.

Timeline: Roughly two weeks to complete. Expect to spend about 5–6 hours of focused work.

Why This Matters: This assignment asks you to combine your technical skills with responsible and strategic AI usage to produce a project you can show in interviews and on your portfolio.

Examples of what you might build:

Note: We expect you to understand and be able to explain what each part of the code is responsible for, and you'll need to write or substantially modify at least some of your code, so be careful not to just vibe-code until it's too complicated for you to grasp. As you work, ask yourself this: Would you be comfortable discussing this project in an in-person technical job interview, without notes? If not, begin investing effort in understanding the code the AI has written for you, or focus on simplifying the project until you feel you understand and can discuss it.

Requirements & Grading

What You Must Submit

Privacy & Security: Do not commit API keys, credentials, or secrets to GitHub. Store secrets as environment variables or use Render/Vercel secret management.

Grading

Full credit requires a working, well-documented, and thoughtfully designed project. Special emphasis will be placed on:

You may reuse and/or improve upon code from earlier assignments, but we still expect ~5–6 hours of *new* work for this project.

Detailed Instructions

  1. Decide on a creative idea. Pick a project that excites you and can be completed in ~5–6 hours. Focus on something that will be useful or impressive on your portfolio.
First focus on substance over polish: Demonstrate clear functionality and learning. UI polish will help your grade, but the graders will first evaluate for functionality and technical implementation.
  1. Build the core app. You may use any stack (i.e. any combination of technologies) that meets the project requirements, but make sure your project includes at least one (and preferably two) of the following:
    • Frontend-backend communication (e.g., fetch + API endpoint)
    • Thoughtful third-party API usage with secure keys
    • Use of a database
    • Substantial data analysis or visualization
    • Exceptionally rich interactivity through a technology we haven't explored yet, like WebGL
    • Use of a computer vision or ML module/algorithm
    Also include at least one substantial part of the code that you wrote or meaningfully modified yourself so you can explain it in person or on video.
  2. Document thoroughly and document as you build (rather than just at the end). Add a clear README.md and a detailed prompt log (prompt_log.txt or similar) that shows your workflow and AI usage.
  3. Commit and push changes regularly. We will expect to see several commits made to your repository over the two-week project period, since this will be evidence for sustained effort. We recommend pushing your changes whenever you are done working each day. (This also prevents you from losing your progress if your computer breaks at the deadline, which will happen to at least one or two of you. And if for some reason you aren't able to submit the form on time, we could in theory still find and grade your existing work, which is good for you and good for us.)
  4. Attend the midpoint in-person check-in. Bring as much working code as possible and be ready to describe progress and remaining work.
  5. Test end-to-end. Make sure the deployed frontend talks to any backend services (if applicable). Make sure that error states are handled gracefully (i.e. try not to crash due to unexpected user behavior, and provide sensible error messages for issues that cannot be avoided, like a backend server outage). We strongly recommend testing any backends locally first, in order to speed up the debugging process.
  6. Push to GitHub & deploy. Put both frontend and backend (if any) in public repos or a clearly labeled project folder in your portfolio repo. Deploy the app and verify the public link works.
  7. Record a short demo video. Show the app running (in its deployed location, not just locally) and briefly explain the architecture and the portion of code you implemented yourself.
  8. Complete the Google form. Submit your deployed URL, repository URL(s), and video link before the deadline.

Tips

Note: Start early and back up your work! We aren't willing to extend the deadline this into Spring Break (except perhaps in a very rare and serious emergency, under the guidance of your advisor) so you should try to get done early. Extensions on this project for typical reasons (illnesses, broken computers, etc) are very unlikely.

Questions? Ask on Ed, attend office hours, or email the instructor. Consult the course AI usage and collaboration policies on the course homepage.