TL;DR
I grew up on Toonami and Adult Swim, and the bumpers stuck with me more than most of the shows. So I built a small CLI that turns a few lines of YAML into Adult Swim-style bumpers, loaded 121 of them into NeXroll, and now every movie on my Plex server Joeflix opens with one.
I grew up on Toonami after school, and later on staying up way too late for Adult Swim, which was the first TV I ever watched that seemed like weirdos made it for other weirdos. I loved it. The bumpers stuck with me longer than most of the shows did.
You know the ones. Black screen, plain white text, one card at a time. Sometimes a joke, sometimes weirdly sincere, and then [adult swim] and you’re back in the show.
Now I’m an adult (allegedly) and I run a Plex server called Joeflix for my friends and family. So I built the thing younger me would have lost it over: a little CLI that makes Adult Swim-style bumpers. Every movie on Joeflix now opens with a personal message from me to my friends. The jellyfish at the top of this post is one of them.
Why does a Plex server need bumpers?
Plex is great at playing movies and has zero personality. You hit play and it could be anyone’s server.
But Plex will play a pre-roll video before every movie, and that’s your one chance for the server to say something. I wanted it to sound like me.

Most of them are about Minnesota or my hard drives
I have 121 of them in rotation right now. Here are a couple that I made.
My friends and family know exactly how much I spend on hard drives. Now the server makes fun of me for it too.
And some of them are just dumb. I’m fine with that. Adult Swim was dumb sometimes too.

It’s just YAML and ffmpeg
The tool is adult-swim-bumper, a small Python CLI on top of ffmpeg. Each bumper is a few lines of YAML with the cards, a background clip, and a music track:
- name: hotdish
cards:
- 'a hotdish'
- 'is just a casserole'
- 'made with more intention.'
video: videos/hotdish.mp4
music: music/ambient-01.mp3
Run bumper render and you get a ten-second MP4 with the cards fading through one at a time, a little music underneath, and your server name in brackets at the end.

I didn’t build the Plex side, and you shouldn’t either. NeXroll is a self-hosted pre-roll manager that already does it well. I dumped the rendered bumpers into an “Adult Swim” category, and NeXroll shuffles through them before every movie, next to the seasonal ones it plays around Christmas and Halloween.
One catch: Plex only plays pre-rolls before movies, so TV episodes still start cold. Half of Joeflix has no personality yet.
Nobody compliments my transcoding settings
I get compliments on the bumpers all the time from people who join the server. Nobody has ever said a word about my transcoding settings. But a jellyfish telling them there’s no algorithm? That gets brought up.
If you run a server for your own people, steal the code. Set your server name and write some bad jokes. Building the rest of the setup? Start with my homelab starter guide. Two years later is what it turned into.
sit back. breathe. it’s just a movie.
[joeflix]

Joe Karlsson
Developer Marketing Engineer at CData, leading developer growth for the managed MCP platform that connects AI agents to live enterprise data. Writing about databases, self-hosting, and the things I build. Runs a 60+ container Proxmox homelab with AI-powered automations.
cat newsletter.md
Works on My Machine is my newsletter: thoughts and reactions on tech writing, AI, homelab builds and open source, plus whatever I'm working on. It goes out when I have something to say.
Free, no spam, unsubscribe anytime. Read past issues.
Related Posts

Sep 27, 2023
How to get started building a Homelab server in 2026
I built my first Homelab server for under $200 using a used Lenovo ThinkServer from Facebook Marketplace and Proxmox. Here is everything I learned about picking hardware, choosing an OS, setting up containers, and mounting NAS storage.

Oct 6, 2026
Breaking up with Claude Code
OpenCode with open models isn't a one-to-one swap for Claude Code. What broke, what fixed it, and which models I use.

Sep 30, 2026
My Development Setup in 2026
My development setup in 2026: Ghostty, plain zsh, Handy voice input, git worktrees for concurrent Claude Code agents, and chezmoi. What I switched and why.