Show HN: CodeCafé – A real-time collaborative code editor in the browser

81 mrktsm__ 11 5/5/2025, 8:08:37 AM github.com ↗
Hey guys!

I’ve been working on a web app called CodeCafé—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 CodeCafé 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

Comments (11)

omneity · 59d ago
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__ · 59d ago
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.
jasonjmcghee · 59d ago
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.

tpae · 59d ago
Question for you, how come you didn't use CDRT like yjs? It could simplify the codebase
mrktsm__ · 59d ago
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 · 59d ago
Well done on this! I will keep an eye on the project
indigodaddy · 59d ago
Does the preview work for dynamic server content eg python, nodejs, php etc?
mrktsm__ · 59d ago
Currently, the JS, HTML, and CSS are rendered client-side, which was relatively straightforward to implement. However, I’m in the process of moving these files to the server and serving them from there, which will enable me to execute languages that aren’t natively supported by the browser
nanna · 59d ago
I would love this for Emacs!