logoalt Hacker News

I built a faster Notion in Rust

151 pointsby PaulHoulelast Wednesday at 9:15 PM82 commentsview on HN

Comments

bryanhogantoday at 9:08 PM

I can highly recommend Obsidian for long-term knowledge bases. Have been writing about using it well: https://bryanhogan.com/tags/obsidian

It's missing collaboration at the core, although it's possible to achieve this currnetly with third party solutions, or the next major update should also include it as it's the "multiplayer" update.

show 2 replies
arnaudsmtoday at 1:27 PM

This is great, I wish tech giants focused more on latency.

Gmail, Notion, Facebook, are painfully slow on my high-end laptop with gigabit ethernet. Something is wrong in our modern engineering culture.

show 4 replies
brazatoday at 3:06 PM

Last year after a thread around Obsidian and the downhill of Evernote I took almost 6 months to migrate more than 100K clippings and notes and it's so refreshing to have your own data in sync in your terms and not be in any proprietary format, that I do not image myself going to anywhere that I cannot push/retrieve my notes in my own terms in a portable format.

Notion is a great product for corporations, and I get why companies are jumping on this bandwagon so fast; however, as a consumer, I wouldn't consider it or any option based on seat (like Outcrop) or any that wouldn't give me a binary that I can use in whatever machine that I want.

Syttentoday at 1:33 PM

The prosemirror port would make for a nice OSS library if OP is willing to put it on crates.io.

hresvelgrtoday at 1:18 PM

Looks promising. Where I think Notion really succeeds is letting people easily make attractive live documents. Where they've meandered off imho is trying to shoehorn in an RDBMS. If you can enable people to make pretty pages, and keep your document format simple, you'll be off to a very good start.

xanthtoday at 2:13 PM

This looks like it has great potential, but what I really want is an open source "notion" with a well considered plugin & schema model. I desperately want to sync back all my data into a single cohesive graph; notes, reading list, messages, exercise activity in a more compute friendly format than MD files.

show 12 replies
sgarlandtoday at 2:04 PM

It certainly looks like the author has given careful thought to making this performant, but I am skeptical about it at scale. While OT means there should be fewer updates than CRDT, you still wind up with a fair amount of them, and you have to periodically rebuild the base document from accumulated steps, which can be quite large.

Assuming your backing store is Postgres, I’d experiment a lot with the various column storage strategies, at various sizes of documents and varying amounts of writes. The TOAST overhead can become a huge bottleneck.

yomismoaquitoday at 3:31 PM

Is this the new "I built a Twitter clone in a weekend"?

WillAdamstoday at 7:12 PM

The thing which I've always wanted to see is a knowledgebase system which uses a company's e-mail as an interface:

- new e-mail from client comes in which can't be matched to an existing project? New page in the knowledgebase

- second e-mail from client comes in w/ an attachment? It's stripped off and added to that page in the kb

- employee sends out e-mail with link to the initial version of the project? The link is added to that page

&c.

Maybe AI could make something like that work now?

show 1 reply
johnisgoodtoday at 1:14 PM

Irrelevant, but "a faster", not "an faster".

show 2 replies
bomewishtoday at 3:11 PM

This looks like a tidy little out of the box fts system. I’d use it as a tantivy interface basically. And I’d pay for it if it had good and simple document ingestion and metadata search semantics. Not the intended use case really but this doesn’t exist.

nixpulvistoday at 5:54 PM

> It’s not decentralised, it’s persisted to Postgres, but loaded in memory on startup.

How are changes to permissions managed I wonder.

hexotoday at 5:55 PM

Nice. I dunno what is Notion but I suppose - I tried Obsidian and some other sw i dont recall anymore, never liked it. Then I found org-mode in emacs and gave it a try. I did not look back except for one feature - mind maps or 2D note taking. For this I've tried mind maps but it just wasnt really what i needed or wanted. I probably dont really know what I want or mean by 2d note taking, I just have some vague idea.

woiletoday at 1:54 PM

prosemirror in rust? I'd like to see something like that!

airstriketoday at 1:24 PM

Really cool stuff. I will spend some time here digging into the details.

I've built a Cursor for business users in Rust. Spreadsheets, slideshows, and an agentic loop.

If you're up for it, it would be nice to chat and share stories and vision.

Email is andy at inboard dot ai

denysvitalitoday at 5:00 PM

> Something went wrong! Cannot read properties of null (reading 'enable')

(On outcrop.app)

CalvinClaretoday at 4:05 PM

While it's possible to develop a more convenient version of Notion, I think it's only suitable for practice, since we can't compete with companies that monopolize the AI note-taking industry.

ancharmtoday at 3:20 PM

Will this also be available on the web via WASM compilation, in addition as a desktop app?

aswegs8today at 1:25 PM

Whats your pricing? Will early access be free?

show 1 reply
0daymantoday at 3:09 PM

Obsidian is much better

thiago_fmtoday at 2:17 PM

I see a big amount of naiveness on his post, I tried to view it with a positive mindset, but I can't help myself and think how naive his perspective on that is.

First, lots of server-side code is IO-bound, writing it in Rust vs. Java/C# would barely show any difference in a Monitoring tool, in a real-life scenario.

His authorization system is very limited in scope, of course it can be fast! Get real users and we will see if that will still be fast.

When you are running it in production, even if using Zanzibar's approach of loading everything into memory, you'd still need to handle many aspects he didn't think of, like updates to such permissions, and dealing with sharding etc. Things are always more complex in real life.

And last not but the least, Notion is really fast as it is. I never knew it was slow.

Without bringing any new concept to "Notion", I find it hard to believe this will ever work.

I hope he finds happiness building it though, building is fun!

tonyoconnelltoday at 4:41 PM

You can make your website run fast as well with https://astro.build - it strips the Javascript and uses HTML until js is needed. You can get 300ms page loads for outcrop.app with Astro on Cloudflare Pages. Good luck with the project. I requested early access - You should use the response to the form submit requesting access better - I mean somebody who added their email expressed a lot of intent - why end the conversation with a toast notification? I hope life is going well in Dublin.

beswalodtoday at 1:28 PM

Another Notion-like app. But it's already many FOSS alternatives

show 1 reply
drcongotoday at 1:37 PM

Loved the thought processes in this post, so definitely interested. Notion always feels half-baked.

mellosoulstoday at 3:22 PM

Unless its open source I can't really see the point with bragging about it being in Rust. Its just another product, and its either faster or its not - the underlying language or platform is pretty irrelevant.

wjsdj2009today at 2:25 PM

Interesting perspective. Thanks for sharing.