from Hacker News

Show HN: Eidos – Offline alternative to Notion

by mayne on 6/21/24, 6:30 AM with 90 comments

I'm a big fan of Notion, having used it for 7 years. When I first met Notion, it was just a block document editor, and it didn't excite me until it released the Database. Later, I learned about Airtable, and a bunch of similar products, all of them are SaaS, with such powerful tables but poor performance. Why isn't there a personal offline version table? Most of the time, I don't need to collaborate with others. What I really want is a personalized, offline version of Notion with better performance and more flexibility. So that I can have full control over my data.

Notion, like most SaaS products, is not open-source, so I can't customize it to my heart's content. I can only wait and vote for new features, but I can code, and I don't want to wait. I really like the concepts of FOSS, solid, and local-first. SaaS could die. Long may the SQLite. So, I built Eidos based on sqlite for managing my personal data throughout my lifetime in one place. Eidos is a long-term project for me. It looks like Notion, but the core is more like "obsidian.sqlite" with a powerful extension system.

Here are a few key ideas:

- Eidos is built based on sqlite-wasm and runs entirely in the browser. It can be used immediately, with no installation or configuration required. It's a pure PWA, with full offline support.

- A block-styled document editor and an Airtable-like table, built on top of SQLite, where each table is a real SQLite table.

- A powerful extension system inspired by Figma plugin and Cloudflare worker. You can write scripts in TypeScript directly in the browser. It is easy to manipulate data in docs, tables, and the file system. It also supports API.

- If you're not a developer, you're still in luck. We're living in an AI era. LLM empowers people to craft their own software without writing any code. Eidos deeply integrated with LLM. You can translate, summarize, talk to your data, process table data in batches, and more. It makes your life easier with AI. You can fully customize your prompts and freely choose your LLM provider, without being locked to any vendor.

To be honest, so far, there are still some bugs and shortcomings, and it hasn't yet reached my envisioned perfection. There is still some work to be done, but the basic framework has taken shape. I've been working on it for a year and have eaten my own dog food for the past half year. To help Eidos become better (and celebrate the release of the Elden Ring's DLC), I've decided to make it open-source and gather more feedback. Now, I'm going to take a break and play Shadow of the Erdtree.

- https://eidos.space

  • by thih9 on 6/22/24, 5:52 AM

    In case anyone else is confused, this is not related to eidos interactive, which has been now defunct for 14 years[1] (merged with square enix).

    [1]: https://en.m.wikipedia.org/wiki/Eidos_Interactive

  • by crooked-v on 6/22/24, 12:45 AM

    As a heads up, this seems to break completely if any of a couple of different Chrome extensions I have are enabled (for example, Simplify - https://chromewebstore.google.com/detail/simplify-copilot-au...).

    Also, maybe it's just me, but I feel like the sqlite-based thing is, if anything, kind of a downside. Use it for caching and calculation, sure, but I want the source of truth to be just plain markdown files I can take into other apps in 5 years when whatever I'm using now inevitably dies.

  • by rgoodwintx on 6/22/24, 1:24 AM

    I’ve been keeping an eye on these open source block based apps, and this kind of feels like you set out to scratch your itch and managed to release the most feature complete and polished one out there. Well done!

    Something about SQLite at the core just seems to drive a direction I like, and pushes an open ethos. (Shout outs to Grist in this arena as well.) So much power in such simple interfaces… and when I saw you could just drop in your own SQL into Eidos, I shed a tear at the graveyard of my never-quite-working attempts at data-fying Obsidian.

  • by PurpleRamen on 6/21/24, 2:31 PM

    You maybe want to check the trademarks for this name, there are some for it. Not that this must become a problem, but it's better to avoid potential problems early.

    Besides that, SQLite seems promising, but not sure how exactly this relates to everything. The website is talking about saving in browser, and there is no release on the GitHub. Is this something running in browser only?

  • by karencarits on 6/22/24, 8:58 AM

    I have tried quite many such apps and keep returning to Tiddlywiki (https://tiddlywiki.com/). It is not perfect, and the lack of hierarchy can be both a blessing and a curse. It uses flat-files which can impact performance and be more cumbersome than a database. Also, the integration with external files is a bit clumsy.

    However, the main strength is customizability. Various data is best presented in various ways, and separating data/content and presentation/template/layout while keeping them tightly integrated is incredibly powerful.

    Cudos for thinking long-term with SQLite, avoiding lock-in is crucial for these kinds of apps!

  • by ibdf on 6/21/24, 6:40 PM

    I am a big fan of Notion but lately it's like they have been asleep on the driver seat. If they only offered custom extensions I think they would do so much better. I have recently switched to Obsidian but I am not fully committed yet, so i will give this a try.

    My only critic so far... It seems you copied one of my least favorite "features" from Notion which is to force a default "Title" column for the tables. I find that most of the time I don't need a Title column, but I can't turn it off nor can you change it's type.

  • by csomar on 6/22/24, 4:42 AM

    Wait a second. Do you mean there is no sync possibility? Because the browser storage is far from reliable. I don't see this as "safe" if the data is not synced or backed up somewhere else.
  • by f0c1s on 6/22/24, 5:58 PM

    I have been making notes for a decade now. I have moved through plain txt files, no extension (linux style) txt files, CherryTree, SimpleNotes, LogSeq, Notion, GitHub Pages, Obsidian and may be more.

    I have moved through phases of putting notes in physical notebook and scanning. I have 10s of scanned notebooks.

    I have taken digital notes via stylus, via wacom pen and tablet, Samsung notes (best note taking app with stylus), a bunch of linux apps (xournal, xournal++ etc) and more...

    I have written notes in pure html.

    I have written personal app for taking notes in browser and storing it in postgres.

    There is nothing better than text + git. Markdown is second.

    My current configuration is: text/markdown + git + vs code + (plain) obsidian + plantuml + mermaid + local-git-server/github/gitlab etc.

  • by huevosabio on 6/22/24, 7:19 AM

    Tangent!

    I really wanted to like Notion but it's not smooth enough for writing. The cell system makes it clumsy.

    I prefer to write on markdown files because it's much faster and I can do it on my text editor of choice. I like obsidian because it's basically that with a bit of extras.

    But then I lose the concurrent editing.

    I want Google Docs meets obsidian type of environment. And I am yet to find it.

    If any of you know of one, please let me know!

  • by drio0 on 6/21/24, 2:21 PM

    Congrats on the effort. Looking forward to have this expanded or further developed. The reason why I still use Notion is definitely for their database feature and an usable mobile app. It’s hard coming back to desktop-only
  • by eternityforest on 6/26/24, 9:13 AM

    This looks really cool! The only thing that seems to be missing is sync, since SQLite doesn't work well with SyncThing et al.

    Something like cr-sqlite could potentially fix that though, although I'd prefer just plain markdown files for the backend.

  • by wwweston on 6/22/24, 8:43 PM

    This looks cool. At first pass, I have one big question: are there any facilities or even just plumbing for syncing between installs / front-ends?

    SaaS/cloud approaches have real downsides in terms of ownership but the big upside is access from multiple points/devices (home desktop, browser on office machine, personal laptop, mobile device, etc). Obviously SaaS isn't the only way to do that, centralizing around self-hosting or some syncing feature can work too. Anything like that on the radar?

  • by Rovoska on 6/26/24, 12:17 PM

    This post complains about Notion being slow, but when I try out the demo myself Eidos is slow as molasses. Forms are populated full seconds after I write in them, and I accidentally created several tables on accident because they again took multiple seconds to exist.
  • by obeavs on 6/21/24, 10:20 PM

    Wow! Really awesome local-first work on a modern stack. Would love to know more about your experience with Glide and Lexical.
  • by buildj48 on 6/22/24, 2:50 AM

    Very nice work Do you mind elaborating on how this differs from “outline” and “anytype”? I think a comparison table on the website on how this solution differentiates itself from competitors is going to be helpful. Also, what’s going to be the pricing model?
  • by curtisblaine on 6/21/24, 10:52 PM

    Some questions:

    1. How to use extensions? I can create one (it looks like a javascript function getting some context and one argument) but I have no idea how to invoke it. I expected to be able to invoke them on selected text.

    2. Does it sync on other computers / browsers or is it only local?

  • by nanovision on 6/25/24, 5:29 AM

    This looks amazing. Just joined your discord channel.

    Please make it no-code friendly for one-click easy installation if possible ( Similar to how WordPress or Drupal can be installed )

  • by throw21378912 on 6/22/24, 2:33 AM

    This appears to be using a version of babel that allows ACE FYI.

    @babel/traverse <7.23.2

    https://github.com/advisories/GHSA-67hx-6x53-jw92

  • by kaz-inc on 6/22/24, 7:42 PM

    How do you deal with iOS deleting PWA data when unused? I'm building an app that relies on indexedDB, which afaik is the only persistent storage a PWA can access.
  • by pants2 on 6/22/24, 6:59 AM

    Could one use this to say host a public docs site or blog? Does it have a backend server that needs to run or can I just upload a folder to S3 and have it work as a static site?
  • by neets on 6/22/24, 5:46 AM

    The lack of note linking is a deal breaker for me.

    Also when it comes to LLM stuff, I would like to hook up AI's via a OpenAI Compatible LLM such as LiteLLM and Ollama

  • by ilrwbwrkhv on 6/21/24, 7:39 PM

    This is fantastic work. Will play around with it!
  • by minraws on 6/22/24, 8:27 AM

    Btw the site on mobile forces horizontal scroll, could you improve it a bit It makes it very hard to read the landing page atm.

    :)

  • by rufius on 6/22/24, 3:30 PM

    Is there a brief blurb about how this differs from Obsidian? Just curious mostly.
  • by euphetar on 6/22/24, 12:43 PM

    Please provide a feature to load data from notion export
  • by Naac on 6/21/24, 11:53 PM

    I thought this was similar ot Tiddlywiki[0], but then I saw all the LLM integration stuff.

    [0] https://tiddlywiki.com/

  • by replwoacause on 6/22/24, 4:06 AM

    This looks really nice! Good job
  • by tonymet on 6/21/24, 10:23 PM

    What’s the shortcoming in iOS that has spawned a million notes clones