Personal Instruments
Active development

SnipDig

A local screenshot retrieval tool that recognizes text in selected images, explains deterministic matches, and opens the source at the relevant text region.

Category
Personal Instruments
Platform
iPhone + iPad + Mac
Status
Active development

What if you could find a screenshot by the words visible inside it?

Selected import, app-managed copies, Apple Vision OCR, transparent matching, region highlighting, and live saved queries make retrieval useful without broad photo access, cloud services, or semantic guessing.

User value

Find the screenshot by the words inside it.

Recover reservation codes, receipts, addresses, error messages, and reference notes from selected screenshots without browsing by date or thumbnail alone.

01

Import only what you choose

Select images through PhotosPicker on iPhone and iPad or through file selection and drag-and-drop on Mac without granting a full photo-library scan.

02

Search the visible text

Match exact words, phrases, case variants, normalized punctuation and spacing, and optional conservative typos through deterministic local rules.

03

Return to the source region

Open the screenshot from a ranked result and emphasize the recognized-text block that produced the match.

SnipDig macOS Search screen showing a query for receipt and one fictional result with recognized text, match count, OCR confidence, and match type.View full size
Current deterministic searchCurrent macOS Debug capture using fictional demo records and the mock runtime.

Features

A local path from selected image to exact text region.

The current code connects import, managed image storage, OCR, explainable search, screenshot detail, and live saved queries across Apple devices.

  1. 01

    Selected multiplatform import

    Use PhotosPicker on iPhone and iPad or PNG, JPEG, HEIC, and TIFF file selection and drag-and-drop on Mac.

  2. 02

    Managed local image copies

    Copy accepted bytes into SnipDig storage, generate local thumbnails, filter duplicates through source identifiers and hashes, and leave the original item untouched.

  3. 03

    Apple Vision OCR pipeline

    Queue single or batch recognition, preserve original text, confidence, and normalized bounding boxes, and represent pending, completed, failed, and retry states.

  4. 04

    Deterministic OCR search

    Support exact, literal phrase, case-insensitive, normalized, optional diacritic-insensitive, and option-gated typo matching without semantic expansion.

  5. 05

    Ranked, explained results

    Return original-text snippets and match labels, rank stronger evidence above weaker evidence, and carry the matched OCR block into screenshot detail.

  6. 06

    Views as live queries

    Save, rename, edit, pin, unpin, or delete a query that reruns against current OCR data, with optional deterministic suggestions from local usage signals.

How it works

Select, recognize, search, inspect.

SnipDig makes screenshots retrievable without asking the user to classify them into a new folder system.

  1. 01

    Choose the images

    Select screenshots or other supported images through the platform-specific picker or Mac drag-and-drop surface.

  2. 02

    Create managed copies

    Hash and filter duplicates, copy accepted bytes into local application storage, and generate session thumbnails.

  3. 03

    Recognize the text

    Run Apple Vision through the live service boundary to produce OCR blocks with text, confidence, and source-image coordinates.

  4. 04

    Search remembered words

    Enter a literal query and apply visible normalization or optional typo settings without expanding it into hidden related concepts.

  5. 05

    Inspect the matched region

    Open the ranked result, see the recognized block in the original image, and copy selected, matched, or complete OCR text.

  6. 06

    Save repeated retrieval

    Create a View that reruns the query against the current index without owning or duplicating screenshots.

Product concept

The screenshot is the source. OCR is the index.

Useful screenshot details can become searchable without replacing the image, forcing folder organization, or inferring concepts that are absent from recognized text.

01

Retrieval before organization

People can keep the existing screenshot habit and recover a detail from remembered words without classifying every image in advance.

02

Tolerance without hidden meaning

Normalization and optional typo matching can handle OCR and memory imperfections while keeping exact source text, rank order, and match explanations visible.

03

A View is a query, not a collection

Saved retrieval stays current as the library changes and can be deleted without affecting screenshots, OCR blocks, or manual content ownership.

Architecture

A single-process local OCR and retrieval pipeline.

Shared SwiftUI navigation, platform-neutral domain models, actor-backed services, local files, Apple Vision, deterministic search, and geometry mapping support iPhone, iPad, and Mac without a SnipDig server.

  1. 01Selected image payload
  2. 02Duplicate filter and managed local copy
  3. 03Apple Vision OCR blocks
  4. 04Deterministic matching and ranking
  5. 05Matched block in screenshot detail
  6. 06Optional live saved query

Import remains selected

Platform pickers produce neutral payloads, original files remain outside SnipDig's deletion boundary, and only managed copies and records are removed.

Implemented work stays in process

OCR, matching, ranking, history signals, Views, and suggestions run locally with no network, account, analytics, CloudKit, or third-party package dependency.

Original text remains available

Normalized representations support matching, while source OCR text and mapped bounding boxes remain the basis for snippets, copying, and image-region emphasis.

Demo and live environments stay distinct

A live environment selects the Apple Vision service, but the current application entry point launches the mock environment with fictional records and in-memory repositories.

Technology

Apple-native, local, and explainable.

Application

  • Swift
  • SwiftUI
  • iOS and iPadOS 17+
  • macOS 14+

Import and images

  • PhotosUI
  • macOS file picker
  • Drag and drop
  • ImageIO
  • CryptoKit hashes

OCR and search

  • Apple Vision
  • Original OCR blocks
  • Deterministic normalization
  • Transparent ranking

Current storage

  • Managed local image files
  • Session thumbnail cache
  • In-memory metadata repositories

Current boundary

  • No networking
  • No accounts
  • No analytics
  • No cloud sync
  • No generated helper output

Development

The retrieval system is built. Production storage and runtime wiring are not.

Seven implementation phases cover adaptive interfaces, selected import, managed image files, Vision OCR service code, deterministic retrieval, source-region navigation, and live-query Views. The current executable still launches fictional mock services, and metadata, OCR blocks, settings, Views, history, and usage signals disappear with the process.

Stage
Active development
Platforms
iPhone · iPad · Mac
Automated suite
573 tests · 0 failures
Default runtime
Mock demo environment

Implemented

  • Shared SwiftUI Search, Views, Library, Settings, import, and screenshot-detail interfaces across three Apple platforms
  • Selected PhotosPicker, macOS file-picker, and drag-and-drop import with app-managed files, thumbnails, and duplicate filtering
  • Apple Vision OCR service, serial queue and batch models, confidence controls, OCR blocks, bounding boxes, and retry states
  • Exact, phrase, case-insensitive, normalized, optional diacritic-insensitive, and option-gated typo matching with deterministic ranking
  • Original-text snippets, match labels and explanations, screenshot-detail routing, region geometry, copy actions, and basic zoom
  • Manual live-query Views, deterministic suggestions, local usage-signal controls, helper policy scaffolding, and broad XCTest coverage

Before a dependable personal library

Implement durable local persistence behind the existing repositories, make environment selection explicit, and exercise a complete live import-to-Vision-to-search flow outside test doubles. Reconcile stale typo copy and literal OR demo queries, complete hands-on accessibility review, and capture a real staged image with its matched OCR region before expanding optional helper, Spotlight, or App Intents work.