Skip to content

Explore funcitonality to allow for filesystem based applications #30

@ben-ryder

Description

@ben-ryder

Headbase is currently designed around usage on the web. A different type of application is something like Obsidian, that builds upon the native filesystem and uses markdown files. This has a number of advantages for users, the most important being that your data can be stored in plain text files and isn't locked into any specific implementation or app.

The web isn't a bad though, for example it's the easiest way to distribute a "cross-platform" app.
I think a good approach here will be to take advantage of both the web and native applications.

Potential Approach

  • "Native" Apps
    • Use tools like Electron or Tauri.
    • Read and write to plain markdown files
    • Use sqlite database for versions?
  • Web App
    • Reads and writes to sqlite database via wasm/OPFS

Questions

  • Could local encryption work in both scenairos? Is this even a required feature?
  • Is the source of truth the filesystem or database?
  • Could files be synced into the database, meaning the app can read/write to the database as the source of truth on all platforms while there is still the advantage of reading/writing to files.
  • Could web apps read/write to OPFS?
  • Would a database be needed for queries, or would it be possible to query markdown file frontmatter? Could that be done in OPFS and on device?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions