Skip to main content
opini

Getting started

Collect feedback from your product, triage it in one place, and show the roadmap you're working on. Five minutes to your first submission.

What Opini gives you

  • Widget. A lightweight script tag that opens a feedback modal on any page, with user + URL context attached.
  • Hosted form. A permanent URL you can link from emails, QR codes, status pages — no widget needed.
  • Public roadmap API. Render your published umbrellas and releases on your own site via a read-only JSON API.
  • Search. Cmd-K across every umbrella, comment, release, and feedback row in the project.
  • Tagging. One tag library, attached to any entity, with create-on-the-fly autocomplete.
  • Webhooks. Discord-compatible outbound events so your chat, pipelines, or CS tools hear about state changes.
  • Releases. Public release notes hosted per project, with visibility controls.
  • Follow-ups. Ask a submitter a clarifying question from Triage; they reply from a link in their email.
  • AI. Optional assists on the triage flow — more context, suggested action items. See /docs/ai.

5-minute hello world

  1. 1. Sign up. Open /app/signup and enter your email. A sign-in link lands in your inbox; click it to land in the dashboard.

  2. 2. Pick a project. A default "Main" project ships with every new organization. If you want a second one, there's a "New project" button in the sidebar.

  3. 3. Create a public key. Open Settings → API keys, click Create key, pick Public, and add the origins you'll embed the widget on (e.g. https://example.com). You'll get a pk_live_... string right in the table — it's safe to ship in every page, so there's no "copy it now or lose it" flash. Copy it when you need it.

    Need a server-to-server key instead? Create a Private one; that sk_live_ secret is shown once at creation — copy it then, or rotate to get a new one.

  4. 4. Drop the script tag. Paste this into any HTML page, with the key you just copied:

    html
    <script
      src="https://opini.dev/widget.js"
      data-opini-key="pk_live_REPLACE_ME"
      data-opini-label="Send feedback"
      data-opini-position="bottom-right"
      defer></script>
  5. 5. Click the button, submit something. The floating CTA appears in the corner you chose. Fill out the form; the submission goes to your org's Triage tab in the dashboard.

  6. 6. See it in Triage. Open the dashboard; your submission is sitting at the top of the list with the URL, user agent, and (if you called window.opini.identify) the end-user email attached.

Next steps