explaingit

ivankuria/tafuta

Analysis updated 2026-05-18

1SwiftAudience · generalComplexity · 2/5LicenseSetup · easy

TLDR

A macOS app that searches your video library by plain-language descriptions, jumping to the exact timestamp in the clip rather than listing files.

Mindmap

mindmap
  root((Tafuta))
    What it does
      Search by description
      Find exact moment
      Local playback
    How it works
      Frame sampling
      Vector embeddings
      Nearest neighbor search
    Tech used
      Swift and SwiftUI
      MobileCLIP
      Core ML
    Who it helps
      Video creators
      Filmmakers
      Camera roll users
    Getting started
      Download release
      Build from source
      Add video folder
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Search a large video library by describing a scene, such as 'child blowing out birthday candles', to find the exact timestamp without renaming any files.

USE CASE 2

Index raw footage from a production shoot and quickly locate specific b-roll shots by visual description.

USE CASE 3

Use the global hotkey launcher to search your video collection from anywhere on your Mac without switching apps.

What is it built with?

SwiftSwiftUICore MLMobileCLIPApple Neural Engine

How does it compare?

ivankuria/tafutacollinkite/steamcontrollerkitsyntaxfear/scrub-app
Stars111
LanguageSwiftSwiftSwift
Setup difficultyeasymoderateeasy
Complexity2/53/51/5
Audiencegeneraldevelopergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Requires macOS 14 or later on Apple Silicon. A prebuilt signed download is available, building from source needs Xcode and XcodeGen.

Open source under GPL v3, meaning you can use and modify it freely but must share any changes under the same license.

In plain English

Tafuta is a macOS app written in Swift that lets you search through your personal video collection using plain-language descriptions. Instead of browsing files named things like "IMG_0423.mov" or hunting by date, you type something like "woman in a white blouse in a green meadow" and the app jumps directly to that specific moment in your video. It works entirely on your Mac, with no internet connection required after a one-time model download of about 108MB. The app uses Apple's MobileCLIP technology, which understands the visual content of video frames rather than just file names or metadata. When you add a folder of videos, Tafuta samples roughly one frame per second, converts each frame into a numerical fingerprint, and stores those fingerprints locally. When you search, your text query is converted into the same kind of fingerprint and compared against all stored frames to find the closest visual match. Results show exact timestamps inside your videos, not just a list of files. You click a result and playback starts right at that moment. The app also includes a global keyboard shortcut launcher so you can search from anywhere on your Mac without switching windows. The project is open source under the GPLv3 license. It requires macOS 14 or later on Apple Silicon hardware, which is the chip type Apple uses in newer Mac models. A prebuilt download is available on the releases page, signed and notarized by Apple. Building from source requires Xcode and a small utility called XcodeGen. The roadmap mentions future additions like searching spoken words in audio tracks, searching by image query, and an optional cloud tier for faster indexing of very large collections. It is designed for content creators, filmmakers, and anyone who shoots a lot of video and needs to find specific moments inside a large collection.

Copy-paste prompts

Prompt 1
Using Tafuta on macOS, I want to search my camera roll for 'sunset at the beach'. Walk me through setting up folder indexing and what search query format works best.
Prompt 2
Write a shell script that sets TAFUTA_INDEX_DIR to automatically point Tafuta at my main footage folder on every launch.
Prompt 3
Explain in plain terms how Tafuta converts a text query into a 512-dimension vector and matches it against indexed video frames.
Prompt 4
I want to contribute to Tafuta. Describe the MobileCLIP frame embedding pipeline and how results are ranked by similarity.
Prompt 5
Help me build Tafuta from source on an Apple Silicon Mac using Xcode and XcodeGen, step by step.

Frequently asked questions

What is tafuta?

A macOS app that searches your video library by plain-language descriptions, jumping to the exact timestamp in the clip rather than listing files.

What language is tafuta written in?

Mainly Swift. The stack also includes Swift, SwiftUI, Core ML.

What license does tafuta use?

Open source under GPL v3, meaning you can use and modify it freely but must share any changes under the same license.

How hard is tafuta to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is tafuta for?

Mainly general.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub ivankuria on gitmyhub

Verify against the repo before relying on details.