Neural Docs & Manual

Your AI Executive Team ยท Your company, brilliantly advised.

Neural โ€” User Manual

Your AI Executive Team ยท Your company, brilliantly advised ยท Twelve chiefs. One mind.

What is this?

Neural is an AI-powered company consultant: a full AI executive team behind one chat portal. Describe your business problem in plain language and the right C-suite persona answers โ€” or address a specific chief directly.

The C-suite

PersonaRoleBest for
๐Ÿงญ Gerard (CEO)Chief ExecutiveVision, strategy, priorities, pivots, investors
๐Ÿ“ฃ Jules (CMO)Chief MarketingPositioning, brand, segments, campaigns, go-to-market
๐ŸŽจ Riley (BSM)Branding & Social Media ManagerBrand identity, social channels, content calendars (branch of the CMO)
๐Ÿ› ๏ธ Dev (CTO)Chief TechnologistArchitecture, stack, scalability, security, AI/ML
โš™๏ธ Imani (COO)Chief OperationsProcesses, supply chain, vendors, efficiency
๐Ÿ’ฐ Marcus (CFO)Chief FinanceBudget, runway, pricing, fundraising, unit economics
๐ŸŽฏ Priya (CPO)Chief ProductRoadmap, MVP scoping, PMF, prioritization
๐Ÿ“ฐ Elena (PUB)Chief CommunicationsPress, reputation, newsletters, reports, crisis, ESG, investor relations
๐Ÿค Theo (CPS)Chief Partnership StrategistAlliances, channels, resellers, deals
๐Ÿง‘โ€๐Ÿ’ผ Maya (CHR)Chief HiringRecruiting, comp bands, org design, onboarding
๐ŸŽง Ben (CSO)Chief Customer ServiceSupport ops, churn, retention, NPS
๐Ÿ—‚๏ธ Sasha (EA)Executive AssistantSummaries, drafts, coordination, triage

Each persona runs on the LLM best suited to its role โ€” e.g. precise models at low temperature for finance, creative models at higher temperature for marketing. Personas are stateless; the server reconstructs context (your company profile + recent history) on every call.

How routing works

When you send a message, three tiers decide who answers, in order:

  1. Explicit addressing โ€” start with or mention a role: "CMO, how should we position?", "ask the CFO about runway", "@cto". This always wins.
  2. Laya classifier โ€” a fast, multilingual, non-generative decision engine (single forward pass, ~33 ms). Works in 100+ languages.
  3. LLM fallback โ€” if Laya's confidence is below the threshold, an LLM picks the role. A keyword heuristic is the final safety net, defaulting to the EA for triage.

Every reply shows a badge: which persona answered, how it was routed, and the confidence.

Using the portal

  1. Click New consultation.
  2. Open Company context and describe your business (industry, stage, market, goals). Every persona uses this โ€” advice is grounded in it.
  3. Type your problem, or pick a persona from the dropdown to address one directly.
  4. Conversations are saved; reopen them from the sidebar anytime.

Tip: context is per-consultation. Set it before your first question for the most grounded answers.

API quick reference

Base URL: http://localhost:8000/api/v1 โ€” full interactive docs at /docs (OpenAPI).

MethodEndpointPurpose
GET/healthLiveness + configured providers
GET/personasList the 12 personas
POST/sessionsCreate a consultation
GET/sessions/{id}/messagesMessage history
PUT/sessions/{id}/contextSave company context
POST/sessions/{id}/filesAttach a file (PDF/DOCX/XLSX/CSV/TXT)
GET/sessions/{id}/filesList attachments
GET/sessions/{id}/artifactsGenerated deliverables (docs, sheets, charts, PDFs)
GET/artifacts/{id}/downloadDownload an artifact
GET/sessions/{id}/tool_callsTool calls in this session
POST/sessions/{id}/tool_calls/{cid}/resolveApprove/decline a held action
GET/sessions/{id}/followupsScheduled follow-ups
POST/routePreview routing (no reply generated)
POST/chatFull round trip: route + reply
POST/chat/streamSame, streamed (SSE)

Example: auto-routed chat

curl -X POST http://localhost:8000/api/v1/chat \
  -H "Content-Type: application/json" \
  -d '{"session_id": "<sid>", "message": "How should we position against the incumbent?"}'

The response includes routing.persona_id (e.g. cmo), routed_by (laya), and confidence.

Example: address a persona directly

Pass persona_id to skip routing:

{"session_id": "<sid>", "message": "...", "persona_id": "cfo"}

Tools: acting, not just advising

Executives don't only talk โ€” they can act, and every action with consequences asks for your approval first.

What they can do

CapabilityHow it worksWho
Web searchLive results with citations (Tavily)Most chiefs
Send emailVia your SMTP server; you approve firstEA, CEO
Follow-ups"Check back in 3 days" โ€” delivered in-portalEA, CHR, CSO
Word docs.docx memos, plans, proposalsAll
Excel sheets.xlsx budgets, models, trackersCFO, COO, CPO, CHR
Charts.png bar/line/pie/scatterCFO, CMO, CPO, COO
PDFsFormal, non-editable deliverablesAll
Google SheetsLive shareable URL (service account)CFO

Attach your own files

Click ๐Ÿ“Ž in the composer to attach a PDF, Word, Excel, CSV or TXT file (max 10 MB). Its text is extracted and every executive sees it โ€” ask the CFO to "analyze my spreadsheet" or the CTO to "review this architecture PDF". Remove attachments anytime with โœ•.

The approval flow

Actions that touch the world (email, scheduling, file creation) pause for a card in the chat showing exactly what will happen:

  • Approve โ€” the action runs and the executive continues their reply
  • Decline โ€” they acknowledge it and offer an alternative

Read-only actions (web search) run automatically.

Configuration

Backend settings live in backend/.env (see .env.example). Key knobs:

  • LAYA_ENABLED / LAYA_CONFIDENCE_THRESHOLD โ€” toggle the classifier and its confidence cutoff
  • LLM_FALLBACK_ENABLED, FALLBACK_PROVIDER/FALLBACK_MODEL โ€” the safety-net router
  • TAVILY_API_KEY โ€” enables web search
  • SMTP_HOST/SMTP_PORT/SMTP_USER/SMTP_PASS/SMTP_FROM โ€” enables email
  • GOOGLE_SERVICE_ACCOUNT_JSON โ€” enables Google Sheets creation
  • MCP_SERVERS โ€” JSON list of external MCP tool servers
  • TOOLS_ENABLED, AGENT_MAX_ITERATIONS โ€” the tool loop
  • SCHEDULER_ENABLED โ€” follow-up delivery
  • Provider keys: OPENAI_API_KEY, ANTHROPIC_API_KEY, GOOGLE_API_KEY, DEEPINFRA_API_KEY, OLLAMA_BASE_URL โ€” a persona whose provider isn't configured returns a clear 503 instead of a broken reply

FAQ

Does it remember our conversation? Yes โ€” history is stored and replayed to the persona on each message (last 20 messages by default). The personas themselves are stateless.

Which languages does routing support? Laya routes in 100+ languages; personas answer in the language you write in.

Can different personas use different models? Yes. Each persona declares its own provider + model + temperature in backend/app/personas/registry.py. Providers supported: OpenAI, Anthropic, Google, DeepInfra, Ollama.


API reference (OpenAPI/Swagger): http://localhost:8000/docs