HomeHelp › Videos & VBQ

4. Videos & VBQ

Video is the heart of Ditto Up. Instead of asking candidates to write yet another bullet list, we ask them to speak for sixty seconds about what they actually know — and we score the result with AI. This section covers every video feature on the platform from both the candidate and the employer side.

In this section


4.1 The four video slots, at a glance

Each candidate profile has four kinds of video plus one VBQ video per term they claim. They all use the same browser recorder, the same upload pipeline and the same S3 bucket.

Slot One per profile? Length Purpose Public by default?
Intro video yes 30–90 s Personal introduction shown at the top of your profile. Yes (subject to profile visibility).
What I'm looking for yes 30–90 s Roles / industries / collaborations you want. Yes.
What I can help with yes 30–90 s Mentoring, advice or collaboration you can offer. Yes.
VBQ video one per term you claim 30–120 s Spoken answer to a term-specific question. No — private until you click Publish.

Employers can also attach a video to a job posting (a hiring-manager intro or office tour) — that's covered in 3.3.6 Attachments. Employers can also require a candidate to record a VBQ video as part of the application — see 3.3.5 Application questions.


4.2 Recording an intro video

The intro video is shown at the top of your candidate profile and on every search result card. It's the first thing employers see.

  1. Go to /profile or /candidate-settings.
  2. Click Record intro video — or upload one you already have on disk.
  3. Allow the browser access to your camera and microphone (a permission prompt appears the first time).
  4. Hit the red record button. You see a countdown timer; recording stops automatically at 90 s.
  5. Review the playback:
    • Re-record to try again.
    • Use this video to upload it.
  6. The platform fetches a presigned upload URL via /intro-video-upload/, sends the file directly to S3, then submits it to the DinoCloud processing pipeline (transcribe + grade in one pass — see 4.11).
  7. Within ~10 seconds the video is processed and visible on your profile.

To replace it later — same process; the new file overwrites the old.

To delete it/candidate-settingsIntro videoDelete, which POSTs to /intro-video-delete/.

To get a fresh playback URL — call /intro-video-url/ (returns a presigned S3 URL valid for ~24 hours). The site does this automatically when the page loads.

Tip — script the first 10 seconds. Open with your name, your specialism and one concrete result. Most viewers leave before the 15-second mark, so front-load the punchy parts.


4.3 What is VBQ?

VBQ stands for Video-Based Qualifications & Questions. Every term in the marketplace (skill, license, certification, credential, degree) has one or more canonical questions attached to it. When a candidate claims that term on their profile, they can record a 30–120 second answer to one of those questions, and the platform AI-grades the answer on a 5-dimension rubric.

Examples of VBQ questions:

Term Auto-suggested question
Plasma arc welding "Walk us through a plasma arc job you completed recently — what was the challenge, what did you do, what was the result?"
AWS Certified Solutions Architect "Describe a time you designed a multi-AZ fault-tolerant architecture on AWS. What were the trade-offs?"
RN nursing license "Tell us about a time you had to triage multiple patients during a busy shift."

A published VBQ video gives an employer proof that you actually know the term you claimed — far more reliable than a checkbox on a résumé.

A candidate can have multiple VBQ videos against the same term (re-recordings, different questions on the same term) but only one is published at a time.


4.4 Recording a VBQ video

You can record a VBQ video from three places:

  1. Your profile → click Record video on any term card.
  2. A term detail page → click Add my video answer if you've claimed that term.
  3. An application form → if the employer requires a VBQ for one of your skills, the Record button opens the same modal.

The flow is:

  1. The system calls /start-video-qa/ with the term identifier (ctid or term_ref) and creates a video attempt record.
  2. The recorder modal opens. The question is shown above the camera.
  3. You hit Record. A 5-second pre-roll countdown lets you compose yourself.
  4. Speak. The timer counts up to 120 seconds; you can stop earlier with the Stop button.
  5. Playback. Re-record or Submit.
  6. On submit:
    • The browser asks the server for a presigned S3 URL (/get-video-presigned-url/).
    • The video uploads directly to S3.
    • The server submits the attempt to the DinoCloud / AWS Transcribe pipeline.
    • The recorder shows a progress spinner that polls /video-qa-status/ until processing is complete.
  7. When ready, the system shows the transcript (fetchable via /get-video-qa/) and the score (/video-qa-result/).

The whole pipeline typically takes 5–15 seconds for a 60-second video. You can leave the page; the result will be in your dashboard when you come back.

4.4.1 Editing or re-recording an attempt

Before publishing, you can re-record as many times as you like:

  • Edit / re-record/edit-video-qa/.
  • Delete the attempt/delete-video-qa/.

Once you publish (see 4.6) the published video gets a permanent shareable URL. Re-recording after publishing creates a new attempt; you have to publish it explicitly to replace the old one.


4.5 The 5-dimension VBQ rubric and your score

Every VBQ video is scored on five dimensions on a 0.0–1.0 scale. The grader is a Claude model running through the DinoCloud pipeline. The five dimensions are:

Dimension What it measures
Knowledge Does the answer demonstrate factual command of the term?
Specificity Does it cite concrete examples, projects, numbers, dates — or stay abstract?
Communication Clarity, pace, structure. Could a non-expert follow along?
Confidence Tone, hesitations, recovery from mistakes. (Not "louder is better" — measured calm counts.)
Relevance Does the answer actually address the question that was asked?

The five sub-scores are averaged (with relevance double-weighted) into a single final score between 0.0 and 1.0, and the score band is named:

Final score Band
0.85–1.00 Expert
0.70–0.84 Advanced
0.55–0.69 Proficient
0.40–0.54 Developing
0.00–0.39 Emerging

When you view a published VBQ video, the band and the five sub-scores are shown beside it. The transcript is available too — click Show transcript.

What if my score is low? Re-record. The recorder lets you keep trying until you're happy, and only the published one is shown publicly. The platform never shows your unpublished or low-scoring attempts to anyone except you.


4.6 Publishing, unpublishing, editing and deleting VBQ videos

A VBQ attempt is private by default. Nothing is visible to anyone else until you publish it.

Action URL Effect
Publish /video-qa-publish/ Marks the attempt as the public answer for that term. Generates a permanent URL /v/<candidate_id>/<term_ref>/<attempt_id>/<yyyymmdd>/. Replaces any previously-published video for the same term.
Toggle publish (re-publish or unpublish) /VBQ/toggle-publish/ One-click switch in your dashboard.
Refresh URL /VBQ/fresh-url/ If a presigned playback link expires, this returns a fresh one. The site does this automatically when needed.
Edit / re-record /edit-video-qa/ Opens the recorder again and creates a new attempt. The previous attempt stays where it was; you can publish either one.
Delete /delete-video-qa/ Permanently removes the attempt and its file from S3.

You can also customise the thank-you message shown after a candidate submits a VBQ video — for employer-required VBQs, this is the text the candidate sees on the confirmation screen. Save it via /save-thankyou-msg/ from the term-question editor.


4.7 The "What I'm looking for" and "What I can help with" videos

These two slots use the same recorder as the intro video and run through the same DinoCloud pipeline, but they are not graded — they're free-form.

Slot Upload Delete Storage field on CustomUser
What I'm looking for /looking-for-video-upload/ /looking-for-video-delete/ looking_for_video_s3_key
What I can help with /can-help-with-video-upload/ /can-help-with-video-delete/ can_help_with_video_s3_key

Both videos are shown on your profile and feed into the recommendation engine — the transcripts are matched against job postings the same way your terms list is. A candidate who says "I'm looking for a senior nursing role in the Pacific Northwest" will surface for searches that mention the same things even if those exact terms aren't on the term chips.


4.8 Where your videos are stored and who can see them

All videos sit in an AWS S3 bucket in us-west-2:

  • Production: bleblubla-prod-multimedia-records-us-west-2
  • Development / test: bleblubla-dev-multimedia-records-us-west-2

The bucket is private. You never get a direct S3 URL. The site generates short-lived presigned URLs for playback (typically valid for 24 hours), and refreshes them automatically when the page reloads or when you call /VBQ/fresh-url/.

Who can see what:

Video Visible to
Intro video Anyone whose visibility level allows them to see your profile (public by default).
What I'm looking for Same as intro.
What I can help with Same as intro.
Unpublished VBQ attempt Only you. Not visible to admins, employers or anyone else.
Published VBQ video Anyone who can see your profile, plus anyone with the permanent /v/... URL.
VBQ submitted as part of an application Only the employer who received that application. (Even if the VBQ wasn't otherwise published.)

4.9 The video gallery (public)

Every candidate gets two automatic gallery pages:

Page URL What it shows
All videos /VBQ/all/<candidate_id>/ Every published VBQ video plus the intro / looking-for / can-help-with videos, in a grid.
Per-term videos /VBQ/<candidate_id>/<ctid>/ Every published VBQ video the candidate has against a single term.

Both pages are public and indexed by search engines. They include thumbnails (auto-extracted from a frame near the start of each video), the score badge, the transcript and a Share button.


4.10 Permanent video URLs and SEO

A published VBQ video gets a permanent URL of the form:

/v/<candidate_id>/<term_ref>/<attempt_id>/<yyyymmdd>/

The trailing <yyyymmdd> is the publish date, included so the URL is human-meaningful in shares ("this is my March 2026 answer"). The URL is stable forever — the slug never changes.

Each video also has two helper redirects so other systems (RSS readers, video preview cards, employer ATSs) can grab the actual file or thumbnail:

  • /v/<candidate_id>/<term_ref>/<attempt_id>/<yyyymmdd>/video.mp4 → 302 to a presigned S3 URL for the MP4.
  • /v/<candidate_id>/<term_ref>/<attempt_id>/<yyyymmdd>/thumb.jpg → 302 to a presigned S3 URL for the JPG thumbnail.

The detail page (video_detail.html) emits schema.org VideoObject JSON-LD so your video appears with a thumbnail and duration in Google search results, and so it can be embedded in Google Search Console's video sitemap.


4.11 Video processing pipeline (transcripts, scores, status)

The end-to-end flow when you submit any video:

Browser ─[presigned PUT]─▶ S3
                              │
                              ▼
                       DinoCloud Lambda
                       (in our AWS account 376129849839)
                              │
                              ├─▶ AWS Transcribe (speech → text)
                              │
                              ├─▶ AWS Bedrock / Claude
                              │   (rubric scoring for VBQ only)
                              │
                              ▼
                        DynamoDB attempt record
                              │
            polled by browser via /video-qa-status/
                              │
                              ▼
                  Final score + transcript visible in UI

Endpoints you may see being called from your browser:

Endpoint What it does
/start-video-qa/ Creates an attempt record; returns the attempt_id.
/get-video-presigned-url/ Returns a one-time S3 PUT URL for the upload.
/video-qa-status/ Polls processing state (uploadedtranscribinggradingcomplete / failed).
/get-video-qa/ Returns the full attempt record including transcript.
/video-qa-result/ Returns just the score + rubric breakdown.
/video-qa-publish/ Marks the attempt public.

If processing fails the status flips to failed with an error code such as transcribe_silent_audio or transcribe_failed. See 4.12.


4.12 Common video errors and how to fix them

Symptom Likely cause Fix
"Failed to transcribe video" appears within 5 seconds of submitting. Your microphone level was so low that AWS Transcribe couldn't detect speech. The recorder warns you in advance if mic level is near silent. Re-record with mic closer to your mouth, or unmute the system mic.
"Upload failed" Network dropped mid-upload, or the file is larger than the bucket-side limit. Re-record (videos compress automatically) or switch to a stable network.
"Browser does not support recording" Old Safari, Firefox without ESR, or in-app browser (Facebook/LinkedIn). Use Chrome, Edge or Safari 14+.
No camera/mic permission prompt appears. Site permission previously denied. In the browser address bar, click the lock icon → Site settings → set Camera and Microphone to Allow. Reload the page.
Video uploads but score is stuck at "grading" for >2 minutes. DinoCloud / Bedrock backlog (rare). Refresh the page; re-call /video-qa-status/. If the issue persists, contact support; the attempt record is still safe.
"This question is no longer available." The term you claimed was deprecated and no longer has a canonical question. Pick a different term, or use the generic question fallback.
Score is much lower than expected. The grader picks up on hesitation, vague phrasing, or off-topic content. Re-record; the recorder is unlimited until you publish.

4.13 Employer features around video

From the employer side, video shows up in three places:

  1. Inside an application card — VBQ answers required by your job are embedded directly in the candidate review pane, with the score badge alongside.
  2. On the candidate profile — when you open /profile/<name>/<user_id> from a search result, every published VBQ for matching terms is visible.
  3. On the term detail page/<term_type>/<term_name>/<term_ctid>/ lists every candidate who has a published VBQ for that term, sorted by score band. This is the fastest way to find people who can demonstrate a specific niche skill.

Employers can attach their own video to a job posting (a hiring-manager pitch or office tour) — same recorder, no scoring; see 3.3.6 Attachments.

When a candidate applies, the employer's notification email contains a thumbnail of every video answer. Clicking it goes to the application page, where playback uses the standard presigned-URL refresh flow.


Next: 5. Search & discovery — how the marketplace and radius search work.

Help
How can we help?
Pick one — both reach our team.
FeedbackShare a suggestion or idea Raise a ticketReport a bug or problem