<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: JasonRobert</title>
    <description>The latest articles on DEV Community by JasonRobert (@jasonrobertdestiny).</description>
    <link>https://dev.to/jasonrobertdestiny</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3636251%2F2591a7c7-2c4f-40fb-a074-9a40375bbf12.png</url>
      <title>DEV Community: JasonRobert</title>
      <link>https://dev.to/jasonrobertdestiny</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/jasonrobertdestiny"/>
    <language>en</language>
    <item>
      <title>Building Continuum: an agent that shoots a whole drama series, not one clip</title>
      <dc:creator>JasonRobert</dc:creator>
      <pubDate>Wed, 24 Jun 2026 16:10:03 +0000</pubDate>
      <link>https://dev.to/jasonrobertdestiny/building-continuum-an-agent-that-shoots-a-whole-drama-series-not-one-clip-4g3o</link>
      <guid>https://dev.to/jasonrobertdestiny/building-continuum-an-agent-that-shoots-a-whole-drama-series-not-one-clip-4g3o</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Continuum is my entry for the Global AI Hackathon Series with Qwen Cloud (Track 2: AI Showrunner). Code: &lt;a href="https://github.com/calderbuild/continuum" rel="noopener noreferrer"&gt;https://github.com/calderbuild/continuum&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I spent the last few weeks building Continuum, an autonomous AI showrunner that produces serialized vertical micro-drama on Qwen and Wan. One agent crew takes a premise and a cast, writes the script, storyboards it, generates the video, scores its own work, and cuts the episode together. Then it does it again for episode two, and the second episode actually looks like it belongs to the first one. That last part is the whole point, and it was also the hard part.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fz5h4am84q59yhovtsyde.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fz5h4am84q59yhovtsyde.png" alt="The same protagonist held across both episodes. Qwen-VL cross-episode identity match: 0.98" width="800" height="351"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why micro-drama, and why consistency is the wall everyone hits
&lt;/h2&gt;

&lt;p&gt;Vertical micro-drama is not a niche. The global market was around $11B in 2025, and in China roughly 95% of the 128,000 new titles added each month are already AI-touched in some way. It is a real, validated, money-printing format, and it is going overseas fast. Qwen speaks 119 languages, so the fit there is almost unfair.&lt;/p&gt;

&lt;p&gt;The catch shows up the moment you want more than a single clip. Every tool I looked at, Showrunner, AIDrama Studio, Topview, can make you one nice shot. None of them can keep a character looking like the same person across shots, let alone across episodes. The state of the art is a human sitting in the loop, re-rolling generations and hand-picking the takes that match. Nobody had an agent that maintains a memory of the world and corrects its own drift. That gap is the entire reason Continuum exists.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I actually built
&lt;/h2&gt;

&lt;p&gt;The core is three things working together.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fpyr8pupewy07ftpbll5y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fpyr8pupewy07ftpbll5y.png" alt="Continuum agent crew, the Series Bible, and the critic-optimizer loop" width="800" height="1184"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;First, a Series Bible. It is a JSON document the agent reads before it shoots and writes after it wraps. It holds each character's appearance prompt, a locked reference image, props, locations, plot threads, and the emotional arc. The rule that makes it work is boring and strict: once a character's look is locked, later merges can add new props and threads but they cannot rewrite the face. That one constraint is what stops the slow drift that ruins every multi-shot attempt.&lt;/p&gt;

&lt;p&gt;Second, a critic-optimizer loop. After each clip comes back, Qwen-VL compares the character in it against episode one's anchor frame and returns a structured identity score with a one-line reason. If the score is under threshold, an optimizer rewrites the shot prompt and the cinematographer re-generates. A few tries, capped, then take the best. The agent disagrees with itself and fixes it, with no human watching.&lt;/p&gt;

&lt;p&gt;Third, a real consistency number, and it comes from the same Qwen-VL critic rather than a hand-wave. It judges each episode's character against the first appearance and averages the identity match. On the two-episode demo series that lands at 0.98: the same detective, the bob, the cyan circuit tattoo, across completely different scenes. A measured number, not a claim. SSIM via ffmpeg stays in as a zero-dependency fallback, but it scores pixels, not identity, so the VL judge is the one that means something.&lt;/p&gt;

&lt;p&gt;For the brain I used Qwen3-max for scripting and prompt optimization, and Qwen-VL as the visual critic. Video runs on Wan text-to-video over Qwen Cloud, with the locked look injected into every prompt; Wan's reference-to-video model is the designed-in next step for tightening identity further, since it was built for exactly this job. The backend is FastAPI with server-sent events for the live view, and it is structured to deploy on Alibaba Cloud Function Compute.&lt;/p&gt;

&lt;h2&gt;
  
  
  What surprised me
&lt;/h2&gt;

&lt;p&gt;Wan held up better than I expected. I went in assuming I would fight the model for every vertical frame, and instead it gave me coherent 9:16 clips with sensible motion on the first real pass. That freed up days I had budgeted for wrestling with output quality, and I spent them on the Bible and the critic loop instead.&lt;/p&gt;

&lt;p&gt;The second surprise was a debugging detour. My async submit-and-poll calls to Wan started failing with 503s from a proxy in front of the API, intermittently, never the same shot twice. I burned a couple of hours chasing it as a bug in my own code before I accepted it was upstream flakiness. The fix was unglamorous: treat 503 as retryable, back off, poll again. Once I stopped trusting the first response and started retrying the transient failures, the pipeline went from "fails one shot in five" to running a full episode unattended. Lesson I keep relearning: when a call should work and doesn't, check the transport before you rewrite the logic.&lt;/p&gt;

&lt;p&gt;The third was budget. Video generation was the cost I feared, so I rendered at 720p vertical and kept episodes short while building, and the whole demo series ran inside the free Wan quota. When the free quota got close to empty I set a hard spending cap rather than drift into pay-as-you-go. The money I expected to lose to video generation mostly never left the account.&lt;/p&gt;

&lt;h2&gt;
  
  
  What's next
&lt;/h2&gt;

&lt;p&gt;The skeleton is autonomous and the moat works, so the follow-ups are about depth. Lip-synced dialogue through speech-to-video is the obvious one; right now I ship subtitles plus narration, which is honest but plain. After that, wiring the consistency scorer into a vector index so the agent can retrieve a character from a library instead of re-deriving it. And the multilingual angle is sitting right there, since Qwen already covers the languages, so one series could ship in a dozen markets from the same Bible.&lt;/p&gt;

&lt;p&gt;One person, a few weeks, an agent that ships consecutive episodes whose lead actually holds together. That is the thing I wanted to prove was possible, and now it runs.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>hackathon</category>
      <category>showdev</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>Just submitted MeetSpot to the Kiro Hackathon! 🚀</title>
      <dc:creator>JasonRobert</dc:creator>
      <pubDate>Sat, 29 Nov 2025 14:55:24 +0000</pubDate>
      <link>https://dev.to/jasonrobertdestiny/just-submitted-meetspot-to-the-kiro-hackathon-k75</link>
      <guid>https://dev.to/jasonrobertdestiny/just-submitted-meetspot-to-the-kiro-hackathon-k75</guid>
      <description>&lt;p&gt;My favorite thing about @kirodotdev? The Spec-Driven Development.&lt;/p&gt;

&lt;p&gt;It completely changed my dev approach. I defined my architecture in .kiro/steering/tech.md, and Kiro generated 90% of my Async FastAPI backend strictly following my patterns. It felt like pair programming with a Principal Architect.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/JasonRobertDestiny/MeetSpot" rel="noopener noreferrer"&gt;https://github.com/JasonRobertDestiny/MeetSpot&lt;/a&gt;&lt;/p&gt;

</description>
      <category>python</category>
      <category>fastapi</category>
      <category>meetspot</category>
      <category>kiro</category>
    </item>
  </channel>
</rss>
