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

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

Optional Later

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

Similar Feedback with Postgres Vectors

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.

Embed the Widget SDK

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.

Suggested Rollout for a SaaS Team

  • Stand up cloud (currently free) or self-host with Docker + vector.
  • Seed Help Center collections the Agent should cite.
  • Enable the widget in Settings → Widget; ship @feedlog/widget behind your auth.
  • Triage inbox → boards; keep Open internal, publish Planned/In Progress on the roadmap.
  • Close the loop with changelog entries when posts hit Completed.

You end up with one MIT codebase instead of a support SaaS plus a feedback SaaS - and you can inspect every migration, Nitro route, and widget call yourself. Clone it, enable vector, set the three required secrets, and put the widget on a staging page before you invite your first customer into the loop.

Read on DEV Community ↗ ← Back to News

Comments

No comments yet. Start the discussion.