Live data from Hacker News

Show HN: Haystack Code Reviewer – Perform code reviews on a canvas

haystackeditor.com

1–10 of 23 posts

Show HN: Haystack Code Reviewer – Perform code reviews on a canvas

#1
Hi HN!

We’re building Haystack Code Reviewer, a tool that lays out code diffs for a GitHub pull request on an interactive canvas. Instead of scrolling through diffs line-by-line, you can view all changes in a more connected, visual format – similar to viewing a call graph. We hope this will make it easier and less cognitively taxing to understand how different changes across files work together.

For a quick overview, check out our short demo video: https://www.youtube.com/watch?v=QeOz70x0WPE. If you would like to give it a spin, head over to https://haystackeditor.dev, click the “Review pull request button” in the top toolbar, and load any pull request via URL or pick a pull request from a dropdown.

We built Haystack Code Reviewer because we found pull requests difficult to review in a pure textual format — especially when hopping between multiple files or trying to break down complex changes. Oftentimes, pull request authors would have to specifically structure their commits so that code reviews would be easier to tackle, which is a time-consuming and error-prone process. Our goal is to make any pull request easy to understand at a glance, and reduce the effort needed from both reviewers and authors to craft a good code review.

Haystack Code Reviewer works on private repositories! We have authentication to ensure that someone cannot open the server for your pull request without having access to that pull request on GitHub. For additional security, we plan to build self-hosting soon. Please contact us if you’re interested in this.

Alternatively, a completely local option would be to download desktop Haystack and then navigate to your pull request from there. This is great for trying out the feature without exposing any data on the cloud!

In the near future, we plan to:

1. Introduce step-by-step navigation to guide reviewers through each part of the changeset

2. Allow for self-hosting

We’d love to hear your thoughts, suggestions, and any feedback on our approach or potential features!

Show HN: Haystack Code Reviewer – Perform code reviews on a canvas
haystackeditor.com

Re: Show HN: Haystack Code Reviewer – Perform code reviews on a canvas

#3
post #2

This looks incredible! How does language support work? (I'm curious about Kotlin in particular)

Language support relies on the same language servers that VS Code uses (i.e. language extensions)! Servers come pre-installed with a variety of extensions, but I believe we do not install Kotlin for now. We'll get Kotlin installed (this was just an oversight)!

Re: Show HN: Haystack Code Reviewer – Perform code reviews on a canvas

#6
This looks interesting - looking forward to see where it heads!

An entirely nitpicky nitpick: The demo GIF rubs me the wrong way. I know, you want to show of all the features quickly, but what I see when I watch it is a reviewer who doesn't actually read the code, just clicks "reviewed" everywhere, and throws in a slightly patronizing "Good job!"

If you have a moment, you might want to think about a flow that's better at demonstrating how it improves code reviews delivered.

But, as I said, nitpick. There's a lot of potential here!

Re: Show HN: Haystack Code Reviewer – Perform code reviews on a canvas

#7
post #6

This looks interesting - looking forward to see where it heads! An entirely nitpicky nitpick: The demo GIF rubs me the wrong way. I know, you want to show of all the features quickly, but what I see when I watch it is a reviewer who doesn't actually read the code, just clicks "reviewed" everywhere, and throws in a slightly patronizing "Good job!" If you have a moment, you might want to think about a flow that's bette…

Good point! Yeah I think I should record myself doing an actual review while balancing showing the complete feature set.

Thank you!

Re: Show HN: Haystack Code Reviewer – Perform code reviews on a canvas

#9
post #8

Maybe this is not for me, but I don't understand what it does What do those groups and arrows mean?

If you don't understand what it does the fault is all mine!

The arrows represent dependencies. For example, if you create a function A that calls a function B in a pull request: 1. We'll render function A as a diff on the top part of the canvas 2. We'll render function B as a diff on the bottom part of the canvas And we'll draw an arrow from A to B, to represent that A is calling B

In this way, you can more easily understand the relationships between different parts of what someone is editing. We hope that this reduces the amount of mental modeling or mapping someone has to do during code review!

Post reply on HN