11 ms·
Launch HN: Tiptap (YC S23) – Toolkit for developing collaborative editors
Hi HN! We're Nick, Patrick, Philip, Sebastian, Sven, and Timo from Titap (https://tiptap.dev/ https://tiptap.dev/), an open source developer toolkit for building collaborative editing apps. Our editor framework, based on ProseMirror, is at https://github.com/ueberdosis/tiptap https://github.com/ueberdosis/tiptap, and our real-time collaboration backend, based on Yjs, is at https://github.com/ueberdosis/hocuspocus https://github.com/ueberdosis/hocuspocus.
Building editor interfaces like Notion or Google Docs in your web app takes a lot of work and time. Our open source tools and cloud services let you build collaborative content editing faster—in days or weeks, rather than months or years. And this is just for the editor. If you want real-time collaboration or other advanced features like version history in your editor, the overall workload quickly escalates—you will need a robust and serious backend infrastructure that requires even more time to set up and maintain. This doesn’t make sense for most frontend developers or most startups.
We spent eight years as a digital agency developing applications with complex content editing functionality. We learned the hard way how limited the existing editors were. After building Tiptap as a headless editor framework with an extension-based architecture, we needed to allow multiple users to edit content simultaneously, which got complicated. There was no simple solution that could be integrated quickly. So we built that too.
The Tiptap editor is based on the JS framework ProseMirror, which is a good foundation for editors. The learning curve for ProseMirror is steep because it's complicated to understand and lacks simple APIs and documentation. It takes a lot of code around ProseMirror to develop a modern user experience. We’ve taken care of that for you.
Tiptap is headless, so it will work with whatever frontend or design you have in mind—we make no assumptions about your UI. You can use it to develop block-based editors like Notion, classic interfaces like Google Docs, or whatever you need. It's also framework agnostic, so you can use it with React, Vue, etc., or vanilla JavaScript. And it's highly customizable through our extension architecture. We also provide an API to access ProseMirror's internals through Tiptap if you want to dig deep into the core.
Adding real-time collaboration to your editor is as easy as installing and configuring an extension. Our collaboration backend, called Hocuspocus, uses Yjs. This is a widely used implementation of CRDTs (conflict- free replicated data type). Hocuspocus makes it easy to set up a Node.js websocket server to handle communication between multiple peers to synchronize data. Like the Tiptap editor, Hocuspocus is designed to be extensible according to your needs. Also, Hocuspocus can work independently of Tiptap with other editors like Lexical or Slate.
An earlier version of Tiptap got discussed a couple years ago at https://news.ycombinator.com/item?id=26901975 https://news.ycombinator.com/item?id=26901975. We’ve been enjoying wider adoption since then. For example, Substack uses Tiptap for their editor that allows creators to write content on substack.com, and YC uses Tiptap in their Bookface forum (which is basically HN for YC alums).
With the Tiptap Cloud, we offer managed backend services if you don't want to build and maintain every feature yourself. For real-time collaboration, we provide a cloud infrastructure with multiple datacenter regions where you can deploy Hocuspocus. The Tiptap AI integration beta is a service where you connect your OpenAI API key to our backend and install the Tiptap editor AI extension to get AI writing experience in your editor. Here’s a demo: https://ai-demo.tiptap.dev/ https://ai-demo.tiptap.dev/
We invite you to explore Tiptap's capabilities in your app, contribute to its open source development, and (hopefully!) join our welcoming community. We'd love to hear what you've already built with Tiptap or what's stopping you from creating something with it :-) We look forward to all of your comments!
- meagher 3y agoSince Tiptap is built on top of ProseMirror, do you contribute funds to support ProseMirror's development?
- jstummbillig 3y ago[flagged]
- meagher 3y agoI was just curious given that ProseMirror is used a lot and doesn't seem that well supported financially. > We are all constantly building products on other products, given a license that allows for that, without contributing work or money to the products. This type of attitude is pretty harmful for open source. Folks (especially companies) should support their key dependencies where they can.
- jstummbillig 3y agoI don't think that is true but in any case: Honoring the license, which we are usually we particular around here, has to be enough on both ends. The license is up to the licenser. White knighting around it on an arbitrary per case basis is just awkward.
- dang 3y agoWhoa, can you please make your substantive points without breaking the site guidelines? You broke these: "Converse curiously; don't cross-examine." "Assume good faith." If you wouldn't mind reviewing https://news.ycombinator.com/newsguidelines.html https://news.ycombinator.com/newsguidelines.html and sticking to those rules, we'd be grateful. I took a quick look at your previous comments and didn't see any pattern of guideline breakage (thank you!), so this should be easy to fix.
- patrickbaber 3y agoSince the last few weeks we are focusing on the development of Tiptap. We definitely want to have a solid foundation, so we will support the projects we rely on. Without their work, Tiptap wouldn't be possible.