[HN Gopher] Show HN: CodeCafe - A real-time collaborative code e...
___________________________________________________________________
Show HN: CodeCafe - A real-time collaborative code editor in the
browser
Hey guys! I've been working on a web app called CodeCafe--a
collaborative, browser-based code editor inspired by VS Code and
Replit, but with no downloads, no sign-up, and zero setup. You just
open the link and start coding--together. The frontend is built
with React and TypeScript, and the backend runs on Java with Spring
Boot, which handles real-time editing via WebSockets. For syncing
changes, I'm using Redis along with a custom Operational
Transformation system (no third-party libraries!!!). The idea came
after I found out a local summer school was teaching coding using
Google Docs (yes, really). Google Docs is simple and free, but I
wanted something that could actually be used for writing and
running real code--without the need for any sign-ups or complex
setups. That's how CodeCafe came to life. Right now, the app
doesn't store files anywhere, and you can't export your work.
That's one of the key features I'm working on currently. If you
like what you see, feel free to star the repo to support the
project!! Check it out and let me know what you think! GitHub:
github.com/mrktsm/codecafe Web App: codecafe.app
Author : mrktsm__
Score : 69 points
Date : 2025-05-05 08:08 UTC (14 hours ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| omneity wrote:
| Great job, congrats for the release! A little feedback, it could
| be nice to auto-generate a unique url on page load (the one you
| generate after clicking on "share"). Bonus is that it gives the
| user a certain confidence to reload the page for example.
|
| Side note, I am wondering if this could be used as a better way
| to collaborate with coding agents. "Pair with me" instead of the
| typical "Code for me".
| mrktsm__ wrote:
| Thanks for the feedback! I clear the session URL after joining
| because I thought it looked cleaner, but I might start leaving
| it in if it helps with reload confidence.
| tpae wrote:
| Question for you, how come you didn't use CDRT like yjs? It could
| simplify the codebase
| mrktsm__ wrote:
| Good question -- before diving into the project, I did have the
| chance to choose. I looked into both OT and CRDTs and found
| that OT is widely used in collaborative editors like Google
| Docs, so I leaned that way. I wouldn't say it was a deeply
| informed decision -- I just had more reference points for OT at
| the time. I think with more hands-on experience with CRDTs, I'd
| be better equipped to weigh the trade-offs more clearly
| ggap wrote:
| Well done on this! I will keep an eye on the project
| nanna wrote:
| I would love this for Emacs!
| jasonjmcghee wrote:
| Great project!
|
| As you mentioned vscode- I don't believe the sharee needs an
| account unless that's changed. (And you can do it all in
| browser).
|
| https://learn.microsoft.com/en-us/visualstudio/liveshare/qui...
|
| But executing code is a different story. Replit works better
| there but it's heavily resource constrained in free tier.
___________________________________________________________________
(page generated 2025-05-05 23:01 UTC)