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

27 mrktsm__ 5 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 (5)

omneity · 34m 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__ · 23m 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.
n3storm · 23m ago
Choosing java for this is a bold move imho
mrktsm__ · 16m ago
Yeah, you're very correct actually. I chose Java because I'm most comfortable with it, but in retrospect, Node might have been a better choice. There’s some shared logic for the collaboration part, and it was a bit of a hassle to ensure the client and backend had the same logic. Having both in JavaScript would have made things smoother
spruce_tips · 9m ago
java 23+ kicks ass. it's come a long way