npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

fillerbuster

v0.0.1

Published

Remove filler words from videos and podcasts using AI.

Downloads

13

Readme

fillerbuster

Remove filler words from videos and podcasts using AI.

Takes a YouTube URL or local file, transcribes it with whisper.cpp, identifies filler words with Claude, and produces a cleaned version with fillers surgically removed.

How it works

  1. Transcribe — whisper.cpp generates word-level timestamps
  2. Detect fillers — deterministic rules catch obvious fillers ("um", "uh", "you know"), then Claude analyzes context-dependent ones ("like", "so", "actually", "right")
  3. Refine boundaries — waveform energy analysis finds precise speech onset/offset for each filler, snapping cuts to zero crossings
  4. Remove — PCM-level crossfade splicing with comfort noise fills gaps naturally

Detection rate: ~95% on tested content, with zero clipped words.

Prerequisites

macOS with Homebrew installed. Then:

# JavaScript runtime
curl -fsSL https://bun.sh/install | bash

# Speech-to-text engine (local, runs on CPU)
brew install whisper-cpp

# Audio/video processing
brew install ffmpeg

# YouTube downloader (only needed for YouTube URLs)
brew install yt-dlp

# Claude Code — requires a Claude Pro or Max subscription
curl -fsSL https://claude.ai/install.sh | bash

Install

bunx fillerbuster

Build from source

git clone <this-repo> && cd fillerbuster
bun install
bun run build

Usage

# YouTube video
fillerbuster "https://youtube.com/watch?v=..."

# Local file
fillerbuster interview.mp4

# Audio-only output (faster, no video re-encoding)
fillerbuster podcast.mp4 --audio-only

# Preview what would be removed
fillerbuster talk.mp4 --dry-run

# Quality audit — process first 3 minutes, then check for residuals
fillerbuster talk.mp4 --audit 3

Options

-o, --output <path>    Output file path (default: iCloud Drive/fillerbuster/)
-m, --model <size>     Whisper model: tiny.en, base.en, small.en, medium.en,
                       large-v3, large-v3-turbo (default: small.en)
--dry-run              Show what would be removed without re-encoding
--verbose              Show detailed progress
--padding <ms>         Extra padding around cuts in ms (default: 0)
--workers <n>          Parallel Claude workers (default: 5)
--audio-only           Export audio only as M4A (much faster)
--fast                 Stream copy mode (fastest, cuts at keyframes)
--no-silence           Hard concat instead of inserting silence at cuts
--audit [N]            Two-pass quality test on first N minutes (default: 5)
--clean                Ignore cached results and start fresh

What gets removed

Always removed (deterministic, no AI needed): um, uh, erm, ah, hmm, you know, y'know

Removed when used as filler (Claude decides based on context): like, so, actually, basically, literally, right, well, yeah, I mean, sort of, kind of

Stammers — repeated words and false starts are also detected and removed.

Caching

All intermediate files are cached in ~/.cache/fillerbuster/jobs/. Re-running the same input skips completed steps. Use --clean to start fresh.

Output

By default, cleaned files are saved to iCloud Drive (~/Library/Mobile Documents/com~apple~CloudDocs/fillerbuster/). After saving, an interactive prompt suggests a clean filename using Claude — you can accept, give feedback to revise it, type your own name, or skip.

Use -o to write to a specific path instead.