Capstone Projects¶
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¶
- Read the project brief in the capstone's
README.md. - Fill out the design prompts in
notes.mdbefore writing any code. - Design your architecture. Consider writing an
ARCHITECTURE.mddocument. - Implement the solution. There is no starter code — you build from scratch.
- Write tests. Aim for meaningful coverage of your core logic.
- Write a retrospective in
notes.mdreflecting 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.