Live data from Hacker News

Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas

github.com

1–10 of 176 posts

Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas

#1
Hi HN, we’re Akshay and Jake from Haystack (https://haystackeditor.com/). Haystack re-imagines the IDE by putting it on a 2D digital whiteboard that automatically draws connections between code as you navigate and edit files. We designed it to match our mental model of how code works – as a graph of connected components. Here’s a demo of what it looks like: https://www.youtube.com/watch?v=5XADctpWNNs. You can download Haystack from https://haystackeditor.com/.

We used to work as software engineers at big companies, and when the explosion in AI code-generation tools started we were really excited about them. They gave us a huge speed boost in our day-to-day work. But something was missing: writing code had become easier, but navigating codebases remained painful. We found that we were spending more time on the latter than the former!

Our vision of Haystack is an IDE that helps you navigate your codebase at speed. You should be able to type a vague description of the code you’re looking for (“Show me the code flow that triggers after we click the submit button”) and immediately see the right result. But we don’t think the traditional split-panel interface is the best fit for this type of rapid navigation. Inspired by the fluidity of design tools like Figma (Akshay used to work there!) and Miro, we realized that the canvas layout is a perfect way to represent and operate on code flows, and a great base for all the AI and collaborative tooling we want to build! This is how Haystack was born.

You might have seen our original Show HN (https://news.ycombinator.com/item?id=41068719) about two months ago. Since then, a ton of our users have told us that they’d love to contribute. We’ve made the decision to make the editor source-available so that folks can make contributions and so that they can examine the code to make sure they can trust it. Our repo is at https://github.com/haystackeditor/haystack-editor.

If you’re wondering why we’re going source-available rather than proper open-source: as a startup, we're going to eventually monetize and it’s too early for us to make the decision on whether going fully open-source is the right move. We want to own the distribution of Haystack until we can better understand the ramifications that open-sourcing would have, and whether it’s sustainable business-wise. We’d love to find a way to make proper open-source work, but it’s a one-way door, so we want to take our time to make sure we’re making an informed decision.

We would love to hear about what you think about having a canvas in your IDE and the role visualizations have to play in software development!

Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas
github.com

Re: Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas

#3
post #2

This looks quite useful! However could Haystack be made an VSCode extension instead of a fork? So I could use this in Cursor, which is also a VSCode fork.

We're going to make a "Haystack-lite" extension in the future! I understand the pain here. We chose to go with a VS-code fork so we could maximize the canvas features. I am curious if you would find the "canvas" view distracting when it's on a sidebar as opposed to the main editor?

Re: Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas

#4
post #2

This looks quite useful! However could Haystack be made an VSCode extension instead of a fork? So I could use this in Cursor, which is also a VSCode fork.

So many YC folks are forking VSCode for various reasons that mostly revolve around "can't monetize extensions, want to own the platform".

I don't think any of them will be successful, IMO. You want to be an extension because getting software approved is _hard_ at bigcos, it's much easier to trojan horse on an existing tool.

Re: Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas

#5
post #3
post #2

This looks quite useful! However could Haystack be made an VSCode extension instead of a fork? So I could use this in Cursor, which is also a VSCode fork.

We're going to make a "Haystack-lite" extension in the future! I understand the pain here. We chose to go with a VS-code fork so we could maximize the canvas features. I am curious if you would find the "canvas" view distracting when it's on a sidebar as opposed to the main editor?

Thinking about it, a sidebar "canvas" could be more useful comparing to the main editor to me:

* when reading code, I found I jump back and forth the call stack quite often, a visualization of this could help with this navigation, especially with some properly designed shortcut keys.

* I mostly code on MacBook so screen real estate is precious. The canvas as main editor looks like waste a lot of screen space. But the canvas in a sidebar do not have this issue.

Re: Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas

#6
This feels helpful as I have to hold less stuff in my mind, but the UI is way too mouse dependent right now. You guys should make some shortcuts and somehow make it “tiling” like a window manager (dwm), so you don’t have to manually resize windows.

Re: Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas

#7
Interesting, for me this is exactly the opposite of efficient code navigation.

LSP + keyboard-driven interface is miles ahead in terms of efficiency and speed.

I respect the effort of breaking into less researched lands though. Congrats on the launch, I'm sure some will find this tool useful.

Re: Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas

#8
post #2

This looks quite useful! However could Haystack be made an VSCode extension instead of a fork? So I could use this in Cursor, which is also a VSCode fork.

So many YC folks are forking VSCode for various reasons that mostly revolve around "can't monetize extensions, want to own the platform". I don't think any of them will be successful, IMO. You want to be an extension because getting software approved is _hard_ at bigcos, it's much easier to trojan horse on an existing tool.

I could be wrong but I don't believe it's difficult to monetize an extension.

The reason I think there has been an explosion of VS Code forks (e.g. Supermaven, a very successful extension) is that being an extension in VS Code is limiting insofar as what you're able to change in terms of the UI and UX.

You are right about the difficulty of getting into big companies. However, we developed a standalone editor because it's easier to build on top of, and we eventually want to build a very portable browser-based editor that utilizes the canvas view for pull requests, arbitrary code, etc.

Re: Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas

#9
post #5
post #3

Earlier quoted context omitted.

We're going to make a "Haystack-lite" extension in the future! I understand the pain here. We chose to go with a VS-code fork so we could maximize the canvas features. I am curious if you would find the "canvas" view distracting when it's on a sidebar as opposed to the main editor?

Thinking about it, a sidebar "canvas" could be more useful comparing to the main editor to me: * when reading code, I found I jump back and forth the call stack quite often, a visualization of this could help with this navigation, especially with some properly designed shortcut keys. * I mostly code on MacBook so screen real estate is precious. The canvas as main editor looks like waste a lot of screen space. But the…

1. You can hop back and forth using the "backward/forward" buttons in the top bar, similar to VS Code. Not sure if I misunderstood here. 2. That's fair. You can "pin" editors on the canvas, which allows you to fullscreen editors.

Re: Launch HN: Haystack (YC S24) – Visualize and edit code on an infinite canvas

#10

This feels helpful as I have to hold less stuff in my mind, but the UI is way too mouse dependent right now. You guys should make some shortcuts and somehow make it “tiling” like a window manager (dwm), so you don’t have to manually resize windows.

We actually do try to make the canvas as keyboard navigable as possible. There are a list of keyboard bindings in the "Keybindings and Help" button on the bottom right.

In terms of manually resizing, we actually do try to tile in the viewport. May I know what's causing you to resize it so I can fix it?

Post reply on HN