You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Revenant captures engineering context from your tools, builds a living knowledge base, and exposes it through an interactive AI mentor — so your team never loses institutional knowledge again.
Integration Hub — Connect GitHub, Slack, Discord, Jira, Linear, and Notion through Unified.to OAuth flows
Habit Intelligence — Events from connected tools are buffered in batches of 15, evaluated by Claude, and scored as good, bad, or neutral engineering habits
Rolling Habit Scores — 30-day rolling scores per engineer with breakdown by category
Three-Namespace Cognitive Memory — Founder knowledge stored across semantic (architecture decisions), episodic (stories and pivotal moments), and procedural (frameworks and playbooks) namespaces with Ebbinghaus forgetting curve decay
Railtracks LLM Proxy — Custom LLM endpoint for Tavus that intercepts avatar conversations, enriches them with parallel multi-namespace memory retrieval, and streams responses through Claude
Founder Console — Interactive Tavus video avatar paired with Claude chat, a Memory Health Map (D3 force-graph), code viewer via NanoClaw, and a voice-reactive OGL shader orb
Memory Health Visualization — D3 force-directed graph showing all memory nodes colored by namespace, sized by decayed strength, with real-time reinforcement data
NanoClaw Code Browser — File reading and autonomous GitHub browsing powered by Browser Use API, surfaced in the Founder Console code viewer
Dashboard — Operator view with integration status, activity feed, habit charts, and promoted highlights
Admin Panel — Manage engineers, review habit logs, and override AI evaluations
Onboarding Flow — Guided setup for new engineers joining the platform
Demo Seed Data — One-click seeding of rich founder memories across all three namespaces for demos and development
Architecture
flowchart TB
subgraph External["External Services"]
GH["GitHub"]
SL["Slack"]
DC["Discord"]
JR["Jira"]
LN["Linear"]
NT["Notion"]
end
subgraph Unified["Unified.to"]
UF["OAuth + Webhooks"]
end
subgraph Frontend["Next.js Frontend"]
LP["Landing Page"]
AUTH_UI["Auth UI"]
DASH["Dashboard"]
FC["Founder Console"]
INT["Integrations"]
ADM["Admin Panel"]
OB["Onboarding"]
API_PROXY["API Route Proxies"]
RT["Railtracks LLM Proxy"]
NC["NanoClaw Browser"]
end
subgraph Backend["FastAPI Backend"]
AUTH["Auth Router"]
INTEG["Integrations Router"]
WH["Webhooks Router"]
DASHAPI["Dashboard Router"]
CHAT["Chat Router"]
MEM["Memory Router"]
ADMIN["Admin Router"]
end
subgraph Services["Backend Services"]
BUF["Redis Action Buffer"]
EVAL["Habit Evaluator"]
SCHED["Scheduler"]
PROM["Promoter"]
UNIF["Unified Client"]
end
subgraph Data["Data Layer"]
PG[("PostgreSQL")]
RD[("Redis")]
end
subgraph AI["AI Services"]
CL["Anthropic Claude"]
MO["Moorcheh Memory"]
TV["Tavus Avatar"]
end
GH & SL & DC & JR & LN & NT --> UF
UF -->|webhooks| WH
WH --> BUF
BUF --> RD
BUF -->|batch of 15| EVAL
EVAL --> CL
EVAL --> PG
EVAL --> PROM
PROM --> MO
SCHED -->|hourly sync| UNIF
SCHED --> EVAL
UNIF --> UF
API_PROXY -->|rewrite| AUTH & INTEG & WH & DASHAPI & ADMIN
FC --> CHAT & MEM
CHAT --> CL
CHAT --> MO
MEM --> MO
TV -->|"custom LLM endpoint"| RT
RT -->|"enrich with memory"| MO
RT -->|stream| CL
FC --> TV
FC --> NC
AUTH --> PG
INTEG --> PG
DASHAPI --> PG
ADMIN --> PG
Loading
Data Flow
flowchart LR
A["Integration Event"] --> B["Unified.to Webhook"]
B --> C["Redis Buffer"]
C -->|"15 actions batched"| D["Claude Evaluator"]
D --> E["HabitLog + HabitScore"]
E --> F["PostgreSQL"]
D -->|"promoted moments"| G["Moorcheh Memory"]
G --> H["Founder Console RAG"]
Loading
Railtracks Avatar Pipeline
flowchart LR
U["Engineer speaks"] --> TV["Tavus Avatar"]
TV -->|"OpenAI-compatible request"| RT["Railtracks Proxy"]
RT --> Q1["Query semantic namespace"]
RT --> Q2["Query episodic namespace"]
RT --> Q3["Query procedural namespace"]
Q1 & Q2 & Q3 --> RR["Rerank by decayed strength"]
RR --> SP["Build system prompt with founder context"]
SP --> CL["Claude 3.5 Sonnet"]
CL -->|"streaming response"| TV
RT -->|"store interaction"| MO["Moorcheh Memory"]
Loading
Cognitive Memory Model
Revenant's memory system is modeled after human cognition, using three distinct namespaces that map to cognitive science:
Namespace
Purpose
Example
Semantic
Architecture decisions, tech choices, conventions — the what
"We chose Moorcheh over Pinecone because of metadata-first design and native memory_strength support"
Episodic
Stories, near-misses, pivotal moments — the when and why it mattered
"The night before launch, we discovered our webhook handler was dropping events silently"
Procedural
Decision frameworks, heuristics, playbooks — the how to think about it
"When evaluating a new integration, check three things: auth complexity, webhook reliability, rate limits"
Ebbinghaus Forgetting Curve
Memories decay over time using a forgetting curve with configurable stability (default: 14 days to half-strength). Each time a memory is retrieved or reinforced, its strength resets and stability increases. This ensures frequently-relevant knowledge stays strong while stale context naturally fades.
flowchart LR
NEW["New Memory"] -->|"strength = 1.0"| STORE["Moorcheh Store"]
STORE --> DECAY["Strength decays over time"]
DECAY -->|"retrieved by query"| REINFORCE["Reinforce: strength reset, stability +1"]
REINFORCE --> STORE
DECAY -->|"never retrieved"| FADE["Fades below threshold"]