Status: Foundation Complete (~75%)
Stack: Next.js 16 · TypeScript · Clerk · PostgreSQL · Prisma · Google Gemini
RelayOS is a Decision Intelligence Platform.
It converts conversations into structured organizational memory.
Modern work happens inside AI assistants, Slack, Discord, meetings, and code editors. Those conversations disappear. RelayOS captures them, extracts knowledge, stores decisions, tracks action items, tracks unanswered questions, and makes them reusable later.
Future AI agents should query RelayOS before making decisions. RelayOS is becoming the Memory Layer for AI Work.
Not: ChatGPT clone · Note-taking app · Chatbot
Is: Decision Memory System for Humans and AI
Important decisions are made every day inside:
- ChatGPT
- Claude
- Cursor
- VS Code
- Slack
- Discord
- Meetings
After the conversation ends, the context is lost.
Teams rebuild the same context. Make the same decisions. Create the same action items.
There is no memory layer between conversation and execution.
RelayOS sits between your conversations and your execution layer.
Conversation
↓
Capture
↓
AI Extraction
↓
Decision + Action Items + Questions
↓
Structured Memory
↓
Search + Reuse
↓
Future AI Agents query before deciding
One platform to remember every important decision.
- Import — Paste or sync conversations from any AI assistant or messaging platform
- Extract — AI extracts decisions, action items, and questions automatically
- Review — Approve, edit, or reject extracted items
- Store — Everything saved with full context: who, why, when
- Recall — Search decisions semantically across workspaces and time
- Next.js 16 App Router
- TypeScript
- Tailwind CSS v4
- shadcn/ui
- Framer Motion
- Clerk (production SSO)
- PostgreSQL (Neon)
- Prisma ORM
- Provider abstraction layer
- Google Gemini (default)
- OpenRouter (fallback)
- Extensible: OpenAI, Anthropic, Ollama
/— Landing page/sign-in,/sign-up— Clerk authentication/dashboard— Protected dashboard/dashboard/workspaces/[id]— Workspace management/dashboard/system/ai-providers— AI provider settings/api/extract— AI extraction endpoint/api/system/ai— AI health diagnostics
- Clerk authentication with automatic user sync
- Multi-workspace system with ownership validation
- Conversation import and viewer
- AI extraction engine (provider-based)
- Decision CRUD with status tracking
- Action Items with priority
- Questions tracking
- Global search across all workspaces
- Dashboard with system diagnostics
- AI provider health monitoring
- Multi-user data isolation
- Browser Extension (planned)
- VS Code integration (planned)
- Memory Chat
- Semantic search
- Decision conflict detection
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router) |
| Language | TypeScript |
| Styling | Tailwind CSS v4 + shadcn/ui |
| Auth | Clerk |
| Database | PostgreSQL (Neon) |
| ORM | Prisma |
| AI | Google Gemini / OpenRouter |
| Deployment | Vercel-ready |
src/
├─ app/
│ ├─ api/ # Backend API routes
│ │ ├─ action-items/
│ │ ├─ conversations/
│ │ ├─ decisions/
│ │ ├─ extract/ # AI extraction endpoint
│ │ ├─ questions/
│ │ ├─ search/ # Global search
│ │ ├─ system/
│ │ │ ├─ ai/ # AI health check
│ │ │ └─ diagnostics/ # System diagnostics
│ │ └─ workspaces/
│ ├─ dashboard/ # Protected dashboard
│ │ ├─ system/
│ │ │ └─ ai-providers/ # AI provider settings
│ │ └─ workspaces/[id]/ # Workspace + nested resources
│ ├─ layout.tsx
│ └─ page.tsx # Landing page
├─ components/
│ ├─ dashboard/ # Dashboard shell, header, sidebar
│ ├─ landing/ # Hero, features, navbar, footer
│ └─ ui/ # shadcn/ui components
├─ lib/
│ ├─ ai/
│ │ └─ providers/ # AI provider abstraction
│ │ ├─ provider.ts # Common interface
│ │ ├─ gemini.ts # Google Gemini
│ │ ├─ openrouter.ts # OpenRouter
│ │ ├─ openai.ts # Stub
│ │ ├─ anthropic.ts # Stub
│ │ └─ ollama.ts # Stub
│ ├─ api-utils.ts # getOrCreateUser(), getCurrentUserId()
│ ├─ constants.ts # App constants, nav config
│ ├─ prisma.ts # Prisma client
│ └─ utils.ts # Helper functions
└─ providers/
├─ auth-provider.tsx
├─ theme-provider.tsx
└─ smooth-scroll-provider.tsx
# Clone repository
git clone <repo-url>
cd relayos
# Install dependencies
npm install
# Setup environment
cp .env.example .env
# Edit .env with your credentials
# Setup database
npx prisma db push
# Run development server
npm run dev| Variable | Required | Description |
|---|---|---|
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY |
Yes | Clerk public key |
CLERK_SECRET_KEY |
Yes | Clerk secret key |
DATABASE_URL |
Yes | PostgreSQL connection string |
NEXT_PUBLIC_APP_URL |
Yes | App URL for callbacks |
AI_PROVIDER |
Yes | gemini, openrouter, openai, anthropic, ollama |
AI_MODEL |
No | Model name (defaults by provider) |
GEMINI_API_KEY |
If Gemini | Google AI Studio key |
OPENROUTER_API_KEY |
If OpenRouter | OpenRouter key |
- Create
.envfrom.env.example - Add Clerk keys from clerk.com
- Add PostgreSQL URL (Neon recommended)
- Run
npx prisma db push - Run
npm run dev - Open
http://localhost:3000
- Auth, Database, Workspaces, Conversations, AI Extraction
- Semantic search
- Decision chat
- Memory consolidation
- Browser Extension (Chrome/Firefox)
- VS Code extension
- Slack bot
- CLI tool
- Proactive decision suggestions
- Conflict detection
- Automated decision documentation
- Multi-agent orchestration
- Fork the repository
- Create a feature branch
- Make changes with clear commit messages
- Ensure
npm run buildpasses - Submit a pull request
Proprietary — RelayOS