North Star Artifacts¶
The 8 Portfolio Rungs · Mapped to Months¶
The portfolio ladder is the only external verification that learning happened. Everything else — lab notebooks, solved problems, understanding — is internal and invisible. These 8 artifacts are what you show, link, and reference when someone asks “what did you actually do for 9 months?”
Two rungs are hard gates: you do not reach M9 without them. The rest are proof layers that make the hard gates credible.
For full detail on each rung: 12_portfolio/ contains one file per rung with acceptance criteria, where to publish, and what signal each sends.
Portfolio Ladder Table¶
Rung |
Artifact |
Type |
Target Month |
Hard Gate? |
Where Published |
Signal Sent |
|---|---|---|---|---|---|---|
1 |
Complexity Audit |
Written analysis |
M2 (Sep 2026) |
No |
GitHub Gist or blog post |
Can analyze real code, not just textbook examples |
2 |
DS Library |
Code repository |
M4 (Nov 2026) |
No |
GitHub public repo |
Owns fundamentals; can implement from scratch |
3 |
Algorithm Visualizer Posts |
Written + visual series |
M4–M5 (Nov–Dec 2026) |
No |
Dev.to or personal blog |
Can explain algorithms to others; teaching = understanding |
4 |
LeetCode Milestone |
Problem-solving record |
M6 (Jan 2027) |
No |
LeetCode public profile |
100 Medium problems solved; verifiable timestamp |
5 |
Graph Algorithm Showcase |
Code + visual demo |
M8 (Mar 2027) |
No |
GitHub + short video |
Advanced graph work; closer to CP level |
6 |
DP Pattern Handbook |
Reference document |
M8.5 (Mar 20, 2027) |
🚨 YES |
GitHub + Codeforces blog |
Pattern-level DP fluency; rare artifact category |
7 |
Codeforces Rating |
Rated contest record |
M9 (Apr 27, 2027) |
🚨 YES |
Codeforces public profile |
Cannot be fabricated; timestamp-verified under pressure |
8 |
Capstone Showcase |
Synthesis write-up |
M9 (Apr 2027) |
No |
GitHub README + LinkedIn |
Ties the arc together; the portfolio entry point |
Rung Detail: Month Mapping¶
🔵 Rung 1 — Complexity Audit¶
File: 12_portfolio/01_rung1_complexity_audit.md
Target: Published by end of M2 (September 30, 2026)
What it is: A written analysis of 3-5 real code snippets (from your own work or open source) with formal Big-O derivation, edge case analysis, and improvement proposals.
Specificity gradient: Anyone can read a tutorial. You analyzed production code and named the complexity. That’s different.
Status tracker: [ ] Draft · [ ] Reviewed · [ ] Published · Link: ___
🔵 Rung 2 — Data Structures Library¶
File: 12_portfolio/02_rung2_ds_library.md
Target: Published by end of M4 (November 30, 2026)
What it is: A GitHub repository containing from-scratch implementations of: dynamic array, linked list (singly + doubly), stack, queue, hash table (with separate chaining + open addressing), min-heap, trie, union-find. Each with unit tests.
Specificity gradient: Not a copy-paste. Every implementation written by hand, tested, and committed with a message explaining what it is.
Status tracker: [ ] Repo initialized · [ ] ≥5 structures committed · [ ] All 9 complete · [ ] Tests passing · Link: ___
🔵 Rung 3 — Algorithm Visualizer Posts¶
File: 12_portfolio/03_rung3_algorithm_visualizer_posts.md
Target: 2+ posts published by end of M5 (December 31, 2026)
What it is: A series of written posts — on Dev.to, a personal blog, or GitHub docs — explaining one algorithm each with: the intuition, a worked example traced step by step, the code, and the “what most people get wrong” callout.
Specificity gradient: Explaining to an audience forces precision that solving alone never does. The Feynman test in written form.
Status tracker: [ ] First post published · [ ] Second post published · [ ] Third post (bonus) · Links: ___
🔵 Rung 4 — LeetCode 100 Medium Milestone¶
File: 12_portfolio/04_rung4_leetcode_milestone.md
Target: 100 Medium problems solved by end of M6 (January 31, 2027)
What it is: Your LeetCode public profile showing ≥100 Medium problems solved across arrays, strings, trees, graphs, and DP.
Specificity gradient: 100 Medium is the line most people talk about crossing and don’t. The timestamp is permanent. The public profile is verifiable.
Status tracker: [ ] 25 Medium · [ ] 50 Medium · [ ] 75 Medium · [ ] 100 Medium · Profile link: ___
🔵 Rung 5 — Graph Algorithm Showcase¶
File: 12_portfolio/05_rung5_graph_algorithm_showcase.md
Target: Published by end of M8 (March 26, 2027)
What it is: A GitHub repository or post demonstrating 3+ graph algorithms (e.g., Dijkstra on a real road network dataset, BFS solving a maze, union-find on a social network problem) with a short screen recording showing the output.
Specificity gradient: Static code gets ignored. A 3-minute video of BFS solving a visual maze is watched.
Status tracker: [ ] Repo initialized · [ ] 2 algorithms demo’d · [ ] Video recorded · [ ] Published · Link: ___
🚨 Rung 6 — DP Pattern Handbook (HARD GATE)¶
File: 12_portfolio/06_rung6_dp_pattern_handbook.md
Target: Published by March 20, 2027 (mid-S17). Non-negotiable.
What it is: A structured reference document covering 10+ DP patterns with: state definition, recurrence relation, base case, complexity, and 2-3 LeetCode problems per pattern. Published as a GitHub repository + Codeforces blog post.
Why it’s a hard gate: This document proves you understand DP at the pattern level, not the problem level. You cannot fake it. The writing process itself reveals gaps — which is the point.
Specificity gradient: Posting on Codeforces blog means a technically elite audience can validate it. If they find errors and comment, you fix them. That’s how you know it’s real.
Status tracker: [ ] Structure outlined · [ ] 5 patterns written · [ ] 10 patterns complete · [ ] Published on GitHub · [ ] Posted on CF blog · Links: ___
🚨 Rung 7 — Codeforces Rating ≥ 1200 (HARD GATE)¶
File: 12_portfolio/07_rung7_codeforces_rating.md
Target: ≥5 rated contests completed AND rating ≥1200 by April 27, 2027. Non-negotiable.
What it is: Your Codeforces public profile showing rated contest history with timestamps and a rating of Pupil (1200+) or above.
Why it’s a hard gate: This rung cannot be edited, backdated, or polished. The contest happened or it didn’t. The rating is what it is. It is the only rung in this portfolio where performance under real pressure is the artifact.
Realistic ceiling by M9: Pupil (1200+) floor · Specialist (1400–1600) realistic · low Expert (1600–1700) strong execution
Status tracker: [ ] Account created · [ ] First rated contest · [ ] 3 contests · [ ] 5 contests · [ ] Rating ≥1200 · Profile link: ___
🔵 Rung 8 — Capstone Showcase¶
File: 12_portfolio/08_rung8_capstone_showcase.md
Target: Published by April 27, 2027
What it is: A single GitHub README or blog post that synthesizes the 9-month journey: what you built, what you learned, what changed, the 6 published artifacts linked in one place. This is the portfolio entry point — the thing you link in a LinkedIn bio or share in a conversation.
Specificity gradient: This isn’t a “what I learned” listicle. It’s a structured showcase that links to verifiable artifacts. The reader can click every claim.
Status tracker: [ ] Draft written · [ ] All rung links confirmed live · [ ] Published · Link: ___
How to Track Progress¶
At the start of each month, open this file and update the status trackers. At the end of each sprint, check if any rung advanced. At M9 exit, every rung should have a live link in the status tracker.
If Rung 6 or Rung 7 are incomplete at M9: do not claim the pitch sentence. Extend the timeline by 4 weeks (buffer exists in the sprint design) and close the gate before calling it done.
Return to [02_sprint_calendar.md] · Next: [04_weekly_rhythm.md]