# Platform Overview — Video Accessibility

> This guide is for **all users**. It explains what the platform does, how to log in, and how the shared interface works — sidebar, notifications, downloads, and more.

---

## 1. What This Platform Does

The Video Accessibility Platform automatically generates legally-required accessibility files from your video:

| Output file | What it is |
|-------------|-----------|
| **Closed Captions (VTT)** | Text showing dialogue and sound effects — appears on screen |
| **Audio Description Script (VTT)** | Written description of on-screen visuals for screen readers |
| **Audio Description Voiceover (MP3)** | Spoken narration describing what is happening on screen |
| **Accessible Video (MP4)** | Your original video with spoken narration embedded |
| **SDH Captions (VTT)** | Captions for the Deaf and Hard of Hearing — includes speaker labels, sounds, and music |
| **Descriptive Transcript (TXT)** | Plain text combining all dialogue and visual descriptions |

### How the pipeline works

```
Client uploads video
       ↓
AI generates captions + audio descriptions  (1–3 min)
       ↓
Linguist edits and approves English content  (QC Review)
       ↓
System translates to all requested languages  (2–5 min per language)
       ↓
System generates audio voiceovers  (automatic)
       ↓
Reviewer validates all language versions  (Final Review)
       ↓
Client downloads completed files
```

**Typical total time:** 15–45 minutes depending on video length and reviewer availability.

---

## 2. User Roles

Each user has exactly one role. The role controls which pages and actions are visible.

| Role | What they can do |
|------|-----------------|
| **Client** | Upload videos, track jobs, download completed files, create briefs |
| **Linguist** | Edit and approve VTT content for their assigned languages |
| **Reviewer** | Everything a Linguist can, plus second-pass review and final sign-off |
| **Production** | Upload on behalf of clients, bulk manage jobs, monitor pipeline and failures |
| **Project Manager** | Final approval of deliverables, manage clients, briefs, glossaries, audit log |
| **Admin** | Full access to everything — plus user management and org settings |

> **How to find your role:** look at the bottom of the left sidebar. Your name and role are displayed there.

---

## 3. Logging In

**Step 1.** Open the platform URL in your browser — you land on the **Sign In** screen.

![Login screen with email and password fields](/help-screenshots/global/01-login.png)

**Step 2.** **Left-click** the **Email** field and type your email address.

**Step 3.** **Left-click** the **Password** field and type your password.

**Step 4.** **Left-click** the **Sign In** button to log in.

![Sign In button highlighted](/help-screenshots/global/02-login-button.png)

**Step 5.** If your organisation uses Microsoft (Azure AD), **left-click** the **Sign in with Microsoft** button instead. You will be redirected to your Microsoft login page — enter your corporate credentials there and you will be brought back automatically.

![Microsoft login button](/help-screenshots/global/03-login-microsoft.png)

> **Tip:** If you see "No Access" after login, your account has not been added to any organisation yet. Contact your platform administrator.

---

## 4. The Interface Layout

After logging in you see three zones:

| Zone | Description |
|------|-------------|
| **Left sidebar** | Navigation links, your role, organisation name |
| **Top navbar** | Notifications bell, profile/logout |
| **Main content area** | The current page |

![Interface zones annotated](/help-screenshots/global/04-interface-overview.png)

---

## 5. The Left Sidebar

The sidebar is your main navigation. Items shown depend on your role.

![Sidebar with all items visible (admin view)](/help-screenshots/global/05-sidebar.png)

| Item | Icon | Who sees it |
|------|------|------------|
| Dashboard | 🏠 | Everyone |
| All Jobs | 📋 | Everyone |
| Upload Video | 📤 | Client, Production, Admin, PM |
| My QC Queue | 📝 | Linguist, Reviewer, Production, Admin |
| Reviewer Queue | 🔎 | Reviewer, Admin |
| QC Review | 🔍 | Reviewer, Linguist, Production, Admin |
| Final Review | ✅ | Reviewer, Linguist, Production, Admin, PM |
| User Management | 👥 | Admin only |
| Clients | 🏢 | Admin, PM |
| Briefs | 📄 | Client, Production, Admin, PM |
| Failures | 🔥 | Production, Admin |
| Audit Log | 📋 | Production, Admin, PM |
| Settings ⚙️ | ⚙️ | Any user belonging to an org |
| Help | 📖 | Everyone |

**Badges** — small number badges appear next to queue items showing how many jobs need attention. These update in real time.

**Left-click** any sidebar item to navigate to that page. The active page is highlighted in indigo.

### Organisation switcher

If you belong to multiple organisations, a **dropdown** appears below the logo. **Left-click** it to switch to a different organisation — the page reloads showing that organisation's data.

---

## 6. The Top Navbar

![Top navbar with notifications and avatar](/help-screenshots/global/06-navbar.png)

| Element | What it does |
|---------|-------------|
| **Bell icon** 🔔 | **Left-click** to open the notifications panel — shows recent job status changes, approvals, and mentions |
| **Connection dot** | Green = real-time connection active; yellow = reconnecting; red = disconnected |
| **Avatar / initial** | **Left-click** to open the user menu — shows your name, role, and a **Log Out** button |

---

## 7. Notifications

**Left-click** the bell icon 🔔 in the top navbar to open the notification panel.

![Notification panel open](/help-screenshots/global/07-notifications.png)

Notifications appear when:
- A job you submitted finishes processing
- A job is approved or rejected
- A job is assigned to you for review
- A system error occurs

**Left-click** a notification to navigate directly to the relevant job.

The connection indicator in the top-right corner reflects the WebSocket real-time connection. If it turns yellow or red, your browser has lost the live connection — notifications and badge counts won't update until it reconnects. This usually resolves automatically within a few seconds.

---

## 8. Job Statuses

Every job moves through the following states. You can see the current status on the job row and on the job detail page.

| Status | Meaning |
|--------|---------|
| **Created** | Job submitted, waiting to start |
| **Ingesting** | Video file being received and validated |
| **AI Processing** | Gemini AI generating captions and audio descriptions |
| **Translating** | Translating approved English content to requested languages |
| **TTS Generating** | Synthesising audio voiceovers |
| **Rendering Video** | Embedding voiceovers into accessible video |
| **Pending QC** | Waiting for a linguist to review the content |
| **QC Feedback** | Returned to QC after reviewer requested changes |
| **Pending Final Review** | Waiting for PM or Reviewer to give final approval |
| **Completed** | All files ready for download |
| **Rejected** | Job rejected at Final Review — must be resubmitted |
| **Failed (various)** | A processing step failed — Production/Admin can retry |

---

## 9. Downloads

When a job reaches **Completed** status, a green **Download Files** banner appears on the job detail page.

**Left-click** the **Download Files** button to go to the Downloads page, where you can download individual files or all files at once.

You can also navigate directly: **left-click** "All Jobs" in the sidebar → find the completed job → **left-click** its row → **left-click** the green **Download Files** button.

![Download files page](/help-screenshots/global/08-downloads.png)

**Download All** — **left-click** this button to download all files for this job sequentially (each starts downloading after the previous one). The button is disabled while downloads are in progress.

**Individual file download** — **left-click** the **Download** button (indigo) next to each file to save it individually.

> **Note:** Download links are signed, time-limited URLs. They expire after 24 hours. If a link expires, return to the job detail page and generate a fresh download.

---

## 10. Share Links

Any job that is in **Pending QC** or later status can be shared with a read-only link. This is useful for sending a preview to a client without giving them a platform account.

**Step 1.** Open the job in **QC Review** (`/admin/qc/{id}`) or **Job Detail**.

**Step 2.** **Left-click** the **Share Link** button.

**Step 3.** Optionally type a label (e.g. "Sent to ACME 2026-05-01") in the label field.

**Step 4.** **Left-click** **Generate**.

**Step 5.** **Left-click** **Copy** to copy the link to your clipboard. Send it to the recipient.

The recipient can open the link without logging in. They can preview captions and download VTT/MP3/MP4 files. The link expires after 30 days.

---

## 11. Logging Out

**Left-click** your avatar or initial in the top-right corner → **left-click** **Log Out** in the dropdown menu.

You will be returned to the login screen. Your session is ended securely.

---

## 12. Mouse Interactions — Global Reference

This table lists every non-obvious mouse interaction that applies across the whole platform.

| Action | Where | What happens |
|--------|-------|--------------|
| **Left-click** sidebar item | Sidebar | Navigates to that page |
| **Left-click** job row | Jobs list | Opens job detail page |
| **Left-click** bell icon | Navbar | Opens notification panel |
| **Left-click** avatar | Navbar | Opens user menu with Log Out |
| **Left-click** connection dot | Navbar | Shows WebSocket status tooltip |
| **Left-click** status badge | Any | No action — decorative |
| **Left-click** Download button | Downloads, Job detail | Starts file download |
| **Left-click** Share Link | QC Detail, Job Detail | Opens share link modal |
| **Left-click** screenshot/image | Help page | Opens full-size lightbox |
| **Left-click** outside modal | Modals | Closes the modal |
| **Hover** action icon | Tables | Shows tooltip with action name |
| **Scroll** main content | Any page | Scrolls page content |

---

## 13. Keyboard Shortcuts — Global

| Key | Action |
|-----|--------|
| `Esc` | Close any open modal or dialog |
| `Tab` | Move focus to next interactive element |
| `Shift+Tab` | Move focus to previous element |
| `Enter` | Activate focused button or link |
| `Space` | Toggle focused checkbox or button |
