"The illusion that communication happened" — Shaw, updated for 2026: “the code exists somewhere” is not a portfolio. Strangers—admissions, mentors, future you at 2 a.m.—need a clear path from curiosity to running project.
Relatable: Cool project, README still “TODO,” repo named final-FINAL, screenshot is half traceback. This module fixes signal.
Spread work across a week—one upgrade per day beats Sunday panic.
Learning Objectives
By the end of this module, you will be able to:
- Shape a GitHub profile + profile README that sounds human.
- Structure repos: name,
.gitignore, optionalLICENSE, zero secrets. - Write READMEs strangers can follow in <15 minutes.
- Curate a showcase link hub (Notion, Carrd, Google Site, etc.).
- Connect projects to essays and interviews with specific stories.
- Keep handles and bios consistent without cringe-performance.
1. GitHub: Workshop, Not Trophy Case
| Do | Don’t |
|---|---|
| Username you won’t cringe at on supplements | Commit .env, passwords, keys |
| Pin 2–4 strong repos | Pin empty hellos forever |
| README even on small projects (when allowed public) | Post graded solutions your teacher must keep private |
Fun Fact: Green squares aren’t a moral score—one meaningful month beats a year of empty “update readme” spam.
Try This! Repo hello-readme-practice: one file + README → clone → edit → commit → push. Delete after if you want—it’s rehearsal.
2. Profile README
Create repo named exactly your GitHub username; put README.md on default branch.
Sections to customize: who you are in one line; currently learning (3 bullets); featured projects with one sentence each; values; contact you actually check.
Concept: “I graph study minutes vs mood” beats generic “AI enthusiast” wallpaper.
Activity: Read three one-line bios aloud—which sounds like you on a good day?
3. README Anatomy
Include: what/why; how to run (Python version, install, env copy); example input/output; limits & bugs (maturity signal); ethics/data note; next steps; license choice on purpose.
Try This! Swap READMEs with a peer—each circles three confusing lines.
4. Screenshots and GIFs
| Format | Use |
|---|---|
| PNG | Charts, UI, tree |
| Short GIF | CLI flow |
| Unlisted video | Heavy setup |
Crop hard—nobody needs your whole bookmark bar to understand a histogram.
5. Showcase Page
Sections: About (two sentences); Projects (three cards: one line + repo + optional demo); Now (this month’s focus). Quarterly dead-link check.
Try This! Add one Module 07 chart image—does the page still load fast?
6. Brand Without Cringe
Brand = consistent handle + tone—not anxiety theater.
| Platform | Role |
|---|---|
| GitHub | Code + docs |
| Optional older teens | |
| Blog / Dev.to | Longer write-ups |
Discussion: What would cross into fake persona for you? Write two boundaries (e.g., no inflated team role).
7. Essays and Interviews — STAR-lite
Situation → Task → Action → Result with your slice named.
Try This! 150-word micro-essay on one project—no paste from chat. Optional: AI suggests stronger verbs—you choose.
8. .gitignore and Secrets
Never commit: .env, venvs, huge datasets, others’ personal info, proprietary school PDFs.
Try This! Search folder for sk- and API_KEY—celebrate zero in tracked files.
If leaked: revoke key; new repo or advanced history rewrite with mentor help.
9. Open Source Vocabulary
License (what others may do) · Fork · Pull request · Issue
Try This! Read choosealicense summaries for MIT vs Apache—one paragraph which you’d pick for a club tool.
10. Feedback That Improves Work
Ask: “What’s confusing in the first 60 seconds?” beats “Is this good?”
Fun Fact: “Install worked on my Mac” is gold feedback—specific beats vague hype.
11. Design Polish (Zero Budget)
One font family, one accent color, whitespace, left-align long text, alt text when platforms allow.
12. Interview Sound Bites (Say Them Aloud)
Hardest bug; two-week improvement plan; ethical AI use on the project; collaborator + your ownership.
Concept: “I mixed up string 2 and int 2” beats vague “I learned debugging.”
13. When to Stay Private
| Green | Yellow | Red |
|---|---|---|
| Your scripts + synthetic data | Group repo—get consent | Graded solutions |
| Anonymized charts | Faces/names without OK | Others’ essays |
14. Commits Tell a Story
| Weak | Better |
|---|---|
fix | Fix mood chart off-by-one |
asdf | Add sample CSV + install steps |
Try This! End three sessions with one commit that touches only README or only code—not both.
15. Branches (Lightweight)
main stays demoable; experiment/... for risky ideas; merge when green.
Practice Challenges
Profile README glow-up; README rescue + one GIF; showcase v1 with three projects; accessibility pass on links; dead-link hunt; LICENSE pick on one repo; stranger test on README timing.
Your Challenge
Public Builder Packet: live profile README; two repos with strong README + screenshot/chart each; short article or slides (problem → approach → result → failure); showcase URL linked both ways from GitHub.
Rubric: Stranger runs one project in <15 minutes from docs alone?
Key Takeaways
- Portfolios = proof + explanation.
- README = UX for code.
- Media multiplies understanding.
- Consistent handles reduce friction.
- Secrets stay out of
git.
Key Takeaway
- Treat every README as onboarding a tired stranger—usually future you.
- Screenshots/GIFs are not decoration; they’re comprehension shortcuts.
- Honest known bugs + next steps read as mature, not weak.
- Commit messages and small scopes make history a story, not a mystery.
- Match public exposure to school rules and consent—private repos exist for a reason.
Going Further
GitHub Skills courses on PRs; Module 09 before posting people-data; one short mentor email with one specific question.
Document like a kind stranger might run your code at midnight—that stranger is you.