Skip to content

Capstone Projects

Home

Overview

Capstone projects are open-ended challenges where you define the architecture and implementation yourself. Unlike the structured projects in levels 0-10, these briefs give you a problem domain and requirements but leave the design decisions to you.

Prerequisites

Complete Level 5 or higher before attempting these capstones. You should be comfortable with:

  • Application architecture and module organization
  • File I/O and data persistence
  • Testing strategies (unit tests at minimum)
  • Error handling and logging
  • Virtual environments and dependency management

Capstones

# Project Domain Complexity
01 Personal Finance Tracker Data management, CLI, reporting Medium
02 API Aggregator HTTP clients, caching, data normalization Medium-High
03 Task Automation System File watching, plugins, configuration High

How Capstones Work

  1. Read the project brief in the capstone's README.md.
  2. Fill out the design prompts in notes.md before writing any code.
  3. Design your architecture. Consider writing an ARCHITECTURE.md document.
  4. Implement the solution. There is no starter code — you build from scratch.
  5. Write tests. Aim for meaningful coverage of your core logic.
  6. Write a retrospective in notes.md reflecting on your design decisions.

What Makes Capstones Different

In the level projects, the README tells you exactly what to build and often how. Capstones give you the "what" but leave the "how" entirely to you. There is no single correct answer. Two learners can build the same capstone with completely different architectures and both be right.

The design prompts in notes.md are there to help you think through decisions before coding. Fill them out honestly — they are for your benefit, not for grading.

Evaluation

Use the Capstone Submission Template in curriculum/50_CERTIFICATION_GRADE_COMPLETION_PROTOCOL.md to prepare your submission. Capstones are evaluated on design quality and tradeoff reasoning, not just correctness.