English static mirror for SEO/GEO · AI-assisted translation · Read Chinese original

yoinks: A Designer Built a Clean Terminal UI for Video Downloads

Forum topic · ✨步子哥 · 2026-10-01

Summary

yoinks is an open-source terminal video downloader by designer Pablo Stanley that wraps yt-dlp in a clean, full-screen TUI built with TypeScript and Ink (React for the terminal). It supports downloads from YouTube, X/Twitter, Instagram, Threads, TikTok, and 1,800+ sites via yt-dlp, with resolution selection, audio extraction, playlist and batch downloads, mouse support, and cross-platform availability on Windows, macOS, and Linux. Installation is a single command: npm install -g yoinks. The article argues that the project's significance lies less in features than in its design philosophy: the terminal acts as an ad-free, auditable, deterministic interface, contrasting with ad-laden web downloaders. It also frames TUIs as trusted, predictable interfaces well suited for AI agents in 2026.

yoinks: A Designer Built a Clean Terminal UI for Video Downloads

The Problem: Downloading a Video in 2026

Want to download a YouTube video? You open a browser, search "YouTube downloader," and find three phishing sites and two ad-bombs among the top five results. You pick one that looks legit, paste the link, click download—and get four "download" buttons, three fake. You misclick, land on a casino ad, retry, and finally get a low-resolution file with a garbled name and a bundled browser extension.

That's the reality of video downloading today. yt-dlp is technically perfect but has a command-line interface unfriendly to average users, while online downloaders are stuffed with ads and malware.

yoinks aims to do one simple thing: wrap yt-dlp's power in a clean terminal UI—no ads, no phishing buttons, no browser extensions.

What It Is

yoinks is a terminal video downloader written in TypeScript, built on Ink (React for the terminal). It supports downloads from YouTube, X/Twitter, Instagram, Threads, TikTok, and 1,800+ sites—thanks to its underlying yt-dlp dependency.

Core features:

  • Full-screen TUI: centered layout with automatic theme detection (follows terminal light/dark mode)
  • Resolution selection: lists all available resolutions after you paste a URL
  • Audio extraction: download audio with one click
  • Batch downloads: playlists and multiple URLs supported
  • Mouse support: clickable buttons inside the terminal
  • Cross-platform: Windows, macOS, Linux
  • Install: npm install -g yoinks. Run: yoinks. No config files, no API keys, no accounts.

    From GUI to TUI: A Full Circle

    yoinks' interesting aspect isn't that it downloads videos—yt-dlp has done that for a decade. It's the design philosophy.

    Human-computer interaction has gone through three waves:

    1. CLI (1970s–1980s): efficient but steep learning curve 2. GUI (1990s–2010s): easy to use, but bloated software with ample space for ad injection 3. TUI (2020s–): CLI efficiency + GUI usability, naturally ad-free

    yoinks represents the third wave. Using Ink, it draws a proper UI in the terminal—buttons, lists, themes, mouse interaction. But running in a terminal means:

  • No web page to inject ads into
  • No popups to jump out
  • No fake "download" buttons
  • No browser extensions to bundle
  • The terminal is an ad desert. yoinks moving video downloading there isn't a technical breakthrough—it's an experience purification.

    Why a Designer Built This

    The author is Pablo Stanley. If you've done design work, you've likely used his creations—Humaaans (open-source illustration library), Open Doodles, and more. He's a designer, not an engineer.

    A designer building a terminal tool seems counterintuitive, but it makes sense:

  • GUI downloaders: designers can make beautiful interfaces but can't stop developers from stuffing them with ads
  • Terminal downloaders: the interface is so simple there's no room for ads—the "clean" ideal is structurally guaranteed by the technology
  • Pablo Stanley likely chose the terminal not out of love for the command line, but because the terminal is the only technical medium that can guarantee the "no ads" promise. In a browser, even the cleanest UI can have ads injected. In a terminal, code is code—there's no rendering engine to inject anything.

    This is a case of using a technical choice to enforce a design principle.

    The Numbers

    On GitHub:

  • 356 stars today (trending on 10/1)
  • TypeScript, built on Ink
  • npm global install, zero configuration
  • Depends on yt-dlp, 1,800+ sites supported
  • Cross-platform: Windows/macOS/Linux
  • Comparison with alternatives:

    | Tool | Type | Interface | Ads | Install | |:-----|:-----|:-----|:-----|:-----| | yt-dlp | CLI | none | none | pip install | | yoinks | TUI | full-screen | none | npm install -g | | Online downloaders | Web | web page | everywhere | none needed |

    yoinks positions itself as "easier than yt-dlp, cleaner than online downloaders."

    Core Insight: TUI as a Trust Signal

    The most interesting design decision isn't a feature—it's choosing the terminal as the medium.

    In 2026, terminal tools are experiencing a renaissance. Not because of "geek culture," but because the terminal carries a natural trust signal:

  • Auditable code: npm package source can be read; terminal tool behavior is traceable
  • No rendering engine: no JavaScript to inject ads, no DOM to fake buttons
  • Composable pipes: yoinks' output can be piped to other tools
  • Consistent environment: the terminal behaves identically across platforms, unlike browsers with their extensions
  • This trust signal matters in 2026. As AI agents increasingly operate software directly, "is this software trustworthy?" becomes a critical question. An AI agent calling yoinks to download a video is far more reliable than calling a web downloader—because yoinks behaves deterministically while a web page's behavior can change dynamically via JavaScript.

    Cross-Domain Analogy: From Feature-First to Trust-First

    yoinks' philosophy resonates with several 2026 trends:

  • AI agents need deterministic interfaces: agents can't handle "which of the four download buttons is real"
  • Terminal tool renaissance: Ink, Bubble Tea, and Textual make TUIs increasingly easy to build
  • Open source as a trust mechanism: auditable npm source beats closed-source web pages
  • Together these point to a trend: software competitiveness is shifting from "feature-rich" to "predictable behavior".

    yoinks has fewer features than any online downloader—it only downloads, no transcoding, editing, or cloud storage. But its behavior is 100% predictable: you input a URL, it lists resolutions, you pick one, it downloads. No surprises, no ads, no bundling.

    In the AI agent era, "predictable behavior" beats "feature richness," because agents can't handle surprises—they need determinism.

    Limitations

  • yt-dlp dependency: yt-dlp updates frequently (YouTube keeps changing its interfaces), so yoinks must keep dependencies in sync
  • Terminal barrier: despite the friendly TUI, users still need to open a terminal and install npm—a hurdle for non-technical users
  • Limited scope: no transcoding, editing, or cloud storage; you'll need other tools for those
  • Not an AI/ML project: yoinks' value lies in UX and trust, not AI

Conclusion

yoinks isn't revolutionary technology—it's a TUI wrapper for yt-dlp. But it represents a returning value: good software doesn't need many features, but its behavior must be predictable.

In an era of ad-saturated screens, popup bombardment, and indistinguishable download buttons, a designer chose to move video downloading into the terminal—not because the terminal is cool, but because it's clean. The choice itself is a statement.

As AI agents begin operating software directly, that stance matters more and more. Agents don't need beautiful UIs—they need deterministic interfaces. yoinks offers a demonstration: the best agent interface might just be a clean TUI.

---

Project: github.com/pablostanley/yoinks Install: npm install -g yoinks

Tags

#yoinks#yt-dlp#terminal-ui#tui#video-downloader#open-source#typescript#ux-design

This page is an English static mirror generated for search and AI citation. It may be a full translation or structured summary of the Chinese original. Canonical interactive discussion lives on the Chinese page: https://zhichai.net/topic/178635462