I've been using GitHub Projects for about 8 months after migrating our team from Jira. Here's what surprised me and what you should know before diving in.
The Problem GitHub Projects Actually Solves
Look, if you're already living in GitHub - tracking issues, reviewing PRs, managing releases - then constantly switching to Jira or Trello to update project status is fucking exhausting. You close an issue, then you have to remember to move a card. You merge a PR, then you update another system. GitHub Projects fixes this by just... not making you do that anymore.
When you close an issue, your Kanban board updates automatically. When you create a PR, it shows up in the right column. When you merge code, your roadmap reflects it. This isn't revolutionary - it's just what should have happened years ago.
What's Different Now (As of 2025)
The original GitHub Projects was honestly pretty terrible. Limited to 1,200 items, bare-bones features, felt like an afterthought. But GitHub finally got serious in early 2025 and bumped it up to 50,000 items per project, added sub-issues, and included actual search functionality.
I learned this the hard way when our main project board hit the old limit and just... stopped working. Had to split everything up. The new limits are way more reasonable unless you're doing something truly insane.
The Three Views You'll Actually Use
Table View: This is your spreadsheet for data nerds. I spend most of my time here because you can bulk edit shit, filter by weird criteria, and see everything at once. Great for sprint planning when you need to assign story points to 30 issues without clicking around like an idiot.
Board View: Classic Kanban. We have columns for "Backlog," "In Progress," "Review," "Testing," and "Done." Issues move automatically when their status changes, which still feels like magic after years of manual card shuffling in Trello.
Roadmap View: Timeline view for when your PM asks "when will this ship?" It's decent for high-level planning but gets messy with too many items. The dependency visualization is useful but breaks down if you have complex interdependencies.
Custom Fields That Don't Suck
You get 50 custom fields per project, which sounds like a lot until you start using them. We track:
- Story points (number field) - because apparently we still do that
- Priority (dropdown) - High/Medium/Low because anything more complex is overthinking it
- Sprint (iteration field) - works well with their built-in iteration planning
- Component (text) - frontend, backend, infrastructure, etc.
- Bug source (for tracking where things went wrong)
Pro tip: Don't go crazy with custom fields initially. Start simple and add them when you actually need them, not because you think you might.
Automation That Occasionally Works
The built-in automation is pretty basic but handles the common stuff:
- Auto-move items when PRs get merged
- Archive completed items after 30 days
- Add new issues with specific labels to projects automatically
I spent 3 days setting up complex automation rules that GitHub broke in the next update. Keep it simple. The GraphQL API is powerful if you want to get fancy, but the learning curve is brutal and the docs could be better.
What Actually Breaks
- Mobile experience is trash - you'll be stuck at your desktop for any real project management
- Performance gets sluggish with large datasets (approaching that 50k limit)
- Reporting is basic - if you need fancy charts and burn-down reports, you'll be disappointed
- API rate limits bite you during bulk operations - learned this during our Jira migration
- Automation rules conflict sometimes and create infinite loops that spam your entire team (yes, this happened)
The biggest gotcha: GitHub Projects works great until you need complex permissions or your org has weird security requirements. Then everything becomes 10x harder.
Resources and References
For deeper understanding, check out the GitHub Projects API documentation, the project automation guides, and the GitHub CLI project commands. The GitHub Community discussions are invaluable for troubleshooting weird edge cases, and the GitHub changelog will keep you informed about feature updates that might break your existing workflows.