HNHacker News
TopNewBestAskShowJobs

escot

2,330 karma · joined October 8, 2013

Building a keyboard driven flowchart editor: https://knotend.com

https://www.scottantipa.com

twitter.com/ScottyAntipa

scott@scottantipa.com

submissionscomments
escot··on GUIs should be fully keyboard-driven
I think we should also be finding ways to make things keyboard-driven that currently require a mouse. My side project is a keyboard centric flowchart editor which tries to merge the two between something typically 2D with pixel coordinates (normal flowchart software) and fitting it into a grid that has discrete coords so you can navigate with arrow keys.
escot··on Ask HN: What are you working on? (August 2026)
A grid-based flowchart editor designed for speed. It’s optimized for the keyboard with a spreadsheet-like selection and movement mechanism.

I started working on it because I was tired of dragging boxes/arrows around in Miro while making dependency graphs for planning projects.

https://knotend.com/

A while back I did a Show HN about it, and have since rewrote and changed the concept a bit to be easier to use.

escot··on Ask HN: What has your personal website/blog done for you?
I like to write because it helps me think through something that I’m curious about. And when I post it on HN I get a bunch of people who will help discuss and research it more which is super fun.
escot··on Ask HN: What Are You Working On? (July 2026)
A keyboard-driven flowchart editor. This is a re-incarnation of a previous attempt. I’m still working on autolayout but I’m much happier with this version:

https://knotend.com

escot··on Read Technology's Founding Documents
Thank you! Will take a look
escot··on YAGRI: You are gonna read it
In a good work environment you’ll have some telepathy with your product people and you wont have to communicate every minor change, which wastes time. Its similar to implementing a UI design — you and the designer will develop a relationship where you dont need to communicate every pixel, you fill in the blanks and show results, repeat.
escot··on Ask HN: Would you want to join a Slack instance for job seekers
If youre a job seeker and would be interested to join a slack, drop a comment here or email me: scott@scottantipa.com
escot··on Ask HN: Would you want to join a Slack instance for job seekers
I was thinking one server and just for job seekers. Like a support group for people looking for tech jobs.

Maybe there could be channels per role/level, like #backend-senior, #ml-junior. So you could discuss hiring process and get tips from people looking for similar roles.

escot··on Show HN: Sourcetable – AI Spreadsheet and Data Platform
Very cool. It would be great to have auto complete across cells.
escot··on What UI density means and how to design for it
Interesting, do you have a source?
escot··on Ask HN: Whats your favorite book on API design?
Thanks. Im interested in a book that explored more advanced design patterns. Like, supporting copying a resource. Or supporting —dry-run type functionality for requests that have side effects.
escot··on Show HN: Heynote – A dedicated scratchpad for developers
I’ve always wanted something like this but integrated into the terminal or vim. Like you could have a hotkey that sends a json object from your debug session over to this scratch pad to save for later.
escot··on You don't need JavaScript for that
Are you aware of any frameworks that take this approach? For example, if I could import their Datalist and use it, but at build or maybe runtime it decides what to use based on the target environment? We of course have this for tons of things like language features.
escot··on Everyday uses for PVC water pipe
Another “do anything” material is 80/20 which is aluminum bars you can bolt together to make tons of different structures.

https://8020.net/

escot··on Room temperature, ambient pressure superconductivity – this time for real?
+1 for use of the term “Diamond Anvil Cell”

https://en.m.wikipedia.org/wiki/Diamond_anvil_cell

escot··on macOS command-line tools you might not know about
I use the following to edit contents of my clipboard:

    pbpaste | vipe | pbcopy

Where vipe is a util for inserting your editor (vim) in the middle of a pipe. From: https://joeyh.name/code/moreutils/
escot··on The History of VisiCalc (1999-2018)
I highly recommend reading this. VisiCalc is the original spreadsheet and Bricklin details the whole story of its invention. So many gems about how he got around constraints, and added others to make the user experience simple. And spreadsheets still basically behave the same today!
escot··on Show HN: Knotend – a keyboard-driven flowchart editor
> having to add one extra node for the variable declaration feels cumbersome Well you don't always have to define a variable. For example `=sum()`in a node will just take all the parent values and sum them, whether they are variables or just pure values.

But you're right that if you want to define a variable its takes two nodes (the expression as the parent, then the `var foo` as the child). I should probably support defining a variable completely inside a node like `var foo = 1 + 2`.

I'm still a little hesitant to add any text on the arrows until I find a better way to do it via the keyboard. I find that just using the text in the nodes is usually sufficient anyways.

escot··on Show HN: Knotend – a keyboard-driven flowchart editor
Ok I enabled computation for a little while on prod, but you have to know this super secret keyboard shortcut to turn it on: Control-Option-E. I'll leave it on at least a few days, and if you want to try more I can put up a more permanent link to a build with it.
escot··on Show HN: Knotend – a keyboard-driven flowchart editor
Thank you for the feedback. I think theyre all great. One thing Im trying to figure out is to support adding text to connections, but do so in a keyboard centric way. I dont want people making graphs that require you to use the mouse a lot.

For staging — you can use Tab and Shift-Tab to connect the staged node to others. You just select the target node first. Maybe its not intuitive enough, please let me know if that makes sense.

Computation - I have a prototype for this. You can add formulad and math expressions to a node, and use inputs (upstream nodes). Ive just first been focusing on diagramming. Would you have a use case yourself? I could send you a link to a beta to try it if you like.

Here's a demo of the computation prototype: https://www.youtube.com/watch?v=kCiGK1z0ksg

escot··on Show HN: Knotend – a keyboard-driven flowchart editor
I've found it to be the most accurate description. I think the core of what makes a flowchart is that its a directed graph, which knotend is.
escot··on Show HN: Knotend – a keyboard-driven flowchart editor
Thanks! Thats the same reason I set out to make this. You can export currently to plant uml. Is there anything else you would want in particular for doing system diagraming?
escot··on Show HN: Knotend – a keyboard-driven flowchart editor
Ya its been a bit of a research project for a while so Ive posted for feedback. Thanks!
escot··on Show HN: Knotend – a keyboard-driven flowchart editor
Thanks! You can get the mermaid code from the Export menu. And Im happy to support other formats.
escot··on Show HN: Knotend – a keyboard-driven flowchart editor
Thanks!
escot··on How to store your app's entire state in the url
Sorry about that, could you send the link that is giving you the 414?
escot··on How to store your app's entire state in the url
The encoding gives you cleaner urls that are restricted to the characters that base64 outputs, not necessarily shorter. The compression is to make it shorter.
escot··on How to store your app's entire state in the url
I've been working on the app for over a year. The state-in-url thing was a pretty small portion of time, although I've fixed/updated it several times in that year to make it better. Thanks for the feedback. Did you make a flowchart?
escot··on How to store your app's entire state in the url
URLs are great because you can share them. I may also add support for local storage, but it won't remove the ability to share via URL.
escot··on How to store your app's entire state in the url
I just updated knotend to use the hashmark, see my comment above!
Page 1 of 7Next →