Stratum Live is a real-time collaborative prompt engineering platform, developed as a bachelor's thesis project. Teams edit prompt templates together in a shared workspace, test them in parallel across multiple LLM providers, and converge on the best version through commenting, voting, and full version history with branching.
- Real-time collaborative editor — CRDT-based co-editing (Yjs) with live cursors, presence indicators, and typing notifications
- Version control for prompts — every edit creates a version; browse history, restore, and branch from any point
- Inline comments and threads — comment on selected text, reply, resolve, and get notified
- Prompt voting — upvote/downvote prompts and sort by score
- Parallel model testing — run a prompt against multiple providers (OpenAI, Anthropic, OpenRouter via LiteLLM proxy) with per-test parameters (temperature, top_p, max_tokens) and side-by-side result comparison
- Bring Your Own Key — teams supply their own API keys per provider; keys are stored encrypted in the backend
- Template variables —
{{variable}}syntax with a runtime input form for prompt previews - Workspaces and roles — public workspaces (link-based access) or private invitation-only workspaces with Owner / Editor / Viewer roles
- Import / export — export prompts as JSON or Markdown
- Notifications — mentions, comments, votes, and share events
- Local LLM development — mock LLM server and LiteLLM proxy for offline model testing
- Frontend: Next.js 16 (App Router), React 19, TypeScript 5, Tailwind CSS 4, shadcn/ui, Monaco editor
- Backend: Convex (reactive queries/mutations, real-time sync), Better Auth (@convex-dev/better-auth) for email/password auth
- Realtime collaboration: Yjs CRDT, Convex presence
- Testing: Playwright end-to-end tests
- Runtime: Bun, Node.js
Requirements: Node.js 20+, Bun, and a Convex deployment (local or cloud).
bun install
# Convex needs its own env (e.g. local deployment):
bunx convex dev
# Terminal 1 — Convex dev server + Next.js dev server
bun run dev
# Terminal 2 — optional local LLM for offline model testing
bun run dev:mock # mock LLM server
# or
bun run dev:litellm # LiteLLM proxy via Docker (uses litellm/config.yaml)Open http://localhost:3000, sign up with email/password, create a workspace, and start editing prompts.
Copy the relevant keys from your Convex deployment and LLM providers into .env.local (gitignored, never committed):
| Variable | Purpose |
|---|---|
CONVEX_DEPLOYMENT / NEXT_PUBLIC_CONVEX_URL |
Convex deployment URL |
BETTER_AUTH_SECRET |
Auth session signing secret |
| Provider API keys | Used per-workspace via Bring Your Own Key |
src/app — Next.js App Router pages (auth, dashboard, workspace)
src/components — editor, workspace, settings, and layout components
convex/ — Convex schema, queries, mutations, and actions
tests/ — Playwright end-to-end tests
Bachelor's thesis project. No license is granted for reuse.