/eidos

Offline alternative to Notion. Eidos is an extensible framework for managing your personal data throughout your lifetime in one place.

Primary LanguageTypeScriptGNU Affero General Public License v3.0AGPL-3.0

eidos

Home Page | Discord

Eidos is an extensible framework for managing your personal data throughout your lifetime in one place.

Features

  • Everything runs inside your browser. It's a pure PWA with no web server.

  • Offline Support: Access your data without an internet connection. Data is stored locally for blazing-fast performance.

  • AI Features: Deeply integrated with LLM for AI-powered capabilities. Translate, summarize, and interact with your data within Eidos. AI works even offline.

  • Extensible: Customize Eidos to suit your needs.

    • Prompt: Speed up your workflow with the Prompt extension. No coding required.
    • UDF: Use JavaScript to customize Formula functions.
    • Script: Create powerful data processing logic with TypeScript/JavaScript.
    • App: Build your own app using any preferred framework.
    • Block: Extend documents with custom blocks.
    • Field: Extend tables with custom fields.
  • Developer Friendly:

    • API & SDK
    • Sqlite Standardization: Every table in Eidos is a SQLite table.

Requirements

Currently, Eidos only supports the latest version of chromium-based browsers, such as Chrome, Edge, Arc, and Brave. It recommends a version greater than 122.

Safari, Firefox, and other browsers are not tested yet.

Why?

Eidos is built on sqlite-wasm and requires browser support for OPFS[1] to work.

Storing data in a local folder is a good practice to ensure better data security. With Chrome 122 and its later versions, we can get persistent permissions[2] for local folders, so we do not have to select a folder every time we open the web app.

  1. https://sqlite.org/wasm/doc/trunk/persistence.md#opfs
  2. https://developer.chrome.com/blog/persistent-permissions-for-the-file-system-access-api

How to develop

  1. Clone the repository git clone git@github.com:mayneyao/eidos.git
  2. Run pnpm install to install dependencies
  3. Run pnpm build (only needed once)
  4. Run pnpm dev
  5. You can now access the app in your browser at http://localhost:5173

Generate sdk types

pnpm gen-types

Roadmap

  • Publish Service: Publish your data to the web.
  • P2p sync based on CRDT: local-first, not local-only. Sync your data across devices.

Credits

Eidos based on the following open-source projects:

License

This project is licensed under the terms of the AGPL license.