Skip to content
Browse documentation
On this page
Product guide · v0.7.0

Meetings, documented.

Learn how to run a meeting, understand its retained record, or work on the code. This guide describes the released product and its limits.

The product

A shared workspace with a traceable record.

LOR. combines a link-based video call with chat, screen sharing, a shared board, and notes. Optional retained captions become the source for reviewed decisions and follow-up work in the same room.

Transcription is designed for mixed Arabic and English speech. Accuracy still depends on audio and the selected provider: review the record before relying on it.

Explore the product

One room, one thread

Use the room from start to finish.

Check your devices before joining. Choose the tools you need during the call, then review the resulting evidence with the host.

  1. 01

    Check and join

    Open the invitation, enter a display name, and check the camera and microphone in prejoin. A waiting room may require the host to admit you.

  2. 02

    Work together

    Use chat, screen sharing, the board, and shared notes without an AI key. Captions and local recording are optional actions, with their own notices.

  3. 03

    Review and return

    The host reviews decisions and confirms participant-owned commitments. Timeline, Memory, and search let you return to retained sources within this room.

Released product

Know what the product includes.

The left column describes available features. The right explains their boundaries or the release that will extend them.

Video meeting

Shipped today

LiveKit room, prejoin, chat, screen share

Scope and next steps

Join with a link and a display name; no account required.

Retained evidence

Shipped today

Captions, decisions, tasks, Timeline, Memory, search

Scope and next steps

Search excludes other rooms, the live occurrence, expired data, and unreviewed proposals.

Privacy edges

Shipped today

Room-scoped records, deletion, retention rules, and browser-local recording

Scope and next steps

Retention is up to 30 days. Expired rows are cleaned on read. Official self-hosting is planned for v0.9.

Extensions

Shipped today

A focused repository and public issues

Scope and next steps

Integrations in v0.8; plugin ecosystem in v1.0

Under the surface

How the pieces fit together.

Media and shared meeting state travel over LiveKit. Next.js handles short request/response work; Postgres holds the retained projection.

  1. 01

    Browser

    Displays the call and collaboration tools and holds encrypted user keys.

  2. 02

    Live room

    LiveKit carries media and shared state between participants.

  3. 03

    Retained record

    Postgres stores room-scoped transcripts and decisions under retention rules.

The application does not run its own long-lived WebSocket server. That boundary keeps the same code usable on a hosted or future self-hosted box.

Start locally

Run the project locally.

Use the hosted app to try a meeting now. For code review or development, start with these commands and then add your local service settings.

Quick start

Run these in a terminal, then configure services

git clone https://github.com/Lord-shaban/lor && cd lor
cp .env.example .env.local
npm install && npm run dev

Configure LiveKit and Postgres in .env.local using .env.example. AI keys are optional. These are development steps; the official Docker deployment is planned for v0.9.

Pick up a thread

Make a change others can verify.

Every contribution starts with a scoped issue, a branch, the required checks, and a pull request that explains what changed. Arabic RTL is the first layout pass; English LTR follows.

  1. 01Read the contribution contract
  2. 02Choose a focused issue with acceptance criteria
  3. 03Run typecheck, lint, tests, build, docs checks, and relevant browser verification

Before you open an issue

Common questions

Understand the data and service boundaries before starting a meeting or opening an issue.

Do API keys reach storage?

No. Operator keys stay server-only, and a participant's key is encrypted in the browser and forwarded without being written to the database, logs, or cache.

Does an AI outage break the call?

No. AI features degrade to their bounded fallback; video, audio, collaboration, and local recording keep their own path.

Can I self-host it now?

The self-hosting contract is planned for v0.9. The current public path is the hosted demo and the reproducible local development setup.

Why is Arabic the first pass?

Mixed Arabic/English speech and RTL layout are first-class product constraints. Every UI change is checked in Arabic before English.