← Cycles
Market Analyst · c4

refinement

parkedparked — see PICKUP.mdcreated 2026-02-24· last activity 2026-08-20

Refine how extracted data is displayed in the dashboard and improve extraction quality where gaps exist.

Why

With the pipeline and dashboard functional from earlier cycles, the focus shifts to quality. Some calls have missing or incorrect extracted data, some display elements don't surface the right information, and the extraction prompt may need adjustments for better coverage. This cycle is about iterating on both ends — what we extract and how we show it — then doing a clean full re-extraction to lock in improvements.

Objective

A polished dashboard that accurately displays call insights, with extraction gaps identified and fixed. "Done" means: display issues cataloged and resolved, extraction prompt adjusted where needed, all processed data deleted and re-extracted from raw transcripts with the improved prompt.

Scope

  • Display refinement — Walk through each page/component, identify issues with how data is rendered, fix layout/logic/content problems
  • Extraction evaluation — Review processed JSON for missing fields, incorrect classifications, or shallow insights; adjust the extraction prompt accordingly
  • Full re-extraction — Delete all data/processed/*.json and re-run extraction on all raw transcripts with the updated prompt
  • Re-index — Rebuild data/all-calls.json and data/index.json from fresh extractions

Plan

Phase 1: Display audit

Walk through each dashboard page and component, catalog issues as they're found:

  • Dashboard (index.vue) — stat cards, distributions, overall layout
  • Calls list (calls/index.vue) — table/list rendering, filtering
  • Call detail (calls/id.vue) — all sections of a single call
  • Insights (insights.vue) — insight cards, categories, quotes
  • Segments (segments.vue) — segmentation views
  • Components — FilterBar, InterestDots, DistributionBar, StatCard, Insight, InsightQuote, InsightCategoryCard, TimeframeFilter

Phase 2: Extraction evaluation

  • Review a sample of data/processed/*.json for quality issues
  • Compare extracted data against raw transcripts for completeness
  • Identify patterns in what's missing or incorrect
  • Update pipeline/prompts/extract-call.md as needed
  • Update schemas/call.ts if schema changes are warranted

Phase 3: Full re-extraction

  • Delete all data/processed/*.json
  • Re-run extraction: npm run extract
  • Rebuild index: npm run index
  • Verify dashboard displays correctly with fresh data

Key Changes

  • Updated pipeline/prompts/extract-call.md — Added guideline #1: insights and key quotes must come from non-Qpoint speakers only. Includes explicit list of Qpoint team names. Qpoint employee framing of customer pain points excluded unless the customer confirmed it.
  • Fixed site/composables/useCallData.ts — Added missing speaker field to Insight interface
  • Added speaker role to aggregated insights — insights.vue resolves role from attendees, threaded through InsightCategoryCard → Insight → InsightQuote
  • Created company pages — /companies index (sortable table) and /companies/[name] detail page showing company info, all participants, calls, and themes
  • Updated Insight.vue — company names now link to company page; calls grouped by company
  • Updated calls/index.vue — company column links to company page
  • Added "Companies" to nav in layouts/default.vue
  • Added urgency & timeline extraction — New Urgency schema with urgencyLevel (1-5), budgetSignals, timelineSignals, urgencyDrivers, and nextSteps (with commitment levels: concrete/verbal/vague). Distinguishes real pipeline from friendly interest.
  • Added positioning resonance extraction — New Positioning schema with resonantFramings (which pitch angle landed), valueEchoes (prospect describing value in their own words), and strongestAngle. Directly informs GTM messaging.
  • Updated extraction prompt with guidelines 10-13 (urgency rubric, commitment levels, positioning extraction rules, speaker rule for new fields)
  • Added validation for all new fields in schemas/validation.ts
  • Updated build-index.ts to include urgencyLevel in index entries
  • Dashboard: 6 stat cards (added Avg Urgency + Concrete Next Steps), urgency distribution chart, positioning angles chart
  • Call detail page: new Urgency & Timeline section and Positioning Resonance section
  • Call list: sortable urgency column
  • Segment card entity lists — Each segment card now lists the specific entities in that segment (companies, attendees, or calls depending on segment type). Collapsible with 5-item default and "Show all" toggle. Companies deduplicated with highest interest; persona view shows attendee name + role @ company; call type view shows individual calls with dates.

Artifacts

Qpoint Brand Style Guide