The Problem
You Forget 80% of Your Work
Research shows developers forget the specifics of their work within weeks. By the time performance reviews roll around, you’re left with vague memories like “I worked on the authentication system” instead of concrete achievements like “Reduced auth failures by 60% through distributed locking.”Git History is Cryptic
Brag Documents Require Discipline
Some developers maintain “brag docs”—manual logs of their achievements. But:- You forget to update them
- They require discipline you don’t have time for
- They’re retroactively painful to fill in
- There’s no structure or templates
The repr Solution
repr solves this by treating your git history as your career diary. It’s already there. It’s already complete. It just needs translation.How It Works
- Point repr at your code — Scan your repos once
- Install hooks (optional) — Automatically capture commits as you work
- Generate stories — LLM reads commits and creates professional narratives
- Review and curate — Polish your best work, feature it on your profile
- (Optional) Publish — Share publicly or keep private
vs. Alternatives
vs. Manual Brag Documents
| Manual Brag Docs | repr |
|---|---|
| ❌ Requires daily discipline | ✅ Automatic (via git hooks) |
| ❌ Easy to forget to update | ✅ Retroactive—works on existing history |
| ❌ No structure | ✅ Professional templates (resume, interview, changelog) |
| ❌ Time-consuming to maintain | ✅ Set-and-forget after initial setup |
| ❌ Hard to quantify impact | ✅ LLM extracts metrics from commits |
vs. GitHub Commit History
| GitHub History | repr |
|---|---|
| ❌ Cryptic commit messages | ✅ Professional narratives with context |
| ❌ No grouping or themes | ✅ Groups related commits into stories |
| ❌ Not interview-ready | ✅ STAR-format stories for behavioral questions |
| ❌ Technical jargon | ✅ Multiple templates for different audiences |
| ❌ No privacy control | ✅ Local-first, you control what gets shared |
vs. LinkedIn “Update Resume” Panic
| End-of-Year Scramble | repr |
|---|---|
| ❌ Try to remember 12 months of work | ✅ Run repr generate --since "1 year ago" |
| ❌ Estimate impact (“probably improved speed?”) | ✅ LLM extracts actual metrics from code |
| ❌ Miss your best stories | ✅ Feature your top work, export instantly |
| ❌ 3-4 hours of archaeology | ✅ 30 minutes of review and polish |
vs. ChatGPT + Copy-Pasting Commits
| Manual ChatGPT | repr |
|---|---|
| ❌ Copy-paste 50 commits manually | ✅ Automatic batch processing |
| ❌ No templates or structure | ✅ Built-in templates (resume, interview, etc.) |
| ❌ No privacy (OpenAI sees your code) | ✅ Local LLMs or your own API keys |
| ❌ No storage or versioning | ✅ Stories saved locally as Markdown |
| ❌ Repeat process for each repo | ✅ Track multiple repos, generate in bulk |
ROI: Time Savings
repr saves you hours every quarter. Here’s the math:Interview Prep
Without repr:- Dig through git history: 1 hour
- Read old PRs and commits: 1.5 hours
- Write STAR stories manually: 1.5 hours
- Total: 4 hours
- Generate stories: 5 minutes
- Review and polish: 25 minutes
- Total: 30 minutes
Performance Review (Quarterly)
Without repr:- Try to remember 3 months of work: 2 hours
- Search Jira/Slack for context: 1 hour
- Write impact statements: 2 hours
- Total: 5 hours
- Generate stories: 3 minutes
- Review and edit: 20 minutes
- Total: 23 minutes
Weekly 1-on-1s
Without repr:- Try to remember what you did this week: 10 minutes
- Vague answers like “worked on auth stuff”: Unprepared ❌
- Generate summary: 30 seconds
- Show up with specifics: Prepared ✅
Sprint Demos
Without repr (team of 5):- Ask everyone what they shipped: 15 minutes
- Compile into slides: 15 minutes
- Total: 30 minutes (but often more chaos)
- Generate summary: 2 minutes
- Copy to slides: 3 minutes
- Total: 5 minutes
Annual Total Savings
Assuming you:- Prep for 2 interviews per year: 7 hours saved
- Do 4 quarterly reviews: 18.4 hours saved
- Have 50 weekly 1-on-1s: 8.3 hours saved
- Do 26 sprint demos (if you’re a lead): 10.8 hours saved
When repr Really Shines
1. Interview Season
You’ve got a final round at a top company. They’re going to ask behavioral questions like:- “Tell me about a time you solved a complex technical problem”
- “Describe a situation where you had to make trade-offs”
- “How do you handle tight deadlines?”
2. Performance Review Time
Your manager asks for a self-review covering the last 6 months. You have 3 days to write it. Without repr: Frantically search git logs, Jira, Slack. Miss half your best work. Submit something mediocre at 11:59pm. With repr:3. Switching Jobs
You need to update your resume. You haven’t touched it in 2 years. You have no idea what to write. Without repr: Stare at LinkedIn, try to remember projects, write vague bullets like “worked on backend systems.” With repr:4. Leading a Team
You’re an engineering manager with 6 direct reports. It’s 1-on-1 week. You need to come prepared with specific examples of each person’s work. Without repr: Vague feedback like “you’ve been doing great on the API” or “keep up the good work.” With repr:Privacy-Sensitive Industries
If you work in defense, healthcare, finance, or any compliance-heavy industry, repr is designed for you:Air-Gapped Environments
- ✅ Zero network calls
- ✅ Code never leaves your machine
- ✅ Passes security audits
BYOK (Bring Your Own Key)
- ✅ Your API key, your costs
- ✅ Calls go directly to OpenAI, not repr.dev
- ✅ Keys stored in OS keychain, not config files
Privacy Audit
Who Uses repr?
- Individual Contributors — Interview prep, performance reviews, career documentation
- Engineering Managers — Team summaries, 1-on-1 prep, performance reviews
- Tech Leads — Sprint demos, release notes, stakeholder updates
- Defense/Healthcare/Finance — Air-gapped story generation for sensitive work
- Job Seekers — Resume building, interview prep, portfolio creation
The Bottom Line
You already did the work. You already committed the code. repr just helps you remember and articulate what you built.- Time saved: 40+ hours per year
- ROI: Positive after the first use
- Privacy: Local-first, you control everything
- Cost: Free (if using local LLM)

