How haileamlak/conca works
Conca is a self-hosted AI content platform: creators configure brands and trigger or schedule work in the dashboard; the Go API queues jobs, workers run brand-specific agent cycles, and results are persisted for review, calendar planning, publishing, and analytics. README capabilities define the Plan → Generate → Evaluate → Publish loop and semantic memory; sampled code confirms API routing, queue dispatch, worker actions, and integrations, but the agent implementation and several UI/API paths were not sampled, so those links are limited to documented behavior.
Main entry points: agent.go Brand agent · store.go Content and brand store · worker.go Job worker · handlers.go REST handlers
Components 24
Creator Dashboard
- Mission Control UI
web/src/App.tsx - Authentication
web/src/pages/Auth.tsx - Dashboard API client
web/src/lib/api.ts
API and Control
- HTTP server
api/server.go - REST handlers
api/handlers.go - Job scheduler
scheduler/scheduler.go - Job queue
scheduler/queue.go - Job worker
scheduler/worker.go
Content Agent
- Brand agent
agent/agent.go - Plan and research
agent/agent.go - Generate and evaluate
agent/agent.go - Publish content
agent/agent.go
AI and Platforms
- Trend search
tools/search.go - Gemini generation
tools/llm.go - Embedding client
tools/embeddings.go - Social publishing
tools/social.go - Engagement analytics
tools/analytics.go
Persistence
- Content and brand store
memory/store.go - Semantic memory
memory/vector.go
Other components
- Creator
- MongoDB
- Gemini service
- Search providers
- LinkedIn and X
Connections 30
- Creator → Mission Control UI: uses
- Creator → Authentication: signs in
- Authentication → Dashboard API client: submits credentials
- Mission Control UI → Dashboard API client: requests data
- Dashboard API client → HTTP server: calls API
- HTTP server → REST handlers: routes requests
- REST handlers → Content and brand store: reads and writes
- REST handlers → Job queue: enqueues actions
- Job scheduler → Job queue: enqueues scheduled jobs
- Job worker → Job queue: dequeues and acknowledges
- Job worker → Content and brand store: loads brand
- Job worker → Brand agent: dispatches job
- Brand agent → Plan and research: runs cycle
- Plan and research → Trend search: finds trends
- Plan and research → Semantic memory: retrieves context
- Generate and evaluate → Gemini generation: generates content
- Generate and evaluate → Embedding client: creates vectors
- Brand agent → Content and brand store: stores content
- Brand agent → Semantic memory: stores memory
- Brand agent → Engagement analytics: syncs performance
- Brand agent → Publish content: publishes approved content
- Publish content → Social publishing: dispatches posts
- Engagement analytics → Social publishing: fetches engagement
- Content and brand store → MongoDB: persists data
- Semantic memory → MongoDB: persists vectors
- Gemini generation → Gemini service: calls API
- Embedding client → Gemini service: calls API
- Trend search → Search providers: queries providers
- Social publishing → LinkedIn and X: publishes posts
- Engagement analytics → LinkedIn and X: reads engagement