My Self-Hosted Tool: Vimeo Audio Extractor
What Claude and I built: Vimeo Audio Extractor
A web tool that takes any public Vimeo video — either by direct link or by pasting a webpage that has a Vimeo video embedded on it — and downloads the audio as an MP3 file.
The problem it solves
If you have video content on Vimeo and you want the audio — for a podcast, a transcript, repurposing content — there's no native way to do that. You'd normally need a paid tool, a sketchy website, or a technical workaround. This eliminates all of that.
How it works (non-technical)
  1. You paste a URL into the tool
  2. It detects whether that's a direct Vimeo link or a webpage with a Vimeo video embedded on it
  3. If it finds one video, it goes straight to extraction. If it finds multiple, it shows you a list to pick from
  4. It pulls the audio track from the video and hands it back to you as a downloadable MP3
How it works (technical)
Three layers:
  • Frontend — a clean single-page HTML app. No frameworks, no dependencies. Just a URL input, smart detection logic, and a download button.
  • Backend — a Node.js Express server with two endpoints. /api/detect fetches the page HTML and scans it for Vimeo video IDs using pattern matching. /api/extract runs yt-dlp — an open source audio/video extraction tool — converts the output to MP3, and streams it back to the browser.
  • Infrastructure — deployed on Railway, a cloud hosting platform. The key reason Railway over alternatives: no timeout limit. Extracting audio from a video can take 20–30 seconds, which kills free-tier serverless platforms like Vercel. Railway runs a persistent server with no cutoff.
What makes it a micro app
It does exactly one thing. No login. No database. No subscription. You paste a link, you get a file. The entire project is five files.
The build progression
It went through three iterations in one session:
  1. First pass — browser-only prototype using a third-party API (Cobalt). Fast to build, fragile to depend on.
  2. Second pass — self-hosted Railway version with a real backend. Owned infrastructure, no third-party dependency.
  3. Third pass — added smart URL detection so the tool accepts both direct Vimeo links and any webpage with an embedded video. One video auto-extracts, multiple videos shows a picker.
The stack
  • HTML, CSS, vanilla JavaScript (frontend)
  • Node.js + Express (backend)
  • yt-dlp + ffmpeg (audio extraction)
  • Railway (hosting)
  • GitHub (deployment pipeline)
Total cost to run: $0.
Time spent: 10 minutes
4
0 comments
Dionne Nicole
4
My Self-Hosted Tool: Vimeo Audio Extractor
powered by
Vibe Code On The Cheap
skool.com/vibe-code-on-the-cheap-6934
Build your own apps w/ Claude Code, Codex + Lovable. Solve your exact friction, save tokens, and run them forever for $0. Use SEARCH BAR for help.
Build your own community
Bring people together around your passion and get paid.
Powered by