# Getting started with Luuphub

Luuphub turns a single `<script>` snippet into a feedback widget, a hosted
portal, and one inbox, AI-triaged on Pro and up. This page is the whole path in
order, so you can follow it start to finish and land your first piece of feedback
in minutes.

## 1. Create your workspace

Signing up seeds a **sample workspace** — a board, a few example posts, and a
changelog entry — so every screen has something in it before your real feedback
arrives. Sample content is marked internally and is **excluded from AI quota,
digests, and your public portal** until you claim the site, so exploring it costs
nothing.

## 2. Create your first site

A *site* is one product's feedback space: its own board, portal, branding, and
publishable key. Add one at **/sites/new** — the only thing it asks for is the
website address, and the name, portal slug, and registered domain are derived from
it. You can run many sites from one dashboard.

## 3. Choose an install variant

The install screen offers three snippet variants:

- **Launcher** — a floating button the widget injects (fastest path, zero markup).
- **Custom trigger** — you call `luuphub('open')` from your own button.
- **Manual** — mount into a specific element you control.

## 4. Install the snippet

Paste the snippet just before `</head>`. It is a ~300-byte async queue stub: calls
made before the widget finishes loading are queued and replayed, so nothing is lost
on a cold load. Full details on the [Widget install & API](/developers/docs/widget) page.

## 5. Auto-verify the install

Once the snippet loads on your site, the install screen **auto-detects** it — no
"click to verify" dance. It flips to Live in place, naming the origin it saw.

## 6. Send a test submission

Open the widget on your own site and send one real message. There is nothing to
pick: visitors write one message (or leave a voice note or a video), and the type is
sorted after it lands. This exercises the full path: capture → ingest → triage.

## 7. Sort it

On Pro and Studio, AI sorts your test item as an idea or a bug, titles it, and checks
it for duplicates. On Free it lands in the inbox as **Unsorted** and you sort it.
Either way, that is the loop — from asked to shipped — you will run every day.

## Next steps

- [Widget install & API](/developers/docs/widget) — the JS commands and install variants.
- [Identify & SSO](/developers/docs/identify) — attach signed user identity to submissions.
- [Theming contract](/developers/docs/theming) — brand the widget and portal.
- [REST API](/developers/docs/api) · [Webhooks](/developers/docs/webhooks) · [MCP server](/developers/docs/mcp) — automate everything above.

Dogfooding note: we run Luuphub on Luuphub. Watch what we ship on our
own [public board](https://feedback.luuphub.com), [roadmap](https://feedback.luuphub.com/roadmap), and
[changelog](https://feedback.luuphub.com/changelog).
