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]