I built this because "Zoom Fatigue" for me is actually "Understimulation Fatigue".
I noticed the trend of "sludge content" (split screen videos with gameplay) actually helped me focus on audiobooks, so I ported the concept to Google Meet.
It's a Chrome Extension that injects a draggable, resizable `<iframe>` container over the meeting grid.
- Caption Sync: It uses a `MutationObserver` to scrape the live caption node from Google Meet's DOM and renders it into the overlay, so you can watch the loop and read the meeting simultaneously.
- State Management: Handles the fragility of Meet's DOM updates (which break observers constantly) by re-attaching listeners dynamically.
- Privacy: 100% client-side. No meeting audio/video is recorded or sent to a server.
It's a weird solution to a modern problem, but it works for my ADHD brain.
miemex•14h ago
I built this because "Zoom Fatigue" for me is actually "Understimulation Fatigue".
I noticed the trend of "sludge content" (split screen videos with gameplay) actually helped me focus on audiobooks, so I ported the concept to Google Meet.
It's a Chrome Extension that injects a draggable, resizable `<iframe>` container over the meeting grid.
- Caption Sync: It uses a `MutationObserver` to scrape the live caption node from Google Meet's DOM and renders it into the overlay, so you can watch the loop and read the meeting simultaneously.
- State Management: Handles the fragility of Meet's DOM updates (which break observers constantly) by re-attaching listeners dynamically.
- Privacy: 100% client-side. No meeting audio/video is recorded or sent to a server.
It's a weird solution to a modern problem, but it works for my ADHD brain.
Happy to answer Qs about the implementation!