Tavotto
AI drew your research figure. Tavotto makes it publication-ready: edit matplotlib figures on a canvas, lay out in mm, check journal rules. Free, open source.
Synk AI — a multiplayer canvas with AI models as draggable objects.
Translation pending
DesignTypeScript · CSSGitHub @mirzadev12OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
SYNKAI multiplayer canvas with multi-model AI blocks
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Multiplayer canvas (Vite + React + Liveblocks) with multi-model AI blocks, plus an
orchestration & memory backend (Express + Supabase) for sequential multi-agent handoffs.
Open http://localhost:5173 — keys live in .env.local (VITE_LIVEBLOCKS_PUBLIC_KEY, GEMINI_API_KEY, GROQ_API_KEY).
The backend under backend/ routes work across pluggable AI agents and logs shared
team memory in Postgres (Supabase). It does not replace the canvas AI Block /api/run
path — that stays on Vercel for in-canvas Gemini/Groq runs.
In the Supabase SQL editor (or CLI), run in order:Read the full README ↗Multiplayer canvas (Vite + React + Liveblocks) with multi-model AI blocks, plus an orchestration & memory backend (Express + Supabase) for sequential multi-agent handoffs.
npm install
npm run dev
Open http://localhost:5173 — keys live in .env.local (VITE_LIVEBLOCKS_PUBLIC_KEY, GEMINI_API_KEY, GROQ_API_KEY).
The backend under backend/ routes work across pluggable AI agents and logs shared
team memory in Postgres (Supabase). It does not replace the canvas AI Block /api/run
path — that stays on Vercel for in-canvas Gemini/Groq runs.
In the Supabase SQL editor (or CLI), run in order:
supabase/migrations/001_workspaces.sqlsupabase/migrations/002_orchestration.sqlConfirm tables exist: workspaces, agents, memory_events, orchestration_runs, orchestration_steps.
Copy backend/.env.example → backend/.env and fill:
SUPABASE_URLSUPABASE_SERVICE_ROLE_KEY (preferred for server inserts)ANTHROPIC_API_KEYGEMINI_API_KEY (can reuse the same key as the frontend)The server also loads the repo-root .env.local if present.
Optional: GEMINI_MODEL if your key rejects gemini-2.0-flash (e.g. set gemini-3.6-flash).
cd backend
npm install
npm run dev
API: http://localhost:3001 — health check: GET /health
cd backend
npm run seed
# or: npm run seed -- <existing-workspace-uuid>
This registers three agents:
| Agent | Provider | Role |
|---|---|---|
story-writer | Anthropic (Claude) | Brief → user stories |
design-drafter | Gemini | Stories → wireframe description |
dev-scaffolder | Anthropic (Claude) | Wireframe → React component breakdown |
The script prints the workspaceId and three agent IDs.
curl -X POST http://localhost:3001/api/orchestrate \
-H "Content-Type: application/json" \
-d '{
"workspaceId": "<demo-workspace-id>",
"agentIds": ["<story-writer-id>", "<design-drafter-id>", "<dev-scaffolder-id>"],
"triggerContent": "Users need a faster mobile checkout flow"
}'
Expected: one brief → three sequential handoffs (Claude → Gemini → Claude). Each step’s
output is logged to memory_events and returned in the JSON steps array.
| Method | Path | Purpose |
|---|---|---|
POST | /api/agents | Register an agent |
GET | /api/agents/:workspaceId | List agents |
POST | /api/orchestrate | Run an agent chain |
GET | /api/memory/:workspaceId | Team memory summary |
POST | /api/generate-stories | Convenience single-agent endpoint (migrated to orchestrator.runAgent) |
api/run.ts # Vercel serverless — canvas AI Block Gemini/Groq
server/runAi.ts # Shared canvas AI helpers
backend/ # Express orchestration + memory layer
supabase/migrations/ # Postgres schema for agents & memory
src/ # React canvas (Liveblocks) — do not confuse with backend