Haitham Assoli

the project

All projects

Mubah

Turn any video into a permissible copy, on your own Mac.

A local-only Mac tool that removes music and blurs women full-body in a video, from a file or a URL. Nothing leaves the machine and working files are purged when the job finishes. Ships with an honest account of what it cannot do.

the facts

Role
Solo
Year
2026
Status
Live
Category
AI

Built with

  • Python
  • uv
  • ffmpeg
  • yt-dlp
  • Apple Silicon / MPS
  • Stem separation
  • Pose & person detection

Where to find it

overview

What it is, and why it exists.

Mubah is the desktop counterpart to Naqi: same intent, different constraints. A Mac has more memory and a real GPU, so it can run heavier models and take a whole file rather than working around a phone's limits.

It runs from a CLI with fast, balanced and thorough presets, accepts local files or anything yt-dlp can fetch, and can output audio only. Peak measured memory use is around 2.1 GB, so 8 GB of RAM is enough.

The README states the limitations before the features: music removal keeps all vocals, so songs come out a-cappella; the detectors are unreliable on animation; and the filtering is automated with a fail-safe bias, so output should be verified before it is relied on.

problems

Challenges

Removing music without removing singing

the problem

Stem separation splits audio into vocals, drums, bass and other. Dropping everything but vocals removes the instruments, but a sung vocal is still a vocal, so songs survive as a-cappella rather than disappearing.

what I did

Rather than pretend otherwise, this is documented as a known limitation at the top of the README with muting sung vocals on the roadmap. Overstating what a stem separator can do would have been the easier and worse option.

An uncertain detection has to fail one way

the problem

Detectors return confidence, not truth. Treating anything below the threshold as clear lets things through; treating everything above it as a person blurs men who are not the target.

what I did

The bias is set explicitly toward censoring: uncertain people get blurred, and an occasionally blurred man is the accepted cost. Choosing the failure direction on purpose is the whole design decision.

after

Results

  • Fully local processing on Apple Silicon; working files purged after each job.
  • CLI with fast / balanced / thorough presets, file or URL input.
  • Limitations documented up front rather than discovered by users.

next

Next project

Ghadd

System-wide on-device image filtering for Android.