Skip to content

Projects ​

Five things you build and ship, in four repositories. Each one is live on the public web, and each one adds a habit the next one needs.

You will build a personal page, a game, a tool you actually use, a small AI-powered app and a capstone of your choice. Each project lives in its own GitHub repository (repo: a project folder that git tracks, stored on GitHub), and each is deployed (published so anyone with the link can use it). New words are explained in the glossary.

Overview ​

ProjectWeeksWhat you buildWhere it livesStarterDue
Home page1–2A personal page (week 1), plus a browser game in /game/ (week 2)Repo named [username].github.io, on GitHub PagesNone. You start in a chat assistantPage: end of week 1 · Game: end of week 2
Project 1: A Tool I'd Actually Use3–4A single-user web tool built from your own spec, saving its data in the browserIts own repo, on GitHub PagesNone. You build from your own SPEC.mdv1: end of week 3 · Final: end of week 4
AI micro-app5A small app that asks an LLM for help from a server route, with the key kept secretIts own repo, on Vercelweeks/05-apis-secrets-servers/starter/End of week 5
Capstone pitch5One paragraph, a sketch, your feature choices and your biggest riskCanvasNone72 hours before week 6 Studio A
Capstone6–8A deployed full-stack web app of your choice, built with an AI agentIts own repo, on Vercel (plus Supabase if it stores shared data)projects/capstone-starter/Milestones: end of weeks 6 and 7 · Final: end of week 8

"End of week N" means before week N+1's Studio A (default 11:59 pm the night before), unless Canvas, the course's learning management system, says otherwise. The final capstone deadline is posted on Canvas: a few days after the Project Fair, and before the University's grade deadline.

Need an idea for the capstone? See Capstone Ideas.

How each project is graded ​

ProjectCounts towardRubric
Home pageWeekly labs and homework (weeks 1 and 2)Weekly labs rubric
Project 1Project 1 (10%)Project 1 rubric
AI micro-app and capstone pitchWeekly labs and homework (your week 5 score)AI micro-app rubric
CapstoneCapstone (30%); Milestones 1 and 2 are your week 6 and 7 homeworkCapstone rubric

The oral walkthroughs in weeks 4, 6 and 8 use your Project 1 and capstone. Full details: Assessment.

The three project rules ​

These apply to every project, including stretch work. They come from the safety contract.

  1. No real payments. Free hosting tiers forbid commercial use (Vercel Hobby; GitHub Pages), and payment code is high-stakes. A "Buy" button that does nothing real is fine for a demo.
  2. No real personal data about other people. Use made-up names, emails and entries. Free AI tiers may train on what you type, and a single missing database rule can make everything public.
  3. Nothing you would miss if an AI agent deleted it. Keep real documents, photos and work files out of your project folders. AI agents have deleted files and databases they were not supposed to touch (case studies).

If you are not sure whether an idea breaks a rule, ask before you build it.

What goes in a repo, and what goes on Canvas ​

Your project repos are public: they become your portfolio. Your grades and personal writing stay private, on Canvas.

  • In your repos: code, SPEC.md, TESTS.md, PROMPTS.md, AGENTS.md, SECURITY_CHECKLIST.md, README.md, and screenshots of your app with made-up data.
  • On Canvas only: reflections, exit tickets, your personal AI-use rules, the signed safety contract, self-assessments, written peer reviews, a pair's signed contribution statement, the capstone pitch, and your project submissions.
  • Never commit grades, feedback, reflections, classmates' real names (use GitHub usernames), your student ID or anyone's real personal data.

The reasons, and the University policies behind them, are in Privacy of your work.

Naming conventions ​

Consistent names make your work easy to find, grade and show off.

ThingConventionExample
Home page repoExactly [username].github.io (GitHub requires this)adalovelace.github.io
Project 1, AI micro-app and capstone reposNamed after what the app doesplant-tracker, fridge-chef, study-buddy
Course documentsExactly these names, at the top level of the repo: README.md, SPEC.md, TESTS.md, PROMPTS.md, AGENTS.md, SECURITY_CHECKLIST.mdSPEC.md, not spec-final-v2.md
Images and other supporting filesIn a docs/ folderdocs/wireframe.jpg, docs/screenshot.png
Commit messagesStart with a verb and say what changed. If AI helped, end with an Assisted-by: [tool] line (taught in week 2, required from week 6)Add delete button to each task
Branches (week 6 on)feature/[short-name] or fix/[short-name]feature/weekly-chart
Final release (week 8)A GitHub release tagged v1.0v1.0

Repo names use lowercase letters, numbers and hyphens only. No spaces, and nothing personal such as your birth year or student ID. If you like, add a prefix such as capstone- to keep your list of repos tidy.

Templates and starters ​

How to submit ​

Do this for every project deadline.

  1. Save everything to GitHub. Commit your work, then open your repo on github.com and check that your latest commit is there.

  2. Test the live site as a stranger would. Open the live URL in a private (incognito) window. If it only works on your computer, it isn't done.

  3. From week 5 (Vercel): use the production URL and take a screenshot. The production URL is your app's main, permanent address (for example https://fridge-chef.vercel.app), not a long preview link: Vercel deletes old preview deployments. Take a screenshot of the production site working.

  4. Copy the link to your final commit. On your repo page on GitHub, open the commit history (the clock icon or "N commits"), click the top commit, and copy the address from the browser bar. Menus move; if you can't find it, ask your chat assistant "How do I get the link to a specific commit on GitHub?"

  5. Submit on Canvas:

    • the repo URL;
    • the live URL (from week 5, the production URL and the screenshot);
    • the link to your final commit;
    • for the capstone final: the link to the v1.0 release and the demo video link.

    Reflections, peer reviews and other personal writing are separate Canvas assignments. They never go in the repo.

We grade the commit you submitted. You can keep working afterwards, but later commits only count if you resubmit before the deadline (or before your extended deadline if you use a grace token).

IMPORTANT

Keep project repos public unless you have a reason not to. GitHub Pages on a free account needs a public repo. A private repo is fine for the micro-app and capstone if it's on your personal account (Vercel's free plan can't deploy private repos owned by an organization) and you add your instructor as a collaborator. Public means anyone can read every file and every old commit, which is one more reason never to commit a secret.

Learning on your own? Add a link to each finished project on your home page. That list becomes your portfolio.

Materials CC BY 4.0 · Code MIT