Show HN: Haystack – Review code as a visual story on an infinite canvas
haystackeditor.comHi HN!
Code reviews today are line-by-line diffs. This format makes reviewers focus on individual changes to catch bugs, style issues, and bad variable names, rather than the bigger picture of what the code is doing and why.
However, I don’t think that’s what code reviews are for. Tests (and angry users) catch bugs. Linters catch style issues. And nitpicks almost always bog down the review and make it take longer for the code to merge.
I believe that the point of a code review is to help teammates understand how the author is trying to achieve their goal, whether that’s a bug fix, a new feature, or a refactor. A good review requires understanding the narrative behind a change, determining whether the structure of a pull request reasonably fulfills that narrative (interface changes, new data structures, etc.), and deciding whether the team is OK with maintaining this new shape of the codebase.
The current pull request interface makes this hard. It's just a wall of unordered diffs that you're left to piece together by jumping between files. When reviewing a pull request from a teammate, I found myself spending more time reconstructing the big picture of the changes than reviewing the code itself.
So I built Haystack to help with that. It breaks down a pull request into logical chunks and lays them out on an infinite canvas. It guides you through the changes as a structured visual story, helping you focus on architecture, intent, and maintainability instead of chasing nits. I hope that Haystack makes code reviews less of a last-minute, unwanted chore. And if it doesn’t, I want to hear about it!
If you’re interested:
1. Take a look at the demo playground https://haystackeditor.com/playground
2. Watch a walkthrough https://youtu.be/K_qLwXFwr8I
3. Try it at https://haystackeditor.dev
Previous discussion: https://news.ycombinator.com/item?id=42935218
Nice, played around with it for some time and got a project workspace set up quite fast. Excited to see how far it takes me!