PrototypeOwn product Confidential system, demo on request

SonicSense: AI Music Annotation Assistant

A personal AI music annotation assistant that applies a working musician's knowledge to speed up metadata work.

Personal workflow automation for music annotation built by Les, a working keyboardist and producer. A Chrome side-panel extension that turns a free-text track description into structured music metadata in one pass, applying his own music knowledge to speed up annotation work.

SonicSense: AI Music Annotation Assistant screenshot

A free-text track description becomes 13 structured fields in one pass

Team of one· Solo engineer

No team, no agency, no hand-offs. I owned this project end to end:

  • Requirements
  • Architecture
  • UI & UX
  • AI & prompts
  • Backend & APIs
Stack
TypeScriptChrome MV3Claude APITool UseVite

Where AI does the work: Claude tool use reads the description and fills the structured metadata fields, applying music production knowledge encoded in the prompt.

What was broken, and what fixed it

  1. Problem: Filling music metadata by hand for every track is slow and inconsistent.

    Fix: Claude tool use turns a free-text description into 13 structured fields in one pass, applying Les's music knowledge to infer the right metadata.

  2. Problem: Instruments, mood, and arrangement notes live in the producer's head, not in a form.

    Fix: Per-section narratives fill in instruments and vibe tags automatically, in a Chrome side panel that sits next to the page and opens with a keyboard shortcut.

Approach

  • Claude tool use returns structured fields, not free text, so output drops straight into a form.
  • The annotation approach is encoded in the system prompt based on Les's own music production knowledge.
  • A side panel keeps the tool next to the page being filled in.

What it does

AI extraction

  • 13 global fields from one description
  • Per-section narratives that auto-fill instruments and vibe tags
  • Structured output through tool use

Extension

  • Chrome MV3 side panel built with Vite
  • Toggle with Cmd+Shift+B or Ctrl+Shift+B

Architecture

Interface

  • Chrome MV3
  • Vite
  • React

AI

  • Claude API
  • Tool Use

Logic & APIs

  • TypeScript
  1. 1
    ReactChrome

    A Chrome MV3 extension with a React side panel, a service worker for the hotkey, and a content script for the page.

  2. 2
    ClaudeLLM agent

    The Claude API is called with tool use, so output is structured fields instead of free text.

  3. 3
    Chrome

    Per-track drafts are saved in chrome.storage, so work survives closing the panel.

Engineering

  • Prompt caching keeps the system prompt cheap to resend.
  • Each call records its model, latency, and cost, so spend is visible per field.
  • The build type-checks with TypeScript before Vite bundles the extension.

Outcome

  • A free-text track description becomes 13 structured fields in one pass, applying a working musician's knowledge.