Skip to content
← All projects
SwipeSweep (The Decision Machine) / Prototype

Less photo clutter. More keepers.

A photo-curation project using quick comparisons and local processing to help you decide what is worth keeping.

Explore how it works ↓
Try a different path. See where it leads.

Explore the project

Open the design and demonstrations, then follow the references for more detail.

The design, in more detail

Definition

An offline-first React Native / Expo mobile app that eliminates camera-roll clutter through on-device perceptual hashing (pHash) and gamified 20-photo Battle Royale elimination decks.

The problem

Mobile users hoard tens of thousands of duplicate and burst photos, filling cloud storage and creating decision fatigue. Existing cleanup apps require uploading private photos to remote cloud servers or demand tedious individual swipes.

The approach

SwipeSweep runs 100% locally on-device. It clusters visually similar images using fast perceptual hashing (pHash) and stages them into finite 20-photo decks. Users play a rapid "Battle Royale" head-to-head shootout to select the best shot, automatically staging the rest for trash review with zero cloud exposure.

How it works

  1. On-Device Perceptual Hashing: Calculates 64-bit pHash signatures for photos locally to detect duplicate and burst shots with zero cloud uploads.
  2. Finite 20-Photo Decks: Eliminates infinite-scrolling exhaustion by chunking photos into bite-sized, gamified cleaning sessions.
  3. Battle Royale Shootout: Presents similar burst shots head-to-head; the user taps the single best shot while the rest are queued for deletion.
  4. Staged Trash Review: Queues rejected photos in a non-destructive staging tray before requesting system deletion confirmation.
  5. Zero-Tracking Privacy: Requires zero user accounts, collects zero telemetry, and performs zero remote network requests.

Project notes

Platform
React Native · Expo
Image Clustering
Local pHash (Hamming)
Network Requests
0 (100% Offline)

These are the project’s documented design notes. Consult the linked implementation and its version before relying on a specific capability.

Development history & next steps
2024

Algorithmic Prototype

Implemented Hamming distance clustering on local perceptual hashes in JavaScript.

2025

Battle Royale UI Design

Engineered head-to-head decision game loop and finite deck progression UX.

2026

Mobile App Build

Packaged Expo application with instant album scanning and non-destructive trash staging.

What comes next

Adding support for local video clip compression and automated duplicate screenshot detection.

Source material & related links

Follow the documentation, repositories, and related sites behind this project.

SwipeSweep App Repository

React Native, Expo, and TypeScript codebase with custom on-device image hash routines.

View App Repository

Topics: Mobile · React Native · Expo · TypeScript · Privacy · Computer Vision · pHash