Roadmap
Future features and improvements planned for Intervu.
Overview
Intervu is actively developed with a focus on improving the interview experience. This roadmap outlines planned features organized by phase.
Source
This roadmap is based on internal development planning.
Phase 1: Core UX Improvements
High-impact improvements to daily usage.
Keyboard Shortcuts
Enable quick actions without mouse interaction.
| Shortcut | Action |
|---|---|
Ctrl+Space | Toggle microphone |
Ctrl+R | Regenerate answer |
Ctrl+L | Clear history |
Ctrl+, | Open settings |
Ctrl+S | Export session |
Status: Planned
Answer Length Control
Let users choose answer verbosity.
| Option | Description |
|---|---|
| Brief | 2-3 sentences |
| Medium | 1-2 paragraphs |
| Detailed | Full comprehensive answer |
Status: Planned
Session Recording & Export (✅ Implemented)
Save and export interview transcripts.
- Export transcript and answers as Markdown
- Copy to clipboard functionality
- Export button in title bar
Status: Implemented
Phase 2: Enhanced Assistance
Advanced features for better interview support.
STAR Framework Support
Automatic detection and formatting for behavioral questions.
- Detect "Tell me about a time..." questions
- Inject STAR prompt template
- Format answers with Situation/Task/Action/Result sections
Status: Planned
Interview Question Bank (✅ Implemented)
Pre-prepared Q&A reference bank and company/role context for the LLM.
- Q&A Bank field for pre-prepared interview answers and preferences
- Company / Role Context field for company info, job description, team details
- Both injected into LLM system message alongside resume
- Edit-in-window support for comfortable long-text editing
Status: Implemented
Real-Time Answer Edits
Edit AI-generated answers while streaming.
- Click answer to enter edit mode
- Pause streaming during edit
- Revert to original answer
Status: Planned
Follow-Up Question Suggestions
Suggest thoughtful questions to ask the interviewer.
- Generate after each answer
- Copy-to-clipboard functionality
- Toggle in settings
Status: Planned
Phase 3: Advanced Features
Professional-grade capabilities.
Multiple Resume Profiles
Quick switching between different resumes.
- Profile management UI
- Quick switch dropdown
- Custom system prompt per profile
Status: Planned
Contextual Answer Tips (✅ Implemented)
Key points extraction and confidence scoring.
- Bullet-point summary
- Confidence meter (0-100)
- Visual highlights in answer
Status: Implemented
Answer Quality Feedback (✅ Implemented)
Rate generated answers for learning.
- Thumbs up/down
- In-context learning from ratings
- Local storage of preferences
Status: Implemented
Advanced Mode (✅ Implemented)
Dual-LLM question extraction.
- Extract complete questions
- Filter non-questions
- Queue mode for multiple questions
Status: Implemented
macOS Support (✅ Implemented)
Full macOS support with AVFoundation audio capture.
- AVFoundation-based device enumeration
- BlackHole integration for system audio
- Multi-output device for audio routing
- DMG and ZIP builds (x64 + arm64)
- Dock icon and proper app naming
- Microphone permission handling
Status: Implemented
Application Branding (✅ Implemented)
App icon and logo for all platforms.
- Custom icon for Windows, macOS, and Linux
- Logo in title bar
- Icon bundled in all builds
Status: Implemented
Speaker Diarization (✅ Implemented)
Identify individual speakers in system audio for panel interviews.
- Toggle in Settings with on-enable validation against STT backend
- Dual backend support: auto-detects
/asr(whisperx-asr-service) vs OpenAI-compatible endpoints - Recommended backend:
learnedmachine/whisperx-asr-service(used by Speakr) for reliable speaker embeddings - Client-side embedding matching (cosine similarity, weighted moving average 30/70) for cross-chunk speaker consistency
- Ambiguity check: skips matching when top 2 candidates are within 5% similarity gap
- Per-speaker transcript entries with unique colors
- Click-to-rename speaker labels in transcript pane
- SpeakerMap persisted in settings, min speakers configurable (2-6)
- Runtime hard error when backend doesn't support diarization
- Retry-with-fallback on 500 errors (NaN embedding workaround)
Status: Implemented (Phase 1)
Speaker Monitor Panel (✅ Implemented)
Centralized speaker management panel for diarization sessions.
- Popover panel in title bar (visible when diarization is enabled)
- Per-speaker info: first seen, last spoke, message count, last 3 messages
- Click-to-rename speakers directly in monitor
- Clear speaker data (names + embeddings) without losing transcript
- Fixed: clear transcript now also resets speaker names and embeddings
Status: Implemented
LLM Speaker-Aware Prompting (✅ Implemented)
Enrich LLM prompts with speaker identity for better question attribution.
- System prompt includes multi-speaker context with detected speaker names
- All non-'you' messages prefixed with
[DisplayName]:using speakerMap - Auto-trigger fires on any non-'you' speaker (not just 'interviewer')
- Question detection finds latest non-'you' entry for card titles
- Advanced mode extractor uses display names from speakerMap
Status: Implemented (Phase 2)
AI-Assisted Speaker Naming (✅ Implemented)
LLM detects real names from conversational cues and suggests them for unnamed speakers.
- LLM analyzes transcript for name mentions ("Hi Anna", "John, what do you think?")
- Sparkle hints appear next to unnamed SPEAKER_XX labels in transcript and speaker monitor
- Accept/dismiss buttons for each suggestion
- Uses extractor LLM (advanced mode) or main LLM
- Debounced analysis (8s after last transcript update, 5+ entries required)
- Dismissed suggestions remembered per session
- Accepted suggestions persist to
speakerMap
Status: Implemented (Phase 3)
Chunk Duration Tuning & Speaker Profile Persistence (✅ Implemented)
Optimized audio chunking for diarization and optional cross-session speaker recognition.
- Audio chunk duration auto-enforced to 6s+ when diarization is ON
- Chunk duration setting locked in UI with explanatory hint
- "Remember Speakers" toggle — saves voice profiles to disk
- Cross-session speaker recognition from saved embeddings
- Clear speaker data also clears saved profiles
Status: Implemented (Phase 4)
Interview Timer (✅ Implemented)
Track interview duration and speaking time.
- Elapsed time display in title bar with pulsing indicator when LIVE
- Speaking ratio breakdown (You vs Them) on hover
- Configurable time warnings at custom intervals
- Session-based timer that pauses when LIVE is off
- Clear timer option in clear menu
Status: Implemented
Phase 4: Nice-to-Have
Features for future consideration.
Code Signing
Sign all application binaries for Windows and macOS.
- Apple Developer certificate for macOS
- Windows code signing certificate
- Eliminates quarantine workaround on macOS
- Reduces SmartScreen warnings on Windows
Status: Planned
Sentiment Analysis
Detect interviewer interest/confusion.
- Real-time sentiment indicators
- Visual cues in transcript
- Suggestion to elaborate
Status: Planned
Practice Mode
Pre-interview simulation with random questions.
- Question bank by category
- Record and compare answers
- Self-rating system
Status: Planned
Cloud Sync
Sync settings and history across devices.
- Google Drive integration
- Dropbox integration
- Local file sync
Status: Planned
Feature Requests
Have an idea? We'd love to hear it!
- Check existing issues on GitHub
- Open a new issue with the "feature request" label
- Describe your use case and expected behavior
Implementation Priority
Features are prioritized based on:
- User Impact — How many users benefit
- Implementation Effort — Development time required
- Maintenance Cost — Ongoing support needed
- Dependencies — Blocking requirements
Recently Completed
| Feature | Version | Description |
|---|---|---|
| PGVector Context Retrieval | v1.2.0 | Semantic search over indexed resume, Q&A bank, and company context |
| Chat Window | v1.2.0 | Dedicated chat window for freeform questions with live context |
| Session Export | v1.2.0 | Export transcript and answers as Markdown or copy to clipboard |
| Resizable Settings | v1.2.0 | Settings dialog can be resized and persists size across sessions |
| Chunk Tuning & Profile Persistence | v1.1.0 | Auto 6s chunks for diarization, cross-session speaker recognition |
| AI Speaker Naming | v1.1.0 | LLM detects names from transcript cues, suggests for unnamed speakers |
| LLM Speaker Prompting | v1.1.0 | Multi-speaker context in LLM prompts, speaker-aware auto-trigger and question attribution |
| Speaker Monitor | v1.1.0 | Popover panel for speaker management with metadata, rename, and clear |
| Speaker Diarization | v1.1.0 | Multi-speaker identification with dual-backend support and cross-chunk voice tracking |
| macOS Support | v1.0.0 | AVFoundation audio, BlackHole, multi-output device |
| App Branding | v1.0.0 | Icons and logo for all platforms |
| Windows Build | v1.0.0 | NSIS installer + portable executable |
| Advanced Mode | v1.0.0 | Dual-LLM question extraction |
| Contextual Tips | v1.0.0 | Key points and confidence |
| Answer Ratings | v1.0.0 | Thumbs up/down feedback |
| Question Bank | v1.0.2 | Q&A bank and company/role context fields |
| LLM Queue Mode | v1.0.0 | Process questions in order |
| Streaming Answers | v1.0.0 | Real-time answer generation |
Platform Support
| Platform | Status | Notes |
|---|---|---|
| Windows | ✅ Supported | DirectShow audio, bundled FFmpeg |
| macOS | ✅ Supported | AVFoundation audio, manual FFmpeg install required |
| Linux | 🔜 Planned | Not yet tested |
Last updated: Check GitHub commits for real-time status.