# Org Roam UI Lite

**URL:** <https://org-roam.discourse.group/t/org-roam-ui-lite/3852>\
**Category:** UX & UI\
**Created:** [August 19, 2025, 6:14am UTC](https://org-roam.discourse.group/t/org-roam-ui-lite/3852 "2025-08-19T06:14:39Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![tani](https://yyz2.discourse-cdn.com/free1/user_avatar/org-roam.discourse.group/tani/32/1666_2.png) [@tani](https://org-roam.discourse.group/u/tani)\
**Post date:** [August 19, 2025, 6:14am UTC](https://org-roam.discourse.group/t/org-roam-ui-lite/3852/1 "2025-08-19T06:14:39Z")

</div>

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**

```bash
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**

```auto
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 | ✅ Best choice | ❌ Not supported |
| Static site publishing | ⚠ Requires setup | ✅ Built-in |
| Maintenance complexity | ⚠ Complex | ✅ Simple |
| Feature richness | ✅ Comprehensive | ⚠ 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

```bash
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

```elisp
(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

- **GitHub Repository** : [GitHub - tani/org-roam-ui-lite](https://github.com/tani/org-roam-ui-lite)

## 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.

---

<div class="post-metadata">

**Author:** ![akashp](https://yyz2.discourse-cdn.com/free1/user_avatar/org-roam.discourse.group/akashp/32/1383_2.png) [@akashp](https://org-roam.discourse.group/u/akashp)\
**Post date:** [August 20, 2025, 3:11am UTC](https://org-roam.discourse.group/t/org-roam-ui-lite/3852/2 "2025-08-20T03:11:04Z")

</div>

Much thanks and appreciation for this

---

<div class="post-metadata">

**Author:** ![nobiot](https://yyz2.discourse-cdn.com/free1/user_avatar/org-roam.discourse.group/nobiot/32/159_2.png) [@nobiot](https://org-roam.discourse.group/u/nobiot)\
**Post date:** [August 23, 2025, 7:14am UTC](https://org-roam.discourse.group/t/org-roam-ui-lite/3852/3 "2025-08-23T07:14:19Z")

</div>

> [@tani](#):
>
> I would be honored to contribute org-roam-ui-lite to the org-roam-ui organization and work alongside this amazing community.

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.

---

<div class="post-metadata">

**Author:** ![tani](https://yyz2.discourse-cdn.com/free1/user_avatar/org-roam.discourse.group/tani/32/1666_2.png) [@tani](https://org-roam.discourse.group/u/tani)\
**Post date:** [August 23, 2025, 9:59am UTC](https://org-roam.discourse.group/t/org-roam-ui-lite/3852/4 "2025-08-23T09:59:08Z")

</div>

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!

---

<div class="post-metadata">

**Author:** ![ChuckSneed](https://yyz2.discourse-cdn.com/free1/user_avatar/org-roam.discourse.group/chucksneed/32/1379_2.png) [@ChuckSneed](https://org-roam.discourse.group/u/ChuckSneed)\
**Post date:** [August 24, 2025, 10:17am UTC](https://org-roam.discourse.group/t/org-roam-ui-lite/3852/5 "2025-08-24T10:17:15Z")

</div>

@tani : can the Org Roam UI Lite be used on android Chromium/Vanadium Browser? Take a look at the workflow I outline [here](https://org-roam.discourse.group/t/org-roam-ui-for-viewing-org-roam-notes-on-mobile/3853).

---

<div class="post-metadata">

**Author:** ![akashp](https://yyz2.discourse-cdn.com/free1/user_avatar/org-roam.discourse.group/akashp/32/1383_2.png) [@akashp](https://org-roam.discourse.group/u/akashp)\
**Post date:** [August 24, 2025, 11:52am UTC](https://org-roam.discourse.group/t/org-roam-ui-lite/3852/6 "2025-08-24T11:52:16Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![ChuckSneed](https://yyz2.discourse-cdn.com/free1/user_avatar/org-roam.discourse.group/chucksneed/32/1379_2.png) [@ChuckSneed](https://org-roam.discourse.group/u/ChuckSneed)\
**Post date:** [August 24, 2025, 12:09pm UTC](https://org-roam.discourse.group/t/org-roam-ui-lite/3852/7 "2025-08-24T12:09:10Z")

</div>

> [@akashp](#):
>
> Why bother so much?

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

---

<div class="post-metadata">

**Author:** ![dustinfarris](https://yyz2.discourse-cdn.com/free1/user_avatar/org-roam.discourse.group/dustinfarris/32/1055_2.png) [@dustinfarris](https://org-roam.discourse.group/u/dustinfarris)\
**Post date:** [August 24, 2025, 2:55pm UTC](https://org-roam.discourse.group/t/org-roam-ui-lite/3852/8 "2025-08-24T14:55:21Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![tani](https://yyz2.discourse-cdn.com/free1/user_avatar/org-roam.discourse.group/tani/32/1666_2.png) [@tani](https://org-roam.discourse.group/u/tani)\
**Post date:** [August 24, 2025, 3:22pm UTC](https://org-roam.discourse.group/t/org-roam-ui-lite/3852/9 "2025-08-24T15:22:09Z")

</div>

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](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/](https://nodejs-mobile.github.io/).

---

<div class="post-metadata">

**Author:** ![tani](https://yyz2.discourse-cdn.com/free1/user_avatar/org-roam.discourse.group/tani/32/1666_2.png) [@tani](https://org-roam.discourse.group/u/tani)\
**Post date:** [August 24, 2025, 3:24pm UTC](https://org-roam.discourse.group/t/org-roam-ui-lite/3852/10 "2025-08-24T15:24:35Z")

</div>

Thank you. I appreciate any feedback you can provide.
