Introduction
An AI-native, embeddable user-feedback platform that runs on Cloudflare's edge.
Collective Vision is an AI-native, embeddable user-feedback platform that runs cheaply on Cloudflare's edge — UserVoice-style boards (submit / vote / comment) with deduplication, auto-tagging, sentiment scoring, and an MCP server so AI agents can read and write feedback alongside humans.
Drop a single <script> tag onto any website — the way Disqus is embedded for
comments — and start collecting feedback. Workspaces and boards auto-provision
on the first hit, so there is no signup or API call required to go live.
Try it now
A working dev instance runs on Cloudflare Workers (free plan):
Live widget + API
feedback-dev.jfcreations.com — GET /health returns {ok:true}
Admin dashboard
collective-vision-admin-dev.pages.dev — demo key cv-demo-admin-2026
Embed the demo widget on any page:
<script
src="https://feedback-dev.jfcreations.com/widget.js"
data-workspace="demo-workspace"
data-board="main"
></script>What you get
- Embeddable widget — submit ideas, upvote, comment; anonymous-by-default
(the widget mints an
anon_<random>id intolocalStorage). - Multi-tenant API —
workspaces → boards → feedback_items, isolated byworkspace_id, with auto-provisioning on first use. - Moderation pipeline —
pending / approved / rejectedplusis_hidden, with per-source defaults (widget auto-approves; MCP / API / import require review). - Vote deduplication — one vote per user per item, enforced in the schema.
- AI processing — embedding + semantic deduplication run free and inline on Workers AI; LLM classification (type / sentiment / urgency / priority) is pluggable.
- MCP server — agents query, search, submit, vote, and comment over JSON-RPC 2.0, alongside humans.
How AI classification works
Embedding and semantic dedup always run free, inline, on Workers AI. The LLM classification step can come from any of three sources:
claudebridge — key-free; runs the localclaudeCLI on your machine. See Claude Bridge.- OpenAI — set the
OPENAI_API_KEYsecret; runs inline on submit. - Anthropic — set the
CLAUDE_API_KEYsecret; runs inline on submit.
Without any of these, classification is skipped by design (fields stay null, no error); embedding and dedup still run.
Architecture
Browser widget ─┐
External APIs ──┤
MCP clients ──┼──▶ Cloudflare Worker ──▶ D1 (SQLite)
Imports ──┘ │ │
├──▶ Vectorize (embeddings, AI search)
├──▶ Workers AI (inference)
├──▶ Queue: ai-processing (async)
└──▶ Durable Object: PlanEditorSessionInteractive architecture map
A full interactive architecture map — routes, data model, MCP tools, and the
AI pipeline across 7 tabs — ships with this site at
/architecture-overview.html. Open it in a new
tab.
| Layer | Tech |
|---|---|
| Runtime | Cloudflare Workers (TypeScript, ESM) |
| Database | Cloudflare D1 (SQLite) |
| Vector search | Cloudflare Vectorize (768-dim, cosine) |
| Inference | Workers AI |
| Async work | Cloudflare Queues |
| Real-time co-edit | Durable Objects (PlanEditorSession) |
| Admin UI | Vite + React + Tailwind |
Where to next
Embedding the Widget
Drop the script tag on any site; multi-tenancy explained.
Client Hosting Guide
Onboard a new tenant on a shared Cloudflare account.
DNS Setup
Point a client's custom domain at the Worker.
MCP Integration
Let AI agents read and write feedback over JSON-RPC.
Claude Bridge
Key-free AI classification via the local claude CLI.