epic: Study Tools — AI-powered study features from interview documents
- Ngôn ngữ chính
- Python
- Star
- 0
- Fork
- 0
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
## Epic Overview
Transform uploaded interview knowledge documents into an active study experience. This epic delivers a standalone **Study Hub** screen (top-level nav, separate from Jobs) with four AI-powered tools driven by Claude + the existing pgvector embedding pipeline.
## Problem
Users upload rich reference material (annual reports, product briefs, technical specs) into each job. Once embedded, those documents are only accessible during live interview chat. There is no way to actively study or retain the material beforehand.
## Impact
Candidates invest time in document uploads but see no study ROI from them. Adding study tools closes this gap and makes Vett the end-to-end interview preparation platform — from job tracking to active learning.
## Child Issues
This epic tracks four deliverables. Each has its own issue:
- [ ] feat: AI flashcard generation from interview knowledge documents
- [ ] feat: auto-generate quiz questions from uploaded interview documents
- [ ] feat: concept mind map extraction from interview knowledge documents
- [ ] feat: AI-generated study notes and topic summaries from interview documents
## Proposed Architecture (High Level)
```
frontend/src/pages/StudyHub.tsx ← new top-level route /study and /study/:jobId
frontend/src/components/study/ ← Flashcards, Quiz, MindMap, Notes components
backend/app/routers/study.py ← new router, registered in main.py
backend/app/models/study.py ← StudyCardSet, StudyCard, MindMap, StudyNotes
backend/app/services/study_service.py ← shared RAG retrieval + Claude prompt helpers
```
**All tools share the same retrieval pattern:**
1. pgvector similarity search over `interview_knowledge_documents` chunks (reuses `practice_vector` pattern)
2. Retrieved chunks passed to Claude (claude-sonnet-4-6) with a tool-specific prompt
3. Structured JSON or streamed markdown returned to the frontend
**Navigation**
- "Study" added to top-level sidebar nav between "Interview Prep" and "Practice"
- Deep-link from JobDetails: "Study this job" → `/study/:jobId`
- Study Hub is its own route — not a tab inside JobDetails
## Functionality Impact
- No changes to existing routers or models
- Reuses: pgvector retrieval, SSE streaming (interview_chat pattern), Claude LLM service
- New surface area: `/study` router, `study.py` models, `StudyHub.tsx` page
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
This is an epic tracking four major features. Start by reviewing the existing pgvector embedding pipeline in the backend and the interview chat SSE streaming pattern. The new code will go in frontend/src/pages/StudyHub.tsx, backend/app/routers/study.py, and related model/service files. 'Done' means implementing the entire Study Hub with four AI-powered tools, which is a large cross-cutting project requiring design and domain knowledge of the existing system.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- docker, fastapi, javascript, next.js, postgresql, react, typescript
- Lĩnh vực
- ai, backend-api-design, databases, frontend, full-stack
- Loại issue
- Tính năng
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 30/100