Inspiration

A few months ago, I noticed something surprisingly common in YouTube comments.

A creator would say, “I'll test this again next month” or “I'll make a Part 2,” and months later people were still commenting:

“Did you ever follow up on this?”

The creator wasn't ignoring them. They had simply moved on and forgotten.

YouTube already tells creators what got views, what retained attention, and what converted.

But it doesn't tell them what their audience is still waiting for.

I started calling that narrative debt: all the little promises and unfinished stories buried across old videos.

That's what became Lore.

Lore isn't trying to give creators another stream of AI-generated ideas. It helps them remember the good ideas they already started — and the people who cared enough to ask what happened next.


What it does

Lore connects to a creator-owned YouTube channel and looks for unfinished promises inside recent videos.

When Lore finds something like:

"I'll come back and test this later."

it doesn't simply say, “Make a follow-up video.”

It shows the exact quote, timestamp, source video, and real comments from viewers asking for the outcome.

That part was important to me because I didn't want Lore hallucinating a reason to create content.

If Lore says you promised something, you can see where you said it.

Then Lore filters the comments to separate actual demand from unrelated discussion.

So the experience becomes:

You said this. These people remembered. Do you want to finish the story?

If the creator says yes, they upload their own follow-up footage. Lore renders it into a polished 1080p callback clip.

After the creator publishes that follow-up, Lore returns to the original viewers who asked for it.

It drafts a reply, the creator reviews it, and only after explicit approval does Lore post it through YouTube.

That closes the entire loop:

$$ \text{Promise} \rightarrow \text{Audience} \rightarrow \text{Callback} \rightarrow \text{Reply} $$


How we built it

Lore is built with Next.js 16, React 19, TypeScript, and Tailwind CSS.

The YouTube connection uses the official YouTube Data API v3 with server-side OAuth 2.0. Refresh tokens are encrypted at rest using AES-256-GCM.

For the part I cared about most — proving that a promise actually exists — I built a custom VTT/SRT transcript parser.

Lore works from timestamped caption evidence rather than asking a model to freely invent possible storylines.

It then pulls real YouTube comment threads and matches comments that are relevant to that specific promise.

For callback generation, I built an FFmpeg + ffprobe media pipeline that validates creator-uploaded footage and renders a standard (1920 \times 1080) H.264/AAC MP4.

I also built automated tests with Vitest that generate media, run the render pipeline, and verify the output streams with ffprobe.

The AI is useful, but I deliberately built deterministic evidence and validation around it.

I wanted Lore to be able to explain why it was recommending something.


Challenges we ran into

The first challenge was YouTube API quota.

My first instinct was: scan everything.

That quickly became obviously wrong.

Instead, Lore scans a bounded set of recent uploads, currently (N \leq 12). What began as an API limitation actually made the product better. The results became faster, more focused, and easier for a creator to act on.

The second challenge was video rendering.

Creator footage is messy: different resolutions, aspect ratios, codecs, durations, and sometimes missing audio.

Getting FFmpeg to consistently produce a valid output across those cases took far more work than the UI suggests.

The third challenge was a product decision:

How much should Lore be allowed to do automatically?

I could have made it mass-reply to every matching comment.

I chose not to.

A creator's comment section is their voice. Lore can help prepare the response, but the creator must approve every public reply individually.

That constraint made the system less autonomous, but much more trustworthy.


Accomplishments that we're proud of

The moment I was happiest wasn't when the UI looked finished.

It was when I ran Lore against a real creator-owned YouTube channel.

Lore found the source-backed promise.

It pulled the real comments.

It rendered the callback MP4.

I attached the published follow-up video, approved a reply, and sent it through the YouTube API.

Then I refreshed the original public comment thread.

The reply was there.

For the first time, the whole idea existed outside my local demo:

$$ \text{old video} \rightarrow \text{forgotten promise} \rightarrow \text{viewer} \rightarrow \text{follow-up} $$

That small moment felt like the product.

I'm also proud that Lore doesn't need to fake the evidence behind its recommendations.

Every story starts from something the creator actually said.


What we learned

Building Lore changed the way I think about AI tools for creators.

Most creator AI products are designed around one question:

“What can we generate next?”

But creators already have years of ideas, experiments, questions, and unfinished stories behind them.

Maybe AI doesn't always need to create more.

Maybe sometimes it should remember better.

I also learned that trust improves dramatically when AI can show its work.

There is a huge difference between:

"You should make a Part 2."

and:

"You said this at 4:18. These viewers asked about it. Want to finish it?"

The second one feels less like a machine generating content and more like a collaborator paying attention.


What's next for Lore

Right now, Lore starts with recent YouTube videos.

The bigger vision is for Lore to become a continuity layer for creators.

I want it to follow stories across entire playlists and multi-part series, and eventually across YouTube Shorts, TikTok, and Instagram Reels.

A story might begin in January, get an update in March, and finally resolve six months later.

Lore should understand that those moments belong together.

I also want to make the final step seamless: from finding the unfinished story, to creating the callback, to publishing it, to returning to the viewer who asked.

Because analytics already remember what performed.

Lore remembers the story.

Built With

Share this project:

Updates

Submission history