Everything in Synect, mapped
Strict-factual feature list — drawn directly from FEATURES.md in the source tree. If it's on this page it's shipped; nothing here is on a roadmap.
Chat
A multi-turn chat surface that adapts to whichever model fits the question.
- Nine providers — OpenAI, Anthropic, Google, Perplexity, Cohere, Groq, ElevenLabs, Runway, HeyGen
- Auto Mode — two-stage classifier (fast regex rules, then a small-LLM fallback) routes every prompt to the model best-suited for it; explicit override always wins
- Quality modes —
cost_efficient,standard,high_end— switch the whole routing tier at once with org-level enforcement - Live web search per provider, with citations to real URLs
- File attachments (text, PDF, images, audio) with vision-capable models
- Voice input via Whisper transcription, or full-duplex realtime voice with OpenAI Realtime / Gemini Live
- Cross-conversation context — pull any previous conversation, label, or whole project into a new prompt as up to 100k chars of grounding
- Queued messages — line up your next turn while the model is still streaming the current one
- Regenerate, edit-and-resubmit, branching — every retry creates a versioned branch you can navigate
- Sharing — public conversation links and embedded share pages
- Auto-titles, auto-labels, projects, sidebar deep-search across all messages
- Long-paste detection — pastes >500 chars are auto-converted to attached
.mdfiles instead of cluttering the input
Sparks (AI agents)
A Spark is an agent: a system prompt plus a knowledge base plus an optional multi-step pipeline plus opt-in capabilities.
- System prompt with versioned drafts and live iteration
- Knowledge base — attach files (PDFs, DOCX, MD, CSV) the Spark always sees
- Multi-step pipelines — typed steps with routing rules, intermediate state, branching
- Capabilities — toggle web search, code execution, image generation, deep research per Spark
- Spark Actions — declarative HTTP / GraphQL actions the Spark can call mid-conversation, with OAuth2 support for Google APIs
- 80+ Composio integrations — Slack, Notion, Hubspot, Linear, Jira, Salesforce, Stripe, Google Drive/Sheets/Calendar/Docs, Microsoft Teams/Outlook, Zoom, Discord, Asana, Trello, Confluence, Airtable, ClickUp, GitHub, GitLab, Mailchimp, Sendgrid, Twilio, Zoho, Pipedrive, Intercom, and more
- Custom MCP servers — bring your own Model Context Protocol server (Zapier MCP, Webflow MCP, anything)
- Marketplace — discover Sparks built by your org or shared publicly
- End-to-end testing —
scripts/test-spark.tsexercises any Spark against Supabase + Composio + the chat route, validates Slides output, runs benchmark comparisons
Canvas
When the model writes a long document, code file, slide deck, or HTML page, Canvas opens alongside the chat — a versioned editor where you can revise the model's draft directly.
- Streams artifact content live as the model writes
- Selection-level edits — highlight a paragraph, type an instruction, the model rewrites just that span
- Full-document rewrites —
mode="full"returns a complete updated document - Artifact types — markdown, plain text, CSV, HTML, JSON, code (any language with syntax highlighting), PPTX, PDF, DOCX
- Version history — every Canvas state is snapshotted; navigate back through revisions
- Round-trip context — when you ask a follow-up, the current Canvas content is injected as context so the model edits in-place rather than starting from scratch
- Open files from chat — drop a DOCX/CSV/MD into chat and
Open in Canvasto start editing with AI - DOCX / PDF / PPTX rendering happens server-side (Vercel functions) or in-browser, never via third-party file processors
Media generation
Image, video, music, voice, avatar — all from the same chat input.
- Image — GPT-Image-1 (OpenAI), Imagen 4 (Google), Flux (Together)
- Video — Runway Gen-3 / Gen-4 (text-to-video, image-to-video, with extension)
- Music — ElevenLabs Music (lyrics + composition)
- Voice — ElevenLabs TTS (natural narration), voice cloning preview
- Avatar video — HeyGen (talking-head from script + avatar selection)
- Realtime voice chat — OpenAI Realtime API or Google Gemini Live (full-duplex; same conversation thread)
- Auto-routing — “generate an image of a hotel lobby” classifies as
image_generationand goes straight to GPT-Image-1, no menu hunt
Deep research & web search
When a question needs the web, the right tool fires automatically.
- Native web search per provider — OpenAI search, Anthropic web search, Google grounding, Perplexity Sonar (built-in)
- Deep research — Perplexity Sonar Deep Research handles long-running multi-source surveys, streams intermediate findings, harvests citations
- Page fetch — when you name a specific URL, ScrapingBee retrieves the page HTML for the model to read (gated to OpenAI / Anthropic / Google / Cohere; Perplexity and Groq use their built-in alternatives)
- SEO data — Sparks with an SEO research step query DataForSEO for keyword volume, competitive analysis, SERP data
- Citations rendered as superscript
[n]links with hover preview and a full reference list at the bottom
Organisations & teams
Multi-user workspace primitives for when you outgrow solo use.
- Organisations — invite members by email, role-based roles (owner, admin, member)
- Teams within an org — group permissions, scoped resource access
- Allowed providers / allowed models — org-level policy that prevents a member from accidentally using an off-policy model
- Quality-tier policy — restrict members to
cost_efficientorstandard, reservehigh_endfor owners - Org-level Sparks — Sparks owned by the org, shared automatically with all members
- Resource sharing — share a project, a label, or a single conversation with another org member
- Spending controls — per-org token-budget caps with auto-throttle
- Audit log — pgaudit-backed read/write log of all sensitive table operations
Platform & engineering
What sits underneath the surface — the engineering choices that make Synect dependable.
- Next.js 16 + React 19 + Turbopack on Vercel; Supabase (Postgres + storage + auth) on AWS
- RLS-enforced data access — every read and write is scoped to the authed user's tokens, not the service role
- 14-phase conversation tester — automated coverage of smoke, provider matrix, web search, reasoning, attachments, cross-conversation context, multi-turn dialog, performance/TTFT, media routing, Canvas round-trip, regenerate/branching, Spark chat, governance/error paths, cross-provider web-search XML scrub
- Server-Timing instrumentation — every chat turn emits per-stage latency breakdown (auth, perms, deps, classifier, sanitize, pre-stream, stream-end)
- Stream transforms —
<think>and<function_calls>XML scrubbers route narrated tool-call leaks to reasoning channels rather than visible text - Per-provider tool registration — fetch_page tool stripped for Groq (tool_use_failed retry wrapper) and Perplexity (built-in search active) to prevent narrated XML leaks
- Edge middleware — 301 redirects from
synect.ai/c/*etc. back toapp.synect.ai, no broken bookmarks during the domain split
See it in motion
Words on a page only do so much. The fastest way to evaluate Synect is to use it.