1 Hoot MCP Server Done Connect Hoot to AI coding agents (Claude Code, Cursor, Codex) via a remote MCP server, so you can list feedback, create cards, move roadmap items, and publish changelogs straight from your editor — scoped securely to your project. Feature 4 months ago
0 User doesn't get how the product works Done I've scrolled through the landing page and don't really understand how you are going to collect feedback. Like Google Cloud Logs? Apple Maps feedback? A custom database? Without this, I have no idea if this works for my product or not. UX 3 weeks ago
0 Collapse the sidebar into an icon rail on desktop Done The sidebar was only collapsible on mobile. It now collapses on desktop into a 56px rail with icon-only items and tooltips, the owl mark in place of the wide logo, and the state kept in localStorage so it holds across pages. Recent boards, section headings and Upgrade all collapse consistently. A single panel-left toggle sits in the header next to the brand (Umami style): it closes the drawer on mobile and collapses the rail on desktop. "Toggle sidebar" is translated in every locale. Shipped in commits 3f0c14f, a34de3b (PR #65). Feature 1 month ago
0 Board layout on tablets: one scrolling row of columns and a single-line header Done Below xl the columns used a 3-column grid, so on iPads "Done" and "Rejected" wrapped onto a second row. Columns now keep a fixed width and the row scrolls sideways; on xl they share the width with a minimum so they never get unreadably narrow. Board mode is pinned to the viewport at every size so columns scroll internally, and ~190px of empty space under the board is gone. The six header buttons fold into the Actions menu below xl, the view toggle and New Card drop their labels, and the search keeps a minimum width instead of shrinking to its icon. On phones the filter row may wrap. Shipped in commits 57cc37c, 64f3ed0 (PR #64). UI 1 month ago
0 Touch-dragging cards fought with scrolling on phones and tablets Done On touch devices a drag started as soon as you touched a card, so you could not scroll a column. Card dragging is now disabled for coarse pointers (phones and iPads alike — the first fix was width-based and missed tablets), and touch users triage through the ⋯ quick-actions menu instead. Keying off the pointer type also gives mouse users the drag back in narrow desktop windows. Fixed in commits cb8fc47, a532818 (PR #64). Bug 1 month ago
0 Collapsible kanban columns Done Any column folds into a narrow strip with its count; Rejected starts collapsed. The choice is remembered per project in localStorage, and the remaining columns take the space back. Works at every screen size. Shipped in commits 6bfc749, 57cc37c. Feature 1 month ago
0 Quick actions menu on every kanban card Done A ⋯ menu on each kanban card moves it to another status (landing at the end of the target column, and still asking for a reason when the target is Rejected) or sets/clears its category — no drag and no card page needed. Managers only; categories must belong to the project. This is also how phones and tablets triage now that touch dragging is off. Shipped in commit f6689a6. Feature 1 month ago
0 Flag what a card is waiting on Done Kanban and list cards now show whether a visitor comment awaits a public team reply, whether a screenshot is attached, and — for cards pending longer than seven days — their age, with an amber edge. Both flags come from withExists() on the board query, so no extra queries per card. Shipped in commit f092e5e. Feature 1 month ago
0 Filter the board by category Done A select next to the date range narrows the board to one category or to uncategorized cards (?category= in the URL). Only shown once the project has categories. Shipped in commit bae6089. Feature 1 month ago
0 A dead webhook endpoint could roll back a status move Done DeliverWebhook let RequestException escape handle(). On a real queue that only meant a retry, but on the sync driver the exception surfaced in the Livewire request that moved the card — and, because the delivery was dispatched inside applyStatusMove's transaction, rolled the move back. Failures now record last_status_code on the webhook and either release the job with backoff (real queue, attempts left) or fail it outright (last attempt, or sync driver). Deliveries are dispatched afterCommit(), so a customer's endpoint can never undo a status change. Fixed in commit c7de72a. Bug 1 month ago
0 Activation checklist for a freshly created project Done When a single project is in scope and it is still being set up, the dashboard opens with four steps — product URL, widget installed and first feedback received, teammate invited, first card shipped — with progress and a link per step. The board accepts ?open=share|settings|members from those links and opens the matching modal on arrival (managers only, values allow-listed). The checklist disappears once every step is done. Shipped in commit bc30bf3. Feature 1 month ago
0 Dashboard panel for cards that need attention Done A new panel between the KPIs and the lists gathers up to six cards the team is holding up: pending for more than seven days, or carrying a visitor comment newer than the last public team reply (internal notes do not count as an answer). Most overdue first, each linking to the card; "All caught up." when empty. Shipped in commits 19e2d3d, 66e56c1. Feature 1 month ago
0 Weekly momentum on every dashboard KPI card Done Each KPI card now reads "N this week" with a delta against the previous seven days. New feedback counts by created_at; Pending, In progress and Done count how many cards entered that status via the transition log, so a card that has since moved on still counts where it landed. The delta badge stays neutral: more pending is not good or bad on its own. Shipped in commit 61b6ad9. Feature 1 month ago
0 Split the Share & Embed modal into Share and Widget tabs Done The modal had grown to four stacked sections. Sharing (public roadmap, changelog, badge, embed snippets) and widget configuration (form layout, button shape/colour/preview) now sit on two segmented tabs, matching the Notifications modal. Without a Product URL the Widget tab explains why it cannot be configured instead of silently omitting the sections. The button settings now lead with the shape, since it decides which other fields matter (e.g. Button text is hidden for the owl icon). Shipped in commits 141e6b2, a7cc98f (PRs #62, #63). UX 1 month ago
0 Preview the widget button inside a mock viewport Done The Share preview used to show the button by itself in a dashed box, so position and shape had no context. It is now a sketch of the host page — window bar and a few content lines — with the trigger placed the way the runtime places it: buttons and the owl icon in the chosen corner, the tab flush against the chosen edge. The tab offset is scaled (0.3×, capped at 45%) so it lands at the same relative height it will have on the customer's page. Shipped in commit c6f374d (PR #62). UI 1 month ago
0 Edge tab offset setting and a slimmer tab on mobile Done New "Tab offset (px)" setting (0–600, default 96) for the edge-tab shape, stored only when the tab is selected and off the default, and applied on the host page through --h-tab-offset. On small screens the tab gets thinner padding and type, and the offset is capped at 30vh so it stays in the lower/upper third instead of landing on content or edge gestures. Shipped in commit b16dd49 (PR #62). Feature 1 month ago
0 Hidden widget shape with a window.Hoot API Done Pro owners can pick "Hidden" as the widget shape: nothing renders on the host page and the feedback form opens from the host's own menu or button via window.Hoot.open() (close() and toggle() ship too). The API is exposed for every shape and delegates to the mounted instance, so early calls are harmless no-ops. In Share, picking the hidden shape warns that nobody can send feedback until the host calls window.Hoot.open(), documents open/close/toggle and the async-load caveat, and the install snippet ships an example <button> right after the mount div. The AI install prompt tells agents to wire a "Feedback" menu item when the shape is hidden. Shipped in commits 4144478, 0b2417e (PR #63). Feature 1 month ago
0 Owl icon shape for the feedback button Done Third shape for the widget trigger next to the floating button and the edge tab: a round, icon-only button carrying a stylized Hoot owl face. It uses the existing button colour (with auto-contrasted foreground on the owl), maps size to 44/52/60px and zooms 10% on hover. The configured button text still reaches assistive tech via aria-label/title, and on hover or keyboard focus the text slides out next to the owl so the icon explains itself (touch keeps the plain circle). Shipped in commits cb5cfa0, b16dd49, a7cc98f (PR #62). Feature 1 month ago
0 Make Hoot Starter completely free Done Remove the paywall from the Starter plan, allowing anyone to use Hoot for free with 1 project, 1 user, and MCP access. No trial or credit card required. UX 2 months ago
0 Prefill widget name and email from host app Done Allow the embeddable feedback widget to open with author name and email already filled by reading optional data attributes on the mount element: - data-hoot-name - data-hoot-email Example: <div id="feedback-widget" data-hoot-name="Jane Doe" data-hoot-email="[email protected]"></div> <script src="…/widget.js?project=slug" async></script> Requirements covered: 1. Widget runtime applies prefill on open and after form reset 2. Share & Embed menu documents the attributes (USER_NAME / USER_EMAIL placeholders) 3. LLM install prompt instructs agents to wire attributes to the signed-in user session 4. Provisioning API snippet includes the attributes plus a prefill description block Branch: feature/widget-prefill-user 2 months ago
0 Customizar botão de feedback Done Adicionar a possibilidade de customizar o botão de feedback que é embedado no meu sistema, como cor, tamanho, texto, posição... UX 2 months ago
0 AI Changelog & Close-the-Loop Approved Notify everyone who voted or commented when their feedback ships, and let AI auto-draft the changelog entry from the card — so your users feel heard and you skip the writing. Feature 4 months ago
0 Add Spanish, German, French & Dutch languages Done Expand the available languages to include Spanish (Español), German (Deutsch), French (Français), and Dutch (Nederlands) — across the app interface, the public feedback widget, and the emails we send. Once added, you can pick any of them as your account language or as a per-project notification language, so boards aimed at those audiences communicate in their own language. Feature 4 months ago
0 Per-project notification language Done Set the language each project uses for emails sent to its end users (like feedback status updates). By default a project inherits your account language, but you can override it per project — handy when you run boards for different audiences. Changing your account language won't override a project's explicit choice. Feature 4 months ago
0 Authenticated Roadmaps & Feature Voting Embed Done Allow roadmaps to be shared only with authenticated users and create an embeddable feature voting widget that can be added to external websites. Users should be able to view and vote on features directly from the embed while respecting roadmap permissions. Feature 4 months ago