AI-Powered Reading Workflow: Process More Content
Use AI to process more books, articles, and papers in less time. A complete AI reading workflow with tools, prompts, and capture strategies.
Developer Productivity
Build a debug journal practice to solve programming problems faster. How writing while debugging surfaces solutions and builds pattern recognition.
You're debugging.
There's a bug.
You don't know what's wrong.
You try something.
Doesn't work.
You try something else.
Still doesn't work.
You're thrashing.
The fastest debuggers aren't the ones who know most.
They're the ones with the best process.
And that process starts with writing.
When you write down what you're trying, what you're seeing, and why you think it's happening, you solve the problem faster.
This guide covers building a debug journal practice.
When you're panicked, you thrash.
Try thing. Fail. Try thing. Fail.
Writing forces you to slow down.
"What exactly am I seeing?"
"What am I assuming?"
Often, writing surfaces the wrong assumption.
Your brain has limited working memory.
You remember 3–4 things simultaneously.
Bug has 10 relevant pieces.
Your brain is overloaded.
Writing externalizes thinking.
Now you can reference it instead of holding it.
You're stuck in a loop.
You write it down.
Reading your own words: "Wait, that doesn't make sense."
Writing surfaces contradictions.
You debug.
You write what you discovered.
Next bug in similar area?
You have context.
You solve it faster.
Your bug is usually someone else's future bug.
Written journal → Sharable knowledge.
Team learns patterns without making mistakes themselves.
Use this template every time you hit a non-trivial bug:
Date: [YYYY-MM-DD]
Time Spent: [Start time - end time]
Severity: [Critical / High / Medium / Low]
[What did you observe? Error message? Behavior?]
[What did you think it was?]
Attempt 1:
Attempt 2:
Attempt 3:
[What was actually wrong?]
[How did you fix it?]
[Code or command that fixed it]
[Why did this happen? What will prevent it next time?]
[Similar bugs or gotchas to watch for]
Total Time: [XX minutes]
---
Date: 2025-02-15
Time Spent: 14:30 – 15:15 (45 minutes)
Severity: High
Users reporting they get logged out after 5–10 minutes of activity.
Error: "Session expired. Please login again."
Expected: 30-minute session timeout.
Session TTL too short in Redis configuration.
Attempt 1:
Attempt 2:
Attempt 3:
Attempt 4:
Refresh token TTL was set to 10 minutes, shorter than session timeout of 30 minutes.
When session tried to refresh, refresh token was already expired.
Result: User logged out even though session should have been valid.
Changed refresh token TTL from 10 minutes to 1 hour.
const REFRESH_TOKEN_TTL = 1 * 60 * 60; // 1 hour
const SESSION_TTL = 30 * 60; // 30 minutes
Deployed to production.
Refresh token TTL should ALWAYS be longer than session TTL.
Otherwise, session can't be renewed.
This is a pattern we need to document and test for.
Total Time: 45 minutes
---
Rule of thumb: If you spent 5+ minutes debugging, journal it.
Setup:
docs/
├── debug-journal.md
Entry example:
# Debug Journal
... entry ...
... entry ...
**Pros:** Simple, searchable, in version control
**Cons:** No special formatting
### Tool 2: Notion Database
**Properties:**
- Bug Title
- Date
- Severity
- Root Cause
- Solution
- Time Spent
- Tag (area of code)
- Related Bugs
**Workflow:**
1. Create new entry when you start debugging
2. Add attempts as you go
3. Complete entry when fixed
4. Search by tag for patterns
**Pros:** Beautiful, searchable, organized
**Cons:** Takes time to set up
### Tool 3: GitHub Issue (With Label)
**Setup:**
1. Create GitHub issue: "BUG: [Title]"
2. In issue description, add debug process
3. Label as "debug-journal"
4. Close when fixed
**Pros:** Integrated with code, visible to team
**Cons:** May be too formal for internal debugging
### Tool 4: Simple Slack Thread
**Setup:**
1. Create Slack thread in #dev-journal channel
2. Add attempts as replies
3. Summarize solution at end
**Pros:** Team can see it, can discuss
**Cons:** Not well-organized, easy to lose
---
After 20 entries, you'll see:
These are signals. Document them.
Certain parts of codebase generate lots of bugs.
Signal: Documentation is insufficient.
Write docs or refactor the code.
You develop techniques through practice.
"Add logging here first."
"Always check the error logs before assumptions."
Document your best techniques.
New engineer reviews debug journal entries.
Sees common gotchas.
"Oh, I need to clear cache after deployments."
Avoids first bug.
Reviewer reads debug journal.
Asks: "Should we add a test for this?"
Prevents future bugs.
Team sees everyone's bugs.
Common patterns emerge.
Team decides: "Let's add a linter rule for this."
Debug journal becomes searchable knowledge base.
"I had this error before. Let me search."
Track: How long does bug take to solve?
Compare pre-journaling vs. post-journaling.
Expected: 20–30% faster after building pattern knowledge.
Track: How many times does same bug occur?
With journaling, reduces dramatically (reference old entry, solve instantly).
Track: How often do you reference old entries?
Writing while debugging makes you faster.
Debug Journal Template:
How to start:
In 3 months:
For developer notes, see Developer Notes System. For productivity, check Developer Productivity Guide.
More WebSnips articles that pair well with this topic.
Use AI to process more books, articles, and papers in less time. A complete AI reading workflow with tools, prompts, and capture strategies.
Unlock the 80% of Chrome DevTools most developers never use. Hidden features, advanced techniques, and power workflows for front-end and full-stack developers.
Build a developer productivity system optimized for deep work and flow.
Manage your developer reading list without backlog paralysis. A triage system for technical articles, papers, and documentation that maximizes learning.
Build systematic technical knowledge sharing in your engineering team. Covers code review, pairing, documentation, talks, and tooling for team learning.
Automate content discovery and curation with AI. Build a personalized knowledge feed that surfaces relevant content without manual searching.