How omaraziz99/stooges works
Stooges combines a Nostr-based team chat web app and relay with a separate KPI agent that produces AI-drafted, evidence-linked reviews. The main user path is sign-in, connect to the relay, browse or post in channels and threads, then open a KPI report or a person-specific review. Groups reflect those product domains and the frontend layers. Backend source excerpts were not provided, so backend links below rely on README statements; other unverified implementation links are omitted.
Main entry points: App.tsx App workspace · KpiDashboard.tsx KPI dashboard · Composer.tsx Message composer · ChannelView.tsx Channel view
Components 25
Web app
- App workspace
fe/src/App.tsx - Sign-in
fe/src/components/Login.tsx - Account auth
fe/src/lib/auth.ts - Relay state
fe/src/state/relay.tsx - Relay client
fe/src/lib/relay.ts
Chat experience
- Channel view
fe/src/components/ChannelView.tsx - Message composer
fe/src/components/Composer.tsx - Threads
fe/src/components/ThreadPanel.tsx - Message list
fe/src/components/MessageList.tsx - Workspace sidebar
fe/src/components/Sidebar.tsx - Chat events
fe/src/lib/chat.ts - File attachments
fe/src/lib/files.ts
Relay and accounts
- Chat relay
be/cmd/relay/main.go - Relay service
be/internal/relay/relay.go - Relay policy
be/internal/relay/policy.go - Account service
be/internal/accounts/accounts.go - SQLite store
be/internal/store/store.go
KPI insights
- KPI agent
be/cmd/kpi/main.go - Evidence and report generation
be/internal/kpi - KPI framework
be/internal/kpi/framework.go - KPI dashboard
fe/src/components/KpiDashboard.tsx - Person review
fe/src/components/KpiReviewPanel.tsx - Report parsing and commands
fe/src/lib/kpi.ts - Evidence and review views
fe/src/components/KpiParts.tsx
Other components
- Team member
Connections 33
- Team member → Sign-in: signs in
- Sign-in → Account auth: authenticates
fe/src/components/Login.tsx - App workspace → Sign-in: shows signed out
fe/src/App.tsx - App workspace → Relay state: provides session
fe/src/App.tsx - Relay state → Relay client: connects
fe/src/state/relay.tsx - Team member → App workspace: uses
- App workspace → Channel view: renders
fe/src/App.tsx - App workspace → Workspace sidebar: renders
fe/src/App.tsx - Channel view → Message composer: renders
fe/src/components/ChannelView.tsx - Channel view → Message list: renders
fe/src/components/ChannelView.tsx - App workspace → Threads: opens
fe/src/App.tsx - Message composer → File attachments: uploads
fe/src/components/Composer.tsx - Message composer → Chat events: publishes messages
fe/src/components/Composer.tsx - Chat events → Relay client: publishes events
fe/src/lib/chat.ts - Relay client → Chat relay: connects
- Chat relay → Relay service: starts
- Relay service → SQLite store: persists chat data
- Relay service → Relay policy: enforces policy
- Account auth → Account service: calls account API
fe/src/lib/auth.ts - Account service → SQLite store: stores accounts
- Team member → Workspace sidebar: sets channel and consent
fe/src/components/Sidebar.tsx - Team member → Message composer: posts chat
- Team member → KPI dashboard: views insights
- App workspace → KPI dashboard: renders
fe/src/App.tsx - App workspace → Person review: opens KPI command
fe/src/App.tsx - KPI dashboard → Report parsing and commands: uses report model
fe/src/components/KpiDashboard.tsx - Person review → Report parsing and commands: uses report model
fe/src/components/KpiReviewPanel.tsx - KPI dashboard → Evidence and review views: renders evidence
fe/src/components/KpiDashboard.tsx - Person review → Evidence and review views: renders evidence
fe/src/components/KpiReviewPanel.tsx - KPI agent → Chat relay: reads channels and publishes reports
- KPI agent → Evidence and report generation: generates reports
- Evidence and report generation → KPI framework: assesses against
- Evidence and report generation → KPI dashboard: report appears live