earshot

Shipped private

Voice-first customer feedback widget with grounded LLM enrichment and an agent-native MCP server for Jira/Linear sync.

Repository

149 commits over 6 days

What it is

Earshot is an agent-native bug-reporting widget that lets end users submit feedback by speaking instead of typing. It captures voice memos, annotated screenshots, and deep technical context (DOM, console logs, network traces), then uses a one-shot LLM call grounded in session state and a project brief to produce a structured, agent-ready ticket (title, summary, priority, labels) synced to Jira, Linear, or a hosted inbox. Every feature exposed in the dashboard is also available to AI agents via a hosted MCP server with OAuth 2.1 dynamic client registration. Federates session context from PostHog, Sentry, LogRocket, or Datadog instead of owning replay infrastructure.

Why I built it

Built to modernize the legacy in-app feedback category (Usersnap, Pendo) for a world where users prefer voice, captured context means full session state (not just screenshots), and the consumer of feedback is increasingly an AI agent rather than a human. The project brief and gap-analysis documents show this is a deliberate product/market experiment targeting teams using AI code agents that need high-fidelity bug context. Deliberately excludes surveys, changelogs, and idea boards to stay focused on the voice+LLM+MCP differentiation.

Tech stack

Turborepo monorepo with pnpm workspaces. Widget: Vite + Preact + Signals (shadow DOM embed). Dashboard: Next.js 15 App Router (Vercel Node runtime). MCP server: Hono + @modelcontextprotocol/sdk. Docs: Fumadocs. Database: Drizzle ORM + Supabase (Postgres with pgvector, pg_trgm, RLS). LLM: Anthropic Sonnet with prompt caching. Transcription: Deepgram streaming + Groq Whisper batch. Background jobs: Inngest. Integrations: Linear, PostHog, Jira (stub), Sentry (stub). Node 22, TypeScript strict, ESM-only.

Timeline & effort

Last active May 18, 2026 — 149 commits across 6 active days (spanning 3 days).

Sustained sprint: 149 commits over 6 active days during a 4-day calendar window (May 14–18, 2026). Extremely high commit density indicative of an intensive development push or hackathon-style build phase.

Did it turn out useful?

The gap-analysis doc explicitly compares the current state to v2 mockups and flags multiple "🔴 missing" core features (global search, sidebar, notifications, saved views, MCP client UI, sort/group menus). The product vision is ambitious and well-articulated, the monorepo structure is production-grade, and the integration stubs are clearly labeled as "stub-and-throw for v2," but the dashboard shell is described as incomplete and the feature set is still partial. High velocity over a few days suggests a prototype/proof-of-concept build rather than a shipped product.

#voice-interface #llm #feedback-widget #mcp #agent-native #monorepo