Offer to help with transcripts of Seattle 2025 ATmosphereConf

Hi there, this is my first post here and hope I put it in the right place. :slight_smile:

I’m a big fan of ATProto, been following developments for a while and so when I saw on Bluesky that transcripts were being worked on for last year’s conf, I posted an offer to help make the 2025 conference transcripts interactive using an open source library I’ve been developing.

Advantages of interactive transcripts include:

  • Easier to navigate to points of interest
  • Easier to share excerpts of a talk
  • Easier to process the transcript as it highlights in time with audio/video (think karaoke :slight_smile: )

I’m a media technologist who works on various open source projects. I’ve worked with Mozilla and wrangled the decentralisation space at the Mozilla Festival a few years ago.

I was asked to introduce myself on this forum, so we can chat about it, so here I am :slight_smile:

5 Likes

Thanks for dropping in @maboa.bsky.social!

We’re keeping it pretty simple and just grabbing transcripts from YouTube and posting them to our leaflet.

@lucca.northsky.team is doing that work, as part of the conference producers team.

We also have the source video from AHOY and ATProto NYC that we haven’t processed yet.

Given source video in YouTube and some unposted in GDrive, and the fact that we embed in Leaflet, can you suggest how to put these pieces together?

I think the main issue is Leaflet. The library (Hyperaudio Lite) is written in JavaScript so fairly portable. It does have integrations for YouTube if you are embedding that as the player.

Let me test whether it can be used with Leaflet embeddings and get back to you.

Leaflet doesn’t currently support arbitrary HTML. But @schlage.town @awarm.space might be convinced to add support.

@maboa.bsky.social this might be something we can add to the 2026 conference website, and in fact, retro-actively make it the archive for talks and events. Happy to walk through that and accept a PR to experiment with this but also in crunch time for the conference.

Are you planning on joining us in Vancouver? In any case, once the conference website is up, I can come back and point at the source code and we can do some experiments.

2 Likes

Thanks for the info @bmann.ca Happy to experiment with Leaflet integration. I’m not going to make it to Vancouver unfortunately, but feel free to give me a shout once the conference website is up :slight_smile:

1 Like

I know @iame.li & @natalie.sh have been working on transciption of streams

so if there was

  1. people that could contribute code to that effort
  2. people that could work on making that transciption publish to a https://standard.site/ schema
  3. tag in https://standard.site/ websites to slupr that data up and auto-pot transcriptions

that could not only show some amazing interoperability but also increase the accessibility for people. could even let some localization contributors take a shot at proper translations

3 Likes

Hey @maboa.bsky.social - we did get videos directly on https://atmosphereconf.org - can you take a look and see how your solution would be integrated?

1 Like

Sorry for the late reply. I’ve been afk for a few weeks. I’ll take a look.

Right, circling back on this, apologies for the long gap. I finally freed myself up enough to look at this. I’m new to most of this, so it took me a while to understand the ins and outs :slight_smile:

I think the cleanest answer is to have a proper hypertranscript block in Leaflet, with the transcript stored as structured JSON rather than HTML.

The block record would carry a media reference (YouTube ID, or blob/URL for direct video) plus the transcript as a blob . Apparently word-level timings for a 30–60 minute talk easily exceed AT Proto’s record size limit. The block component would render the JSON to HAL-compatible HTML at display time, and Hyperaudio Lite takes it from there.

The nice thing about this approach is that the JSON becomes the canonical artifact. Any standard.site - aware renderer can consume it.

Re: atmosphereconf.org@bmann.ca, since the site is Astro and doesn’t have Leaflet’s HTML constraints, I’d propose using it as the proving ground:

  1. Static version of one of the conf video pages including an interactive transcript. (HTML/CSS and vanilla JS).

  2. A small Astro component that takes a YouTube ID + the JSON format above and renders the Hyperaudio Lite player inline on talk pages.

3. PR against `ATProtocol-Community/atmosphereconf` so it can be merged and used retroactively for the archive.

4. The same JSON files could then feed straight into the Leaflet block work.

That gives us a working reference implementation to point at, when we approach @schlage.town and @awarm.space about a Leaflet block.

Alternatively we could jump straight to the Leaflet implementation or at least request changes that would allow that implementation.

YouTube auto-captions are a reasonable starting point but Ideally we’d get accurate word-level timings. @psingletary.com mentioned @iame.li and @natalie.sh have been working on stream transcription. I can create word-timed transcripts from the youtube videos using the Hyperaudio Lite Editor Would love to compare notes.

@lucca.northsky.team, happy to coordinate on whatever pipeline you’re already using to pull from YouTube.

The very first thing I’ll do is create a static version of one of the atmosphere conf pages containing video, and build an interactive transcript in, just so we can see what it could look/work like.

1 Like

Yes, putting this into atmosphereconf would be best, we have full control over that and Ms Boba @essentialrandom.bsky.social can help review PRs.

The leaflet bit is up to the team there, let’s see what it looks like in our long term conference site and we can go from there. There is likely interest from Streamplace team (who now do Video on Demand) and others in the atmosphere aout how this would work.

Thanks for digging into this!

1 Like

Hello! I heard someone say “Astro component” :eyes:

Happy to review PRs, as Boris said, as well as help with any Astro question or beyond. Would love to see this!

1 Like

I think this is coming along nicely. I hope to submit a PR tomorrow. Here’s a sneak preview. Happy to hear your feedback / suggestions :slight_smile: https://lab.hyperaud.io/temp/atprotoconf-interactivetranscript.mp4

Oh BTW I haven’t made any corrections to the machine generated transcript yet.

Here’s the PR feat: interactive transcripts on event pages by maboa · Pull Request #119 · ATProtocol-Community/atmosphereconf · GitHub Please let me know what you think :slight_smile:

Just using one session (/event/rjQ96kl) as PoC. No editing/correction done on that transcript as yet.

Great, thank you, I deployed the preview.

Daniel’s talk, nice https://conf-demo-pr-119.up.railway.app/event/rjQ96kl

Seems to work!

What else do you think is needed?

1 Like

Thanks! I think the next steps are:

  1. Transcribe all the content.
    We can get a token and free credits from Deepgram.com and plug that in to Hyperaudio Lite Editor . I’ve made sure it exports the same JSON format we require. (I’ve noticed that it’s usually better if an mp3 version of the media is used as sometimes the Deepgram API times out).

  2. Plugging in of all the JSON.

  3. (Optional) translation of caption files. (I can look into a workflow to do this). And possibly translation of the transcript, which would be “phrase-timed” rather than word-timed, but would work very similarly.

  4. Standard.site and Leaflet compatability.

How does that all sound?

I’m on vacation just now, but I’ll get back to this next week.

If it’s helpful at all, the approach I used to have time-coded transcription of the 2026 talks is available at GitHub - blaine/ionosphere: AT Protocol conference video archive with semantic enrichment · GitHub. I’m surprised Boris didn’t mention it here! :sweat_smile:

1 Like

Hi Blaine – It’s been a while! :slight_smile: This looks super useful indeed. Sounds like I should find a way to import and convert that data. Thanks! One question – have these transcripts been corrected by a human or are they raw machine transcripts?

Just a heads up, in case you weren’t aware – I’m getting [HLS] Fatal error: networkError manifestLoadError on the talks I’ve tried on Ionosphere

1 Like

Awesome, glad to hear it’s still useful!

The transcripts are just raw, I’ve built a separate ionosphere-based clipping / linking / corrections tool but haven’t had the time to get it into shareable state. At least in spot-checks, the transcripts seem very good (all done with a recent Whisper). Diarization also seems very accurate from the spot checks I’ve done.

Re: the video playback, yeah, I think that’s something @iame.li maybe needs to fix, or I need to change the data sources? Lots going on over the next few days here, but I’ll try to get to it sooner than later!