Show HN: We built an open-source alternative to expensive pair programming apps
github.comMy friend and I grew frustrated with the high cost of existing pair programming tools, and of course of grainy screens when we used Huddle or similar tools.
We believe core developer collaboration shouldn't be locked behind an expensive subscription.
So for the past year we spent our nights and weekend building Hopp, an open-source alternative.
We would love your feedback and we are here to answer any and all questions.
Congrats on shipping! For adoption, have you considered integrating with existing workflows? CLI tools, IDE extensions, Slack integrations? The friction to start a pair session often matters more than the session quality itself.
One of the maintainers here. Very good point. Yes we want (and need) to start doing this, we should open github issues so people can help if they want.
Feels like pair programming could use its equivalent of LSP, so editors could standardise interactions.
Pair programming though is not only editor interactions. Debugging through logs, drawing etc are happening outside an IDE.
I don't understand what makes this less grainy than any other option, like Discord
Clicking in I thought this was going to be like Jetbrain's pair coding setup which uses your local native editor and only transmits editor content and user interaction
I wish there was a way for people using different editors to pair program using their own favorite instead of say...dishing neovim or intellij for something monaco or web based.
I mean IntelliJ does have native collaboration
CodeTogether has multiple platforms but I'm not sure if it allows different clients to connect together
(And I was thinking this would be OSS CodeTogether)
Before starting Hopp and searching for alternatives, one of the things I really liked was Zed's paradigm around collaboration, with its Collab panel and Channels.
The streaming quality was also quite good with Zed. VSCode and JetBrains pairing features were a pain, as you needed to share a URL. The experience in general was not optimal. Not something you want to do multiple times a day.
With Zed, the only drawback was that the scope is always IDE (view mode also for whole screen). But from my experience, pairing is more than your IDE. It's terminal, debugging your unnecessarily complex AWS setup, fiddling with Grafana dashboards, etc.
I think it is detailed in this blog post: https://gethopp.app/blog/latency-exploration
One of the maintainers here. I am looking at improving this more. With av1 we can get even better latency at 4K, the problem is that it is not supported on Safari for old devices, so I am looking into getting the stream in rust and sending it to the frontend via a local ws server, surprisingly to me the added transport latency is less than 5ms.
Thanks for the heads-up. Also it would be great to be able to quickly switch "pairs". Currently Gather is switching their license so many people might be looking for alternatives. We don't need no running around on maps but having the ability to quickly jump between groups would be awesome.
This is nice suggestion. I created https://github.com/gethopp/hopp/issues/52. Feel free to add more info on how the ideal workflow would look like to you.
This rocks.
Thank you :) (one of the maintainers here)
[dead]