Most "this should be simple" WordPress problems turn out to need a plugin that doesn't exist yet, or exists but gates the actual feature behind a paid tier. I build these from scratch when that happens, scoped to the one job it needs to do, not a bloated everything-plugin that slows the site down.
First question is always whether a plugin genuinely doesn't exist for this, versus the existing options just being priced badly or missing one feature. That changes the whole conversation, and it's usually clear within a short scoping call.
Once it's confirmed, I scope the plugin to the actual feature set the project needs, nothing extra bolted on for the sake of looking fuller. If it talks to an external API, caching and rate limits get built in from the start rather than added after the first slowdown.
Every YouTube embed plugin on the market gated basic features, a slider, a lightbox popup, more than six videos, custom colors, behind a paid tier. I built a plugin from scratch that fetches directly from the YouTube Data API v3, with four display layouts, a no-redirect lightbox player, and an Elementor widget, free of that gating.
It's live on Concurate's Shorts page. See more builds in the portfolio →
If two or three well-reviewed plugins have already failed to do the specific thing you need, that's usually the signal. A quick scoping call is enough to tell whether it's genuinely missing functionality or an existing plugin just configured wrong.
Either, depending on what you want. YT Embed Pro currently runs as a private build on the client's own site rather than a public repo listing. Some clients want that, some want a public plugin with support overhead included, both are fine.
A custom plugin built against WordPress's own hooks and APIs, rather than hacky workarounds, tends to survive core updates fine. For ongoing client work I test against major core releases before they roll out broadly rather than finding out after something breaks.