Files
Tafa/README.md
Philipp Ludewig de3ab5d2a6 Initial commit
App works locally. No intention to bring this live.
2026-04-23 16:35:12 -04:00

2.4 KiB

tafa

A local web app for quickly triaging photos from cloud storage. The idea is simple: when faced with a large set of photos, making a binary decision per image — keep or discard — is much faster than manually sorting through folders. Each photo fills the screen, you press a key, and move on. No clicking, no drag and drop, no context switching. The speed comes from keeping the decision minimal and the interface out of the way.

How it works

  1. Configure one or more rclone source paths, a date range, and a destination folder
  2. tafa lists matching photos from the cloud and downloads a small initial batch
  3. Review photos with keyboard shortcuts — the rest download in the background
  4. Accepted photos are moved to your destination folder; ignored photos are deleted

Requirements

  • uv — Python package manager
  • rclone — configured with your cloud remote

Setup

uv sync

Usage

make dev      # start in foreground with live reload (development)
make start    # start in background
make stop     # stop background server
make restart  # restart background server
make logs     # tail background server log
make kill     # force-kill anything on port 8000
make clean    # remove venv, logs, PID file and local staging

Open http://localhost:8000 after starting.

Keyboard shortcuts

Key Action
Accept — move photo to destination folder
Ignore — delete photo from staging
Remind me — show again ~10 photos later

Configuration

Settings are saved to ~/.tafa/config.json between sessions.

Field Description
Source paths rclone remote paths, one per line (e.g. remote:Photos/2026)
From / To Date range — matched against the date in the filename (YYYY-MM-DD)
Destination Local folder where accepted photos are moved

About

This is a throwaway project built with AI assistance (Claude). It does the job but wasn't written with long-term maintenance in mind. Expect rough edges.

The name tafa has no meaning.

Notes

  • Photos already present in the destination folder are highlighted with a green border and won't be copied again if accepted
  • Staging files are stored in ~/.tafa/staging/ and cleaned up automatically on server shutdown
  • HEIC/HEIF files are skipped as browsers on Linux cannot display them natively