cd /news/ai-products/self-host-feedlog-ai-support-feedbac… · home › topics › ai-products › article
[ARTICLE · art-160146] src=dev.to ↗ pub= topic=ai-products verified=true sentiment=↑ positive

Self-Host FeedLog: AI Support + Feedback Boards on Docker, Vercel, or Cloudflare Workers

A developer has released FeedLog, a self-hostable AI customer-support and feedback-board product that runs on Docker, Vercel, or Cloudflare Workers. The project uses OpenAI's text-embedding-3-large at 768 dimensions stored in pgvector to surface near-duplicate feature requests before a board fragments, and ships an npm-installable widget (@feedlog/widget) that supports guest-only bootstrap or server-signed HS256 JWT authentication and passes page path, title, and meta description as agent context. The developer advises treating the vector store as a first-class infrastructure dependency and backing up embeddings with Postgres rather than as cache.

by read1 min views2 publishedOct 29, 2026

Optional later: OAuth providers, transactional email (status notifications, password reset), and object storage for attachments.

Duplicate feature requests are the silent killer of feedback boards. FeedLog’s similar-idea path stores embeddings (documented as OpenAI text-embedding-3-large at 768 dimensions in the project README) and uses pgvector so new posts can surface near-duplicates before the board fragments.

Engineering takeaway: treat vector as a first-class dependency in your infra checklist, same as the app image. If you migrate hosts later, back up embeddings with the rest of Postgres — they are part of product memory, not cache.

Customers should not leave your product to ask a question or cast a vote. Install the package:

npm install @feedlog/widget

Guest-only bootstrap:

import { createWidget } from '@feedlog/widget'
createWidget({
  baseUrl: 'https://acme.feedlog.ai', // your workspace URL
  theme: 'auto',
})

For product accounts, pass auth.getToken (server-signed HS256 JWT with required email and exp) and optional auth.login that opens your existing sign-in UI. Call createWidget() once in client-only startup — a Nuxt .client plugin is a natural fit; the package can be imported during SSR, but initialization must run in the browser.

openWidget() / closeWidget() / updateWidget() let you hide the default launcher and drive Help from your own nav, sync theme, and adjust zIndex so the panel does not fight your modals. When a customer sends a message, the widget shares page path, title, and meta description as Agent context (query strings and body content are excluded).

Step-by-step options, SSO claims, and troubleshooting live in the widget installation guide.

vector. @feedlog/widget behind your auth.

── more in #ai-products 4 stories · sorted by recency
── more on @feedlog 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
→ Live at https://your-agent.zahid.host ✓
Get free account → Pricing
from €0/mo · no card required
LIVE [news/self-host-feedlog-ai…] indexed:0 read:1min 2026-10-29 · —