Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Stratum Live

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.

Features

  • 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

Tech stack

  • 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

Getting started

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.

Configuration

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

Project structure

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

License

Bachelor's thesis project. No license is granted for reuse.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages