In plain words
Your README is often the first and only thing a hiring manager reads, usually for about two minutes. Open with what the project does and the proof it works (a demo, a GIF, the key numbers), then explain how it's built and the choices you made, and finish with honest limitations.
A shop window: the best product, its price tag and a 'try me' sign up front; the stockroom inventory goes at the back.
In detail
Structure: one-sentence summary; a GIF or screenshot and live demo link; results (eval table, cost per request, latency); architecture diagram; key design decisions with tradeoffs; how to run it; limitations and next steps.
Write for a reader with two minutes. Numbers and visuals near the top; implementation details further down.
Honesty is a feature: 'faithfulness 0.91 on 150 questions; fails on multi-hop questions spanning several documents' is more credible than 'highly accurate'.
Worked example
Rewriting the top of a README
- Before: 'A RAG system for HR policies built with Python and LangChain.' It tells the reader nothing about quality.
- After: 'Answers HR policy questions with citations. Faithfulness 0.91 on 150 questions, p95 latency 2.3 s, 0.004 USD per query.'
- Directly under that: a live demo link and a 10-second GIF.
- Then the results table, an architecture diagram and 'Design decisions' (for example: pgvector over Qdrant, and why).
- Last: how to run it, plus 'Limitations: struggles with questions spanning several documents.'
What it does and the proof first; how and why next; honest limits last.
Common mistakes
- Opening with installation steps or the tech stack instead of what the project does and how well.
- Vague claims ('highly accurate') with no numbers to back them.
Check yourself
Why include limitations in a portfolio README?Show answer
They show you measured the system and understand it. Specific honesty is more credible than vague praise, and reviewers trust the rest more.
What goes in a 'Design decisions' section?Show answer
Three to five key choices, each with the rejected alternative and the reason, which shows engineering judgement.
Going deeper
Add a 'Design decisions' section with 3–5 choices and their rejected alternatives ('pgvector over Qdrant because…'). Reviewers look for judgement, and this is where it shows.
Best resources for this lesson
- ArticleMake a README