Sessions list — what each card shows and what you can do
/sessions (Sessions AI in the sidebar) is your interview history. Every live session you've ever run shows up here as a card. This page is also where you click Start Session to launch a new one.
At-a-glance
| Element | What it is |
|---|---|
| Stat row (top) | 4 numbers — Interviews / Active / AI answers / This week |
| Start Session button | Top-right → opens the wizard (type + tone + model + Auto-Answer) |
| Search box | Filters by company name, job title, or session ID |
| List / Grid toggle | Switch between dense list view and card grid |
| Session card | One per session — Company → Title → Type → AI answers → status |
| Hover actions | Replay (▶), delete (🗑), open retrospective (→) |
Anatomy of a session card
Each card surfaces:
- Company name (top, bold) — pulled from your Job Context entry. If you didn't enter one, says "Untitled Interview."
- Job title below the company
- Type badge — "Interview" or "Regular Call" (see Session types)
- AI answers count — how many times the AI fired during the session
- Status pill:
- 🟢 Live — session is still active (you have it open in another tab, or it didn't end cleanly)
- ⚫ Ended — finalized; click to open the retrospective
- 🟡 Stale — was Live but the WebSocket died; clean up by clicking End on the card
- Duration — every card shows a runtime (e.g., "23 min"). This is pinned by tests — Frozen UX decision. If a card shows no duration, it's a bug.
- Date — relative (e.g., "2 hours ago", "yesterday", "3 days ago")
What you can do per card
Click a card → open the retrospective at /sessions/[id] (Session retrospective).
Hover a card → action buttons appear on the right:
- ▶ Replay — re-opens the session in
/interviewIF status is Live (rare; mostly you start fresh). For ended sessions, replay = retrospective view. - 🗑 Delete — removes the session row + transcript. Soft-deletes are NOT supported — once gone, the data is gone. Confirmation dialog before delete.
- → Open — same as clicking the card.
Live cards have an extra "End" button so you can clean up a zombie session without joining it.
Stat row at top
Four counters update in real time:
- Interviews — total ever run (lifetime count)
- Active — sessions in Live state right now. Should usually be 0 or 1. If higher, you have zombies — click End on them.
- AI answers — lifetime count of times the AI fired
- This week — sessions started in the last 7 days
Empty state
If you've never run a session, you see a big circular icon + "Start your first session" copy + the Start Session button. The 4-stat row is still there but reads zeros.
Common questions
Q: I started a session yesterday but it still says "Live." A: Zombie — the session didn't end cleanly. Hover the card → click End. Or open it → click End Session in the topbar.
Q: Can I export all my sessions as a CSV? A: Not yet. Per-session transcript export is in the retrospective view (Pro+ only). Bulk export is in the roadmap.
Q: Why is one session marked "Stale"? A: WebSocket dropped without End being clicked — usually means you closed the laptop / lost wifi mid-session. The transcript up to that point is saved; click End to finalize it.
Q: I deleted a session by mistake. Can I recover it? A: No — deletes are hard. The transcript + AI answers are gone from our DB. This is intentional for privacy. (If it was less than 5 min ago, message support — there might be a recent backup row.)
Q: How do I search for a specific company's session? A: Search box at the top — type the company name. Searches across company name + job title + session ID.
Q: Can I rename a session? A: Not directly — the title comes from the Job Context. Start the session with the right company + title and it sticks. We're planning an inline rename for the retrospective view.
Q: Why don't I see a card I just ended?
A: Hard refresh (Ctrl+Shift+R) — the list query is cached for ~5 seconds. After hard refresh it'll appear. If not, the session may have failed to write — check the connection-status indicator next time.
Q: What's the difference between "Active" stat and "Live" card status? A: Same thing — "Active" stat = count of cards in Live state.
Where it lives in code
Sessions list page: apps/web/app/sessions/page.tsx. Card component: apps/web/app/sessions/_components/session-card.tsx. Start Session wizard (lazy-loaded): apps/web/app/sessions/_components/start-session-dialog.tsx. Duration resolver (3-step fallback): apps/web/lib/resolve-duration-sec.ts.
Still stuck?
Help & Feedback → Contact us with category "Something is broken" + session ID (the URL segment /sessions/[id]) + what the card looked like vs what you expected.
Video walkthrough
Coming soon.
Still stuck?
Sign in and message the founder directly from the Help & Feedback tab. Every reply comes from a real person, usually within a few hours.
Contact us