Project

General

Profile

Feature #21

Updated by Redmine Admin about 2 months ago

## Epic Spec — Enhance Matching Results & AI Assistant with Company Enrichment + Market Insights 

 ### Problem 
 Matching results and the AI assistant do not surface enriched company data or market insights, so users lack context (company size/industry/remote policy, in-demand skills, hiring locations, work modes) to inform decisions. 

 ### Approach 
 Build the data foundation first (surface enriched company data into the matching payload; add an algorithmic market-insights aggregate endpoint in MatchingAgent), expose it via a GetYourJob API proxy route, then consume it in two UI surfaces (inline expandable company card in matching results; Market Insights section in analysis tools) and in the AI assistant (company-data + market-insights tools, plus skills>locations reasoning and proactive company-type mentions). Split by surface/responsibility. 

 ### Subtasks (split) 
 - #58 [Enrichment + GetYourJob API] Surface enriched company data in the matching result payload (S/M) — foundation 
 - #61 [MatchingAgent] Market-insights aggregate endpoint (skills/location/work-mode) (M) 
 - #63 [GetYourJob API] Market-insights proxy route to MatchingAgent (S) 
 - #64 [GetYourJob UI] Inline company-enrichment card in matching results (M) 
 - #66 [GetYourJob UI] Market Insights section in analysis tools (M) 
 - #67 [GetYourJob assistant] Company-data + market-insights assistant enhancements (M) 

 ### Dependencies 
 #64 ← #58; #63 ← #61; #66 ← #63; #67 ← #58 + #63 

 ### Acceptance criteria (epic) 
 - Company data displayed inline as expandable card with link to company detail (#64, data from #58) 
 - Assistant proactively uses company data / mentions company type (#67) 
 - Market Insights section: top skills + counts, location trends, work-mode trends (#66, data from #61/#63) 
 - Assistant prioritizes skills over locations and explains reasoning (#67) 
 - All features validated on a 100+ matching-result batch for perf/scalability (#61 aggregate, #64 render) conversation:16

Back