Course Project Overview
The course project is a key component of this course, accounting for 60% of your final grade. Working in teams of 2 to 4 students, you will design and build a full-stack web application that meaningfully applies technologies and concepts covered in the course.
The project is intended to go beyond simply assembling a set of features. It gives you an opportunity to make and justify architectural and technical decisions, integrate frontend and backend components into a coherent application, reason about data and state management, evaluate whether the application behaves as intended, and demonstrate that you understand and can explain the system your team has built.
Key Milestones
| Milestone | Due Date | Submission Method | Weight |
|---|---|---|---|
| Team Formation | Sunday, October 25, 2026 | Submit team member list via Quercus | |
| Project Proposal | Sunday, November 8 2026 | Upload Markdown file to Quercus | 15% |
| Confidential Team Health Check | Wednesday, November 18, 2026 | Complete a short Quercus Quiz (the link will be posted later through a Quercus Announcement) | |
| Project Introduction | Wednesday, November 25, 2026 | Submit a short written introduction (70–100 words) via Quercus | |
| Presentation Slides | Thursday, November 26, 2026 | Submit slides via Quercus | |
| Presentation | Lecture 11 (November 27, 2026) & Lecture 12 (December 4, 2026) | 10% (5% peer, 5% instructor & TAs) | |
| Final Project Deliverable | Sunday, December 6, 2026 | Submit GitHub repo URL via Quercus | 35% |
All deadlines are at 11:59 PM Toronto time on the due date.
Presentation slots will be randomly assigned and announced by Monday, November 2, 2026.
Project Structure
The project involves forming a team, proposing a stateful cloud-native application, presenting your work, and delivering a fully functional system. Key requirements include:
- Core Technologies: A modern web application stack using React or Next.js with Tailwind CSS and a component library (e.g., shadcn/ui), responsive UI design, relational data storage with PostgreSQL or SQLite, cloud-based file storage, and one of the following architectures: (1) a Next.js full-stack approach using the App Router with Server Components, API Routes, and Server Actions, or (2) a separated frontend–backend design with a React frontend and an Express.js backend exposing well-documented RESTful APIs.
- Advanced Features: Implement at least two (e.g., user authentication and authorization, real-time functionality).
- Deliverables:
- Proposal: A Markdown document outlining motivation, objectives, features, and plan.
- Presentation: An 8-minute in-class session consisting of a 6-minute project presentation followed by 2 minutes of Q&A, covering your project’s features and technical implementation.
- Final Deliverable: A GitHub repository with source code, a
README.mdas the final report, anai-session.mddocumenting 2–4 representative AI interactions when AI meaningfully influenced the project, or briefly noting little or no AI use otherwise, and a 2–5 minute video demo.
All deadlines are strict, and late submissions will not be accepted.
For private GitHub repositories, add the instructor and TAs as collaborators before the final deadline.
AI Usage for the Course Project
AI tools are permitted and may be used more flexibly in the course project than in assignments because the project emphasizes system design, integration, technical decision-making, and engineering judgment.
The recommended workflow is:
Think → Explore → Evaluate → Decide → Implement → Verify
Before substantial AI-assisted ideation or design, teams should first form their own initial understanding of the problem, possible technical approaches, and important uncertainties. AI may then be used throughout the project to explore alternatives, assist with well-scoped implementation, debug problems, suggest verification strategies, and support other technical work.
Your team remains responsible for evaluating AI input, making the final technical decisions, understanding the work you submit, and verifying anything the project relies on. Larger AI contributions require correspondingly stronger review, testing, and explanation.
This process is reflected in:
- Initial Team Reasoning and AI-Assisted Exploration in the project proposal
- 2–4 representative AI interactions in
ai-session.md - The technical reasoning, verification, and evidence presented throughout the final deliverable
Your grade is based on the quality of the system and your team’s technical reasoning, engineering judgment, understanding, and verification — not on how much or how little AI you use.
See AI Use in the Course Project for the full project-specific expectations, or the AI Usage Policy Overview for the course-wide principles and links to examples.
Additional Information
- See Course Project Guidelines for detailed requirements and marking rubrics.
- See Presentation Guidelines for project presentation expectations and guidelines.
- See Presentation Logistics for instructions on in-class project presentations.
- See Presentation Rubric for presentation grading details.
- See Common Questions for frequently asked questions about the course project.