← Build log

The Backlog Paradox: Why I Created 38 GitHub Issues I'll Probably Never Do

January 2025
ProductStrategyBacklogManagementSoloBuilderShipQuicklyGitHubIssuesPragmatic

Moving from markdown files to GitHub Issues taught me that the best backlog management strategy is knowing when NOT to track things

Published: January 2025
Tags: #ProductStrategy #BacklogManagement #SoloBuilder #ShipQuickly #GitHubIssues #Pragmatic


The “So What?” - Stop Building Issue Black Holes

Bottom Line Value: Learn when to track issues and when to just ship - so you can maintain visibility without drowning in a backlog you’ll never complete.

What You’ll Gain:

  • A framework for deciding what deserves to be tracked vs. what to let go
  • The principle: “If it’s a good idea, it will come back on its own”
  • Real example: Migrating 38 issues from markdown to GitHub (and why that’s okay)
  • Understanding the difference between visibility and commitment
  • ROI: Stop wasting hours managing backlogs and start shipping features

Who This Helps: Solo builders and small teams who struggle with backlog bloat and decision paralysis about what to build next.

Why Bother: Every hour you spend organizing a backlog of ideas you’ll never build is an hour you’re not spending shipping features that matter. This framework helps you maintain just enough organization to stay focused without creating a black hole of unfinished ideas.


TLDR: Track for Visibility, Not Commitment

I just migrated 4 markdown files into 38 GitHub Issues. Here’s what I learned:

The Migration:

  1. Before: 4 markdown files with bugs and enhancement ideas (invisible, unsearchable, untrackable)
  2. After: 38 GitHub Issues (2 bugs + 36 enhancements) with proper categorization and labels
  3. The Paradox: I’ll probably never do most of them - and that’s perfectly fine

The Principle:

“If it was a good enough idea, it will come back on its own. Don’t create black holes full of issues you’ll never actually do.”

The Framework:

  • ✅ Track it - Blocking users NOW, clear next step in roadmap
  • ❌ Let it go - “Nice to have” idea, anxiety-driven, speculative future need
  • 🚀 Ship instead - Don’t wait for the backlog to be empty

The Result: Better visibility and organization without the commitment anxiety of a massive backlog.


The Problem: Markdown Files Are Invisible (But Backlogs Become Black Holes)

Here’s the journey every solo builder takes:

Phase 1: The Markdown File Era

What It Looks Like:

docs/
  project-tasks.md          (247 lines of TODOs)
  product-roadmap.md        (2,287 lines of ideas)
  refactoring-recommendations.md
  bin/audio-capture/ROADMAP.md

The Problems:

  • ❌ Invisible: No one sees these files except you
  • ❌ Unsearchable: Can’t filter by priority, status, or category
  • ❌ Unlinkable: Can’t reference from PRs or commits
  • ❌ Untrackable: No way to see progress or completion
  • ❌ Unorganized: Everything mixed together in one giant file

The Anxiety:

“I have all these great ideas documented, but I can’t remember what’s important, what’s done, or what I should work on next.”

Phase 2: The GitHub Issues Migration

What I Did:

  • Explored all markdown files for bugs and enhancements
  • Created 38 GitHub Issues with detailed descriptions
  • Added proper labels (bug/enhancement, priority levels, components)
  • Categorized everything with strategic value and effort estimates

The Result:

  • ✅ Visible: Anyone can see the backlog
  • ✅ Searchable: Filter by label, priority, component
  • ✅ Linkable: Reference from PRs and commits
  • ✅ Trackable: See progress and completion
  • ✅ Organized: Clear categorization and prioritization

The New Anxiety:

“Now I have 38 issues in my backlog. Will I ever do all of these? Should I? What if I never get to them?”


The Paradox: Why Tracking Everything Means Shipping Nothing

Here’s the uncomfortable truth about backlogs:

The Product Manager’s Trap

The Behavior:

  1. Document every idea that comes up
  2. Create detailed issues with acceptance criteria
  3. Organize into epics and milestones
  4. Prioritize and re-prioritize constantly
  5. Feel productive because the backlog is “organized”
  6. Never actually ship anything

The Result:

  • 200+ issues in the backlog
  • 80% will never be done
  • Constant anxiety about “falling behind”
  • Decision paralysis about what to work on next
  • Shipping velocity approaches zero

The Question: If you’re never going to do 80% of your backlog, why are you spending time organizing it?

The Engineer’s Trap

The Behavior:

  1. See a potential improvement
  2. Create an issue to “track it for later”
  3. Feel good about being thorough
  4. Never actually work on it
  5. Repeat 100 times
  6. Backlog becomes a graveyard of good intentions

The Result:

  • Hundreds of “nice to have” issues
  • No clear signal about what actually matters
  • Guilt about not working on “important” issues
  • Shipping velocity slows down

The Question: If creating the issue makes you feel productive, but you never work on it, what’s the point?


The Principle: “If It’s a Good Idea, It Will Come Back”

Here’s the liberating truth I learned from experienced product leaders:

The Principle

“If it was a good enough idea, it will come back on its own.”

What This Means:

  • Good ideas resurface naturally when they’re actually needed
  • If you forget about an idea, it probably wasn’t that important
  • User pain points will make themselves known
  • Real problems don’t need to be tracked - they demand attention

What This Doesn’t Mean:

  • ❌ Don’t track anything (chaos)
  • ❌ Ignore user feedback (arrogance)
  • ❌ Never plan ahead (reactive)

What This Does Mean:

  • ✅ Track what matters NOW
  • ✅ Let go of speculative future needs
  • ✅ Trust that real problems will resurface
  • ✅ Ship quickly instead of waiting for perfection

Real-World Example

The Scenario:

I created Issue #40: “Intelligent Transcript Organization with AI Summarization”

The Details:

  • Automatic summary generation for hour+ transcripts
  • Chapter detection and navigation
  • Speaker identification
  • 4-6 weeks of effort
  • Very high business value (enterprise market)

The Question:

“Should I work on this now?”

The Answer:

No. Here’s why:

  1. No users asking for it - This is speculative future need
  2. No current pain point - Users aren’t complaining about long transcripts
  3. High effort, uncertain ROI - 4-6 weeks for a feature that might not matter
  4. Better things to ship - Critical bugs and high-impact features first

The Principle in Action:

If enterprise users actually need AI summarization, they’ll tell me. If they don’t ask for it, I just saved 4-6 weeks of development time.


The Framework: When to Track vs. When to Ship

Instead of tracking everything, use this decision framework:

Decision Matrix

TRACK IT (Create GitHub Issue):

  1. Blocking users NOW

    • Critical bugs affecting production
    • High-priority user requests
    • Security vulnerabilities
    • Example: Issue #7 - Settings persistence bug (CRITICAL)
  2. Clear next step in roadmap

    • Directly supports current product strategy
    • Dependencies for other features
    • Infrastructure improvements needed soon
    • Example: Issue #17 - E2E testing (enables confident shipping)
  3. Recurring pain point

    • You’ve hit this problem 3+ times
    • Users mention it repeatedly
    • Clear pattern of need
    • Example: Issue #28 - Session list pagination (performance issue)

LET IT GO (Don’t Track):

  1. “Nice to have” ideas

    • Speculative future features
    • No current user demand
    • Uncertain ROI
    • Example: Most of the 36 enhancements I created
  2. Anxiety-driven development

    • “What if someone needs this?”
    • “This could be a problem someday”
    • No evidence of actual need
    • Example: Edge cases that haven’t happened
  3. Premature optimization

    • Performance improvements without metrics
    • Refactoring without pain points
    • “Clean code” for its own sake
    • Example: Optimizing code that runs once per day

SHIP INSTEAD (Take Action Now):

  1. Quick wins

    • Can be done in <2 hours
    • High user impact
    • Low risk
    • Example: Fix critical bug, ship immediately
  2. User-requested features

    • Clear demand from users
    • Solves real pain point
    • Reasonable effort
    • Example: Feature requested by 3+ users
  3. Blocking your own workflow

    • You need this to be productive
    • Slowing down development
    • Clear ROI
    • Example: Development tooling improvements

The 5-Minute Triage

When you have an idea, ask these questions:

  1. Is this blocking users NOW? → Track it (bug)
  2. Is this a clear next step? → Track it (roadmap)
  3. Have I seen this problem 3+ times? → Track it (pattern)
  4. Is this speculative? → Let it go
  5. Is this anxiety-driven? → Let it go
  6. Can I ship this in <2 hours? → Ship it now

The Result: You track what matters, let go of what doesn’t, and ship quickly.


The Migration: Our Real Example

Here’s what I actually did and what I learned:

The Numbers

Before:

  • 4 markdown files tracking bugs and enhancements
  • ~2,500 lines of documentation
  • 0 visibility, 0 searchability, 0 trackability

After:

  • 38 GitHub Issues created
  • 2 bugs (both critical/high priority)
  • 36 enhancements (various priorities)
  • Full categorization and labeling

The Breakdown

BUGS (2 issues - WILL FIX):

  1. Issue #7: Settings Persistence (CRITICAL)

    • Users losing their settings
    • Blocking production use
    • Must fix before launch
  2. Issue #8: Manual stop transcription (HIGH)

    • Audio not transcribed when manually stopped
    • Clear user pain point
    • High-impact fix

ENHANCEMENTS (36 issues - SELECTIVE):

High Priority (11 issues - PROBABLY WILL DO):

  • Distribution infrastructure (bundling, releases)
  • Performance optimization (pagination, large transcripts)
  • User experience (smart context detection, auto-paste)
  • Testing infrastructure (E2E, quality assurance)

Medium Priority (23 issues - MAYBE WILL DO):

  • UI/UX improvements (hotkey capture, help window)
  • Advanced features (AI agents, multi-language)
  • Developer experience (hot reload, contributor guides)
  • Quality improvements (accessibility, performance testing)

Low Priority (2 issues - PROBABLY WON’T DO):

  • Developer tooling (hot reload improvements)
  • Environment automation (Docker setup)

The Honest Truth

Will I do all 38 issues?

No. Probably not even half.

Then why create them?

  1. Visibility: Now I can see what’s been considered
  2. Searchability: I can find related ideas when needed
  3. Linkability: I can reference from PRs and commits
  4. Organization: I can filter by priority and category
  5. Memory: I won’t forget critical bugs

But most importantly:

Creating the issue doesn’t mean I’m committed to doing it. It means I’ve acknowledged the idea and can let it go.


The Balance: GitHub Issues as Visibility, Not Commitment

Here’s the mental shift that makes this work:

Old Mindset (Anxiety)

The Belief:

“Every issue in my backlog is a commitment. If I don’t do it, I’ve failed.”

The Result:

  • Anxiety about growing backlog
  • Guilt about not working on “important” issues
  • Decision paralysis about what to work on
  • Shipping velocity slows down

New Mindset (Freedom)

The Belief:

“GitHub Issues are for visibility and organization, not commitment. I’ll work on what matters most right now.”

The Result:

  • Clarity about what’s been considered
  • Freedom to let ideas go
  • Confidence in shipping decisions
  • Shipping velocity increases

The Practice

When I create an issue:

  1. I write a detailed description (for future reference)
  2. I add proper labels and categorization (for searchability)
  3. I estimate effort and value (for prioritization)
  4. Then I let it go (no commitment to do it)

When I choose what to work on:

  1. I look at critical bugs first (blocking users)
  2. I look at high-priority roadmap items (clear next steps)
  3. I look at quick wins (high impact, low effort)
  4. I ignore the rest (they’ll come back if they matter)

When I close issues:

  1. I close completed work (celebrate progress)
  2. I close stale ideas (no longer relevant)
  3. I close duplicates (consolidate thinking)
  4. I don’t feel guilty (letting go is healthy)

The Lesson: Ship Quickly, Track Selectively

Here’s what I learned from this migration:

What Worked

✅ Moving from markdown to GitHub Issues:

  • Better visibility and searchability
  • Proper categorization and prioritization
  • Integration with PRs and commits
  • Trackable progress and completion

✅ Creating detailed issue descriptions:

  • Forces clear thinking about value and effort
  • Provides context for future decisions
  • Helps with prioritization

✅ Proper labeling and categorization:

  • Easy to filter by priority and component
  • Clear signal about what matters
  • Reduces decision fatigue

What Didn’t Work (Initially)

❌ Feeling committed to do everything:

  • Created anxiety about growing backlog
  • Slowed down shipping velocity
  • Led to decision paralysis

❌ Tracking every idea:

  • Backlog became overwhelming
  • Signal-to-noise ratio decreased
  • Harder to see what actually matters

The Breakthrough

The Realization:

GitHub Issues are a tool for visibility and organization, not a commitment to do everything.

The Practice:

  1. Track what matters NOW (bugs, roadmap, patterns)
  2. Let go of speculative ideas (if they’re good, they’ll come back)
  3. Ship quickly (don’t wait for the backlog to be empty)
  4. Close stale issues (letting go is healthy)

The Result:

  • 38 issues created
  • 2 critical bugs prioritized
  • 11 high-priority enhancements identified
  • 25 ideas acknowledged and let go
  • Shipping velocity maintained

Conclusion: The Backlog Is a Tool, Not a Commitment

Here’s the final framework:

The Principles

  1. Track for visibility, not commitment

    • GitHub Issues help you see what’s been considered
    • They don’t obligate you to do everything
  2. If it’s a good idea, it will come back

    • Real problems resurface naturally
    • Speculative ideas fade away
    • Trust the process
  3. Ship quickly, track selectively

    • Don’t wait for the backlog to be empty
    • Work on what matters NOW
    • Let go of the rest
  4. Backlog bloat is a feature, not a bug

    • Having ideas is good
    • Doing all of them is impossible
    • Choosing what NOT to do is the real skill

The Action Plan

This Week:

  1. Migrate your markdown files to GitHub Issues (if you have them)
  2. Create detailed descriptions with effort and value estimates
  3. Add proper labels and categorization
  4. Then let it go - don’t feel committed to do everything

This Month:

  1. Work on critical bugs first (blocking users)
  2. Work on high-priority roadmap items (clear next steps)
  3. Work on quick wins (high impact, low effort)
  4. Ignore the rest - they’ll come back if they matter

This Quarter:

  1. Review your backlog monthly
  2. Close stale issues (no longer relevant)
  3. Celebrate completed work
  4. Don’t feel guilty - letting go is healthy

The Bottom Line

I created 38 GitHub Issues from my markdown files. I’ll probably never do most of them. And that’s perfectly fine.

The value isn’t in doing everything - it’s in having visibility, making informed decisions, and shipping quickly.

The real skill isn’t tracking everything. It’s knowing when to let go and ship instead.


What’s your backlog management strategy? How do you decide what to track vs. what to let go?