Org Roam UI Lite

I’m excited to introduce org-roam-ui-lite, a lightweight and maintainable reimplementation of org-roam-ui’s core visualization features. Built with deep respect for the original project’s vision, this implementation focuses on simplicity, static export capabilities, and long-term maintainability.

Motivation

While org-roam-ui offers an impressive feature set, its complexity can present maintenance challenges. org-roam-ui-lite addresses these challenges by:

  • Focusing on core functionality - Graph visualization and note browsing
  • Minimizing dependencies - Reducing the maintenance burden
  • Enabling static site generation - Built-in support for publishing to GitHub Pages, Netlify, etc.
  • Providing a sustainable codebase - Clean architecture with comprehensive testing

Key Features

1. Minimal Yet Powerful

  • Zero-configuration setup
  • TypeScript throughout for type safety
  • Comprehensive test coverage with Vitest
  • Clean, maintainable codebase

2. Native Static Export

npm run export -- -d /path/to/org-roam.db -o /path/to/output
python3 -m http.server -d /path/to/output

Perfect for sharing knowledge bases without running a server!

3. Dual Backend Architecture

  • Node.js Backend: Fast Hono server with modern tooling
  • Emacs Backend: Single-file implementation using only simple-httpd

4. Modern Tech Stack

org-roam-ui-lite/
├── packages/
│   ├── backend/    # Hono + DrizzleORM + sql.js
│   ├── frontend/   # React + Vite + Cytoscape/Force-Graph
│   └── emacs/      # Pure Elisp server (one file!)

Complementary, Not Competitive

org-roam-ui-lite is designed to complement org-roam-ui, not replace it:

Use Case org-roam-ui org-roam-ui-lite
Rich editing features :white_check_mark: Best choice :cross_mark: Not supported
Static site publishing :warning: Requires setup :white_check_mark: Built-in
Maintenance complexity :warning: Complex :white_check_mark: Simple
Feature richness :white_check_mark: Comprehensive :warning: Essential only

Technical Highlights

Compatibility

  • Uses the same org-roam database format
  • Supports familiar themes (Nord, Gruvbox, Dracula)
  • Multiple renderer options (Cytoscape, Force Graph, 3D Force Graph)

Quick Start

Pre-built Release

curl -fsSLO https://github.com/tani/org-roam-ui-lite/releases/latest/download/org-roam-ui-lite.zip
unzip ./org-roam-ui-lite.zip
cd org-roam-ui-lite
node ./backend/dist/serve.js -d /path/to/org-roam.db

Emacs Integration

(add-to-list 'load-path "/path/to/org-roam-ui-lite/emacs")
(require 'org-roam-ui-lite)
(org-roam-ui-lite-mode)

Vision for Integration

By joining the org-roam-ui family as org-roam-ui-lite, we can:

  1. Expand user choice - Different tools for different needs
  2. Share maintenance burden - Each project focuses on its strengths
  3. Strengthen the ecosystem - Complementary solutions increase overall value
  4. Improve sustainability - Simpler codebases are easier to maintain long-term

Resources

Conclusion

org-roam-ui-lite represents a sustainable approach to org-roam visualization, prioritizing maintainability and static publishing while respecting the original project’s pioneering vision. By working together, we can offer users a complete spectrum of tools for their knowledge management needs.

I would be honored to contribute org-roam-ui-lite to the org-roam-ui organization and work alongside this amazing community.

4 Likes

Much thanks and appreciation for this

This looks like a great addition to the Org-roam project. @dustinfarris what do you think?

@tani , It may be better if you proposed this in the project issue on GitHub of Org-roam, the main project, not Org-roam-UI – the ORUI project maintainer seems to be too busy with their other parts of life and may not respond in a timely manner. There are a couple of maintainers on the main Org-roam project.

2 Likes

Hi @nobiot,

Thank you for the kind words and the excellent suggestion!

That’s a great point. It makes perfect sense to post the proposal on the main Org-roam project’s GitHub issues to ensure it reaches the active maintainers.

I will go ahead and create an issue there and link back to this conversation for context.

Thanks again for the guidance!

1 Like

@tani : can the Org Roam UI Lite be used on android Chromium/Vanadium Browser? Take a look at the workflow I outline here.

Why bother doing so much effort? The server will run on port 5173 or 5174. On your another computer/mobile in the same network - unless you block something just visit the local ip in the port and profit.

No need to install termux run Emacs in android.

So that I can read my org-roam notes and its graph when my laptop is shutdown.

I’ll have to take a closer look but this seems great.

2 Likes

Yes. you can use org-roam-ui-lite android’s emacs as you mentioned. However, please consider using a static-site generator with https://github.com/tani/org-roam-ui-lite?tab=readme-ov-file#building-a-static-site-pre-built. The plain HTML files can be read anywhere, even on an Android browser moreover offline environment too. You can run the generator using Node.js, which is available at https://nodejs-mobile.github.io/.

Thank you. I appreciate any feedback you can provide.