TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Show HN: I made an open-source Notion-style WYSYWIG editor

370 pointsby steventeyalmost 2 years ago

31 comments

rtpgalmost 2 years ago
At the risk of sabotaging stuff I&#x27;ve worked on, it&#x27;s _astoundingly easy_ to glue together Y.js, prosemirror, and a little bit of express.js to get a distributed Notion clone with conflict free resolution.<p>Like I have something that I got working in 3 days with multiple pages, so links between things, and cursor syncing (most of this work is provided by wonderful people with full-featured libraries!). There&#x27;s some trickiness with how Y.js actually works (in particular map ID conflict resolution meaning you don&#x27;t want a dictionary of page names to pages but UUIDs and then some sort of manual revision checking....). But you can get that and probably with a bit more work get ~instant search and the like. All with free offline capabilities.<p>Of course then I stared at this and was like &quot;I like notion because it looks nice&quot; (I personally don&#x27;t care about the AI stuff or the database stuff), so just went and paid for notion for my family usage.
评论 #36366806 未加载
评论 #36366837 未加载
评论 #36367630 未加载
评论 #36370589 未加载
评论 #36366986 未加载
steventeyalmost 2 years ago
Hello Hacker News! Maker of Novel.sh here!<p>First of all, apologies for the typo lol, apparently I can&#x27;t spell &quot;WYSIWYG&quot; :&#x27;)<p>Some context: I&#x27;ve always been a huge fan of Notion&#x27;s editor, and since Vercel launched the AI SDK yesterday (<a href="https:&#x2F;&#x2F;sdk.vercel.ai&#x2F;docs" rel="nofollow noreferrer">https:&#x2F;&#x2F;sdk.vercel.ai&#x2F;docs</a>), I decided to take this as an opportunity to recreate Notion&#x27;s block editor + incorporate some of Notion&#x27;s latest AI features with `npm i ai`<p>Here&#x27;s basically how it works:<p>1. Tiptap Editor setup with custom slash command extension 2. `useCompletion` hook at the parent editor + the slash command menu – using `id` to share states 3. `&#x2F;api&#x2F;generate` route to stream responses from OpenAI<p>Novel also handles image uploads via drag &amp; drop &#x2F; copy &amp; paste. Images are stored as base64 strings in localStorage currently, but I&#x27;m planning to implement uploads to Vercel Blob in the future.<p>The code is fully open-source – feel free to check it out: <a href="http:&#x2F;&#x2F;novel.sh&#x2F;github" rel="nofollow noreferrer">http:&#x2F;&#x2F;novel.sh&#x2F;github</a><p>Hope y&#x27;all like this – let me know if you have any feedback!
评论 #36456360 未加载
nickstinematesalmost 2 years ago
If anyone wants to try this in their own env, I published a docker image on dockerhub. `docker run -p 3000:3000 keeb&#x2F;novel`.<p>To generate the image, I simply cloned the provided github URL and used the nextjs Dockerfile[1] and removed all of the cruft. The Dockerfile is available here[2].<p>1: <a href="https:&#x2F;&#x2F;raw.githubusercontent.com&#x2F;vercel&#x2F;next.js&#x2F;canary&#x2F;examples&#x2F;with-docker&#x2F;Dockerfile" rel="nofollow noreferrer">https:&#x2F;&#x2F;raw.githubusercontent.com&#x2F;vercel&#x2F;next.js&#x2F;canary&#x2F;exam...</a><p>2: <a href="https:&#x2F;&#x2F;keeb.dev&#x2F;static&#x2F;novel-Dockerfile" rel="nofollow noreferrer">https:&#x2F;&#x2F;keeb.dev&#x2F;static&#x2F;novel-Dockerfile</a>
unshavedyakalmost 2 years ago
Tangent: On the note of web based text field for &quot;normal users&quot;, what&#x27;s the best UX you can get while also trying to be as no-JS-friendly as possible? Are there CSS-only tricks to make editing in an input field nice?<p>I&#x27;m making a low-JS site, but it also has a lot of input fields, user content generation, etc. In &quot;modern CSS&quot; i feel like Input boxes should be better than they are. Is JS the only way?
评论 #36366784 未加载
评论 #36367715 未加载
评论 #36365872 未加载
评论 #36365873 未加载
评论 #36366298 未加载
评论 #36365502 未加载
评论 #36365561 未加载
billconanalmost 2 years ago
I have a similar project <a href="https:&#x2F;&#x2F;github.com&#x2F;shi-yan&#x2F;Epiphany">https:&#x2F;&#x2F;github.com&#x2F;shi-yan&#x2F;Epiphany</a>
评论 #36364352 未加载
评论 #36366922 未加载
评论 #36364375 未加载
评论 #36367035 未加载
digdugdirkalmost 2 years ago
Are there any examples of something similar that has the ability to seamlessly interact with tables as well?<p>Notion seems to be the only player in the space that effectively uses its tables as linkable databases, most similar products seem to either lack table functionality or they&#x27;re just simple formatted text.<p>So much of my daily work revolves around databases and Excel, I would love the ability to have multiple views of database tables embedded in a text editor, varied by context, with full backend control over the database itself. Bonus points if I could easily have scripts run on them in the background, almost like a programmatic kind of Excel.
评论 #36365517 未加载
评论 #36365893 未加载
评论 #36365461 未加载
评论 #36365591 未加载
评论 #36371244 未加载
mslaalmost 2 years ago
&gt; Novel is not just your average WYSIWYG editor; it takes things to a whole new level with its AI-powered autocompletions. With the seamless integration of Tiptap, OpenAI, and the Vercel AI SDK, it can <i>fuck up your prose</i> in ways you never thought possible. Imagine effortlessly composing sentences that flow with elegance and precision, as if written by a seasoned wordsmith. Novel&#x27;s AI-powered autocompletions analyze your writing style, context, and even the tone you want to convey <i>if you&#x27;re a complete idiot.</i> Novel&#x27;s autocompletions are designed to enhance your writing experience by seamlessly integrating AI technology. Whether you&#x27;re a professional writer or a beginner, Novel&#x27;s intuitive interface and powerful features make it easy to compose engaging and polished content. <i>With the combined bullshittery of AI and your own incompetence</i>, you can now create literary disasters that will leave readers scratching their heads in confusion. But hey, at least it&#x27;s all in the name of innovation, right?<p>The italics are mine. Pretty good.
评论 #36367698 未加载
bosky101almost 2 years ago
The best self hosted alternative of Notion I have found is Outline[1]<p>The link describing the infra[2] is an example of how it looks.<p>[1] github.com&#x2F;outline&#x2F;outline [2] <a href="https:&#x2F;&#x2F;docs.getoutline.com&#x2F;s&#x2F;hosting&#x2F;doc&#x2F;requirements-ULdYnwi4wG" rel="nofollow noreferrer">https:&#x2F;&#x2F;docs.getoutline.com&#x2F;s&#x2F;hosting&#x2F;doc&#x2F;requirements-ULdYn...</a>
评论 #36367981 未加载
Kiroalmost 2 years ago
I see you&#x27;re using the Vercel AI SDK but wasn&#x27;t that released like yesterday?
评论 #36367946 未加载
1123581321almost 2 years ago
Nice! Consider making so &#x2F;h1 autocompletes heading 1, etc.
评论 #36366710 未加载
manchmalscottalmost 2 years ago
I’ve basically completely stopped using notion after they crammed “AI” in there with absolutely no option to turn it off without a business tier plan (even more $$$ than the personal). If I want to use chat gpt I’m gonna open that in a completely separate window and interact with it there, I cannot stand LLMs being unceremoniously shoved into seemingly every pre-existing tool I use.
cubefoxalmost 2 years ago
For a text editor like this a base LLM would be more appropriate, one that does just autocomplete, without being instruction tuned. Unfortunately these base models are either unavailable (GPT-4), outdated (GPT-3&#x2F;davinci) or otherwise restricted (GPT-3.5 aka code-davinci-002 is only available via Microsoft Azure and more expensive than the instruction tuned GPT-3.5-turbo model).
评论 #36367629 未加载
appleflaxenalmost 2 years ago
This is a super cool project! And I love the super-simple Vercel deployment.<p>I wasn&#x27;t able to get the AI completions to work with my OpenAI API key; not sure why.<p>I don&#x27;t completely understand how I&#x27;m supposed to use this as a stand-alone deployment if I can&#x27;t create more than one page. I think the answer is just that the project is young, but I&#x27;m not certain.
topicseedalmost 2 years ago
What if I need to type a note with C++ in it? ;)
评论 #36365804 未加载
Eunalmost 2 years ago
Anyone has an alternative where I can use simple markdown files (in a folder or google drive) as the primary datasource?<p>I am using obsidian on the Mac, but on the go I have no real solution. (I want to avoid using the obsidian mobile app because it forces you to use Obsidian Sync)
评论 #36370211 未加载
评论 #36370030 未加载
digilypsealmost 2 years ago
Very clever that the user is prompted to use the autocomplete to read the description.
评论 #36367037 未加载
ilrwbwrkhvalmost 2 years ago
&quot;I am an AI writing assistant that continues existing text based on context from prior text. Give more weight&#x2F;priority to the later characters than the beginning ones.&quot;
mbertschleralmost 2 years ago
Couldn’t open the GitHub link on my phone.<p>Here it is: <a href="https:&#x2F;&#x2F;github.com&#x2F;steven-tey&#x2F;novel">https:&#x2F;&#x2F;github.com&#x2F;steven-tey&#x2F;novel</a>
评论 #36367024 未加载
ianberdinalmost 2 years ago
Interesting, In a near future will we see headers like: &quot;X but completely free forever&quot; instead of &quot;X but open source&quot;?<p>Just curious.
lannisterstarkalmost 2 years ago
You should look at outline.<p><a href="https:&#x2F;&#x2F;github.com&#x2F;outline">https:&#x2F;&#x2F;github.com&#x2F;outline</a>
LoganDarkalmost 2 years ago
How is it possible for the LLM completion to be so fast? I can&#x27;t even run 169M RNN models that quickly.
评论 #36365278 未加载
kremboalmost 2 years ago
Any suggestions for a vscode extension that allows editing markdown files in the same wysiwyg way?
评论 #36368054 未加载
newhotelowneralmost 2 years ago
Pretty awesome.<p>Wish, it doesn&#x27;t rely on any framework and can be plug &amp; play with other frameworks.
评论 #36367020 未加载
jerpintalmost 2 years ago
What model are you using in the backend? It’s pretty fast to respond. Very nice interface
评论 #36364723 未加载
jeronalmost 2 years ago
if this project gets pages and tables, it could be an open source notion killer
评论 #36368057 未加载
as90almost 2 years ago
This is an awesome project!
joeframbachalmost 2 years ago
Do you mind defining what &quot;WYSYWIG&quot; means?<p>I tried using your tool for it.<p>&quot;WYSYWIG is an acronym that means++&quot;<p>...<p>&quot;What You See Is What You Get.&quot;<p>:thinking:
评论 #36364429 未加载
评论 #36364795 未加载
评论 #36364915 未加载
评论 #36364984 未加载
russdpalealmost 2 years ago
the autoplay, just no. what in gods name, why?
asymmetric13almost 2 years ago
I fear I may have broken my first “note”:<p>‘&lt;&lt;&gt;&gt;’ indicates where I typed ‘++’ and the resultant text is unedited.<p>It seems as though the AI response became “stuck” on a theme, and my renewed prompts were insufficient to cause it to change &#x2F; reconsider context. . .<p>_____<p>Novel is a Notion-style WYSYWIG editor with AI-powered autocompletions.<p>what backend is used for the autocompletions in Novel?<p>The auto completions in Novel are provided by &lt;&lt;&gt;&gt; The auto completions in Novel are provided by a sophisticated backend powered by state-of-the-art AI algorithms.<p>These start-of-the-art AI algorithms rely on underlying technology from &lt;&lt;&gt;&gt; leading natural language processing (NLP) frameworks such as OpenAI&#x27;s GPT-3 and BERT. These frameworks have been trained on vast amounts of text data to have a deep understanding of language patterns and context. By leveraging the power of thesed on massive amounts of text data and are capable of generating high-quality and contextually relevant suggestions for autocompletions. The backend of Novel leverages the power of these advanced NLP frameworks to enhance the user experience and provide accurate and helpful suggestions<p>Novel is funded by &lt;&lt;&gt;&gt; d on vast amounts of text data to understand and generate human-like text. The backend infrastructure of Novel leverages the power of these pretrained models to provide accurate and contextually relevant autocompletions. The sophisticated algorithms in the backend analyze the input text<p>How is Nobel funded &lt;&lt;&gt;&gt; d on vast amounts of text data and have achieved impressive results in various NLP tasks. The combination of GPT-3 and BERT allows Novel to generate highly accurate and contextually relevant autocompletions for users. The sophisticated backend continuously learns<p>what does novel cos &lt;&lt;&gt;&gt; d on vast amounts of text data to generate high-quality autocompletions. The sophisticated backend in Novel leverages the power of GPT-3 and BERT, combining their strengths to deliver accurate and contextually relevant suggestions. With GPT-<p>It appears to be &lt;&lt;&gt;&gt; d on vast amounts of text data to generate highly accurate and contextually relevant autocompletions. The backend infrastructure of Novel leverages the power of these NLP frameworks to process and analyze user input, allowing it to generate intelligent suggestions in real-time<p>What if I want to write about &lt;&lt;&gt;&gt; d on vast amounts of text data, allowing them to generate accurate and contextually relevant suggestions. The backend of Novel utilizes a combination of these NLP frameworks to enhance the autocompletion capabilities. With GPT-3, the system can generate coherent<p>start a new topic &lt;&lt;&gt;&gt; d on vast amounts of text data and have the ability to generate coherent and contextually relevant suggestions. The combination of GPT-3 and BERT allows Novel to offer a highly intelligent and accurate autocompletion feature to its users. The backend architecture _____
nittanymountalmost 2 years ago
nice !
gabereiseralmost 2 years ago
This is pretty slick. Unobtrusive prompt and then you get a pretty intrusive drop-down. Pretty it up. It has a wonderful response and flow and I would be interested in using this in future projects.
评论 #36365098 未加载