Choosing and scoping a project
Why it matters The capstone is the piece of work you can point to and say "I built that, and it was checked". A small project that is finished and passes says far more about you than a grand one that is half done. Choosing well, and drawing tight edges around the work, is most of what makes it finish.
A capstone is the last stone set at the top of an arch: it holds the rest together. In this course it is one project where you use what you learned in the legs before, on your own, without step-by-step instructions.
Capstone: one final project that pulls together the skills from the earlier legs. In this course you pick one of six, and finishing any one of them clears Leg 8.
Scope: the edges of what you promise to do. Like the fence around a garden: what is inside gets done properly, what is outside is not your job this time.
The six projects
Leg 8 needs Legs 1 to 4 only, so a learner who did the core can finish the course. Two of the projects (D and E) also need the deep half, Legs 5 to 7, because they build on what those legs teach.
| Project | What you do | What it shows | Needs |
|---|---|---|---|
| A. Privacy audit | Audit a hidden practice site end to end: trackers, cookies, CSP, third parties, and what its policy says versus what it does | You can review a site the way a careful privacy reviewer would | Legs 1 to 4 |
| B. Blocker challenge | Extend the blocker you built in Leg 2 and score it on a hidden practice world | You can write a filter that stops trackers without breaking pages | Legs 1 to 4 |
| C. Cookie-free analytics | Count visits and pages with no personal data at all | You can give a site owner useful numbers without tracking anyone | Legs 1 to 4 |
| D. Research study | Extend your Leg 7 crawler to answer a question you choose about the simulated web | You can measure something carefully and report it honestly | All seven legs |
| E. Build a privacy technology | A working Private Set Intersection or secure aggregation in the practice world | You can build a protocol that is correct and leaks nothing extra | All seven legs |
| F. Any language | Rebuild B, C or E in the language you use at work | You can carry these ideas into your own stack | Same as the project you rebuild |
CSP is the Content Security Policy from Leg 3: a header that tells the browser which scripts a page may run. Two more terms in that table come from the deep half (Leg 7), so here they are in plain words. Private Set Intersection lets two parties find the items their lists share without showing each other the rest. Secure aggregation lets a group learn a total without anyone seeing a single person's number.
Three questions to choose by
- What do you want to show? If you build websites, A or C maps straight onto your work. If you want to show engineering, B or E. If you want to show research, D. If your job is in JavaScript, Go, C# or another language, F lets you prove it there.
- What have you finished? If you did the core only, choose from A, B, C, or F rebuilding B or C. That is a full, fair finish, not a lesser one.
- How much time do you really have? Be honest with yourself. A project you can finish in the evenings you actually have beats one that needs weeks you do not.
Scoping: draw the fence before you dig
Before writing any code, write a short scope card. It has four parts, and it fits on one screen.
- Goal, in one sentence: what the finished project does.
- Must have: the few things the grader checks. Nothing else goes here.
- Nice to have: extras you will only start once every must-have passes.
- Not doing: things you are deliberately leaving out. Writing them down stops them creeping back in.
Here is a scope card for project C on the practice shop shopa.example:
Goal: Daily page-view counts for shopa.example with no personal data.
Must have: counts per page per day; no IDs, IPs or cookies stored;
the report file in the exact shape the project asks for.
Nice to have: a count of which site sent the visitor (referrer site only).
Not doing: charts, a dashboard, per-visitor paths.
Notice what is in "Not doing". Per-visitor paths would need some way to recognise the same visitor twice, which is the very thing project C is about avoiding. Good scope keeps you honest about your own goal.
A common misconception
"A bigger project gets a better result." It does not. The grader checks whether your output is correct on a world you have not seen. Extra features earn no extra marks, and every extra feature is one more place for a bug. Get the must-haves passing first; then decide whether the extras are worth it.
Try it Pick one project now, even if you might change your mind. Write its scope card in a plain text file or on paper: one goal sentence, three to five must-haves, one or two nice-to-haves, and at least two "not doing" items. Keep it beside you for the next two lessons.
Recap
- You choose one of six projects; finishing any one clears Leg 8.
- A, B and C need only the core; D and E need the deep half; F rebuilds B, C or E in your own language.
- Choose by what you want to show, what you have finished, and the time you really have.
- Write a scope card (goal, must have, nice to have, not doing) before any code, and finish the must-haves first.
This lesson is locked
Lessons open one at a time. Finish the previous lesson to unlock this one.