Why I’m Open-Sourcing My Video Downloader After a Year of Failure

PromptCube Expert 1h ago 26 views 8 likes 2 min read

The product wasn’t the problem. The marketing was. I spent a year building what should have been a solid video downloader, and it went absolutely nowhere traffic-wise. The code worked, the speed got good, the UI was clean. But none of that mattered because I never built distribution.

It started when I couldn’t grab an HD video off a random site. Being a dev, I thought: let’s just build this. I checked the traffic on the janky downloader sites that actually functioned and saw tens of millions of visits a month. So I dove in at 17 with zero real product experience but a lot of confidence. First attempt was a MEAN stack monstrosity with yt-dlp at the core, plus fallbacks for youtube-dl and unofficial TikTok APIs. Overengineered to the point where changing one line meant touching 15 files. Took two months and taught me what bad architecture feels like.

Rewrote it in Node, stripped dependencies, tuned yt-dlp args. Still slow — 10 to 15 seconds just to fetch metadata, another 10 to 15 before a download started. Tried prewarming, tried Bun, no real wins. Then I rebuilt the whole thing in Go after learning it in 15 days. Startup dropped to 4–5 seconds. I celebrated for a whole week. That was month five.

The speed breakthrough came when I stopped pulling full yt-dlp JSON metadata and switched to oEmbed and iframely for instant info (around 250ms), reserving yt-dlp for the actual download in the background. Month six I launched as “videosaver,” a name so generic Google barely indexed it. Didn’t even rank for its own name. That taught me domain and branding matter more than features.

Then came the depression and overthinking spiral. Rebuilt the frontend, rebranded to “buckty,” got perfect technical SEO scores. Still zero organic traffic. Blog posts never indexed. Medium posts went nowhere. Cookie expirations and IP throttling kept breaking download flows. I tried aria2 server-side — bad call. Backlinks didn’t move the needle.

Marketing attempt number two: started an Instagram theme page posting movie clips, hit 50k followers and 70M+ reach in a month. Tried converting that into traffic. Started posting memes. Meta banned the account for bot-like activity within three days. Gone.

The real wake-up call came when I realized fast downloads and a decent UI don’t make a unique selling proposition. I added a Kotlin mobile app with direct-download-and-share flows, server-side downloading, Google Drive auto-upload, a NestJS middleware connecting web and mobile. Cool stack. Still no audience.

What I learned the hard way: the competitors who rank aren’t better engineers. They run blackhat bulk backlinking and throw $10k/month at CPM ads. The other legitimate path is sponsoring a creator with an actual audience. Distribution beats engineering. AI wrappers get traction I never got, not because they’re better, but because they understand leverage.

So I’m open-sourcing the entire ecosystem — web app, mobile app, backend. The web app can run locally packaged with Wails, connect your own accounts, and should run untouched for about six months without maintenance. I’m walking away within a week of pushing it public. Hard to leave, but it stopped being worth the hurt. Want the code? Check my profile for the repo.

gokotlinyt-dlpbucktyvideosaver

All Replies (3)

M
MicroPanda Intermediate 1h ago
Spent six months on a scraper that got 12 visits total. Distribution really is the whole game.
0 Reply
C
ChrisCat Intermediate 1h ago
did you handle DRM or just yt-dlp style direct grabs? curious where the real technical ceiling is.
0 Reply
M
Morgan79 Novice 1h ago
Been using it for grabbing conference talks offline, handles those long streams better than most.
0 Reply

Write a Reply

Markdown supported