Real-Time AI Video: Building Progress Tracking That Doesn't Gaslight Your Users

May 20, 2026 • ArchyPress

ArchySocial dashboard showing campaign management and post scheduling interface

The Problem With AI Progress Bars

A progress bar that lies is worse than no progress bar. It creates false expectations, generates support tickets, and — in the case of AI video generation — causes users to cancel jobs that were about to complete. Most AI-powered apps handle async job feedback with one of two antipatterns: a spinner that provides no signal, or a fake progress bar that increments at a fixed rate regardless of actual job status. Both erode user trust.

ArchySocial's video generation uses Azure OpenAI Sora-2 to produce social media video clips. Generation takes 30–120 seconds depending on video length and model load. That's a long time to stare at a fake progress bar.

Users will tolerate waiting if they believe progress is real. The only thing more frustrating than slow software is slow software that lies about how slow it is.

The Architecture: Jobs, Polling, and Recovery

Sora-2 video generation is inherently async: you submit a request, receive a job ID, and poll until the job reaches terminal state (succeeded or failed). ArchySocial models this as a persistent job record:

  • Job ID stored in the database at submission time

  • Status polling via a server function that calls the OpenAI Jobs API

  • Frontend polls the server function on a configurable interval

  • Terminal states (completed, failed) update the record and stop polling

  • In-progress states return estimated progress percentage from the API response

The critical addition was auto-resume for stale jobs. If a user closes the browser mid-generation and returns later, the frontend detects that the job record exists in a non-terminal state and automatically resumes polling — picking up where it left off without requiring the user to re-initiate anything.

Honest Progress Reporting

Sora-2's API returns a progress field (0–1.0) on in-progress jobs. ArchySocial maps this directly to the displayed percentage with no smoothing or fake acceleration. The tradeoff: the progress bar sometimes jumps, and sometimes stays at the same value for extended periods.

This is intentional. Users who see a bar stuck at 73% for 20 seconds are receiving accurate information: the model is at 73% and hasn't progressed in 20 seconds. That's better than a bar that races to 100% and then freezes while the backend catches up.

Handling Failure States Gracefully

AI video generation fails more often than text or image generation — context window limits, NSFW content detection, model timeouts, and infrastructure issues all terminate jobs early. ArchySocial's failure handling distinguishes between:

  • Retryable failures: model timeout, rate limit, infrastructure error — user sees 'Generation timed out. Retry?' with one click

  • Terminal failures: content policy violation, invalid prompt — user sees specific error message and guidance

  • Stale jobs: job ID present but no status update in 5 minutes — treated as retryable timeout

ArchySocial dashboard showing campaign management and post scheduling interface

Best Practices for Async AI Generation UX

  • Persist job state immediately: write the job ID to persistent storage before the API call returns, not after; if the call succeeds but the write fails, you've lost the job

  • Show real progress, not estimated progress: if the API provides progress data, use it; fake interpolation optimises for looking good at the cost of trust

  • Auto-resume on page load: check for non-terminal jobs on component mount and resume polling; don't make users re-trigger generation

  • Distinguish retryable from terminal failures: different failure types need different UX responses; conflating them with a generic error message frustrates users

  • Test with throttled connections: async job UI needs to work on slow connections where poll responses take several seconds; spinner states and loading guards matter more than they do on fast connections

Generate Video Content With ArchySocial

AI video generation for social posts — with honest progress tracking and auto-resume. Try it on ArchySocial.

© 2026 Meet Archy