Personal Instruments
Active development
Expired artwork with document, code, and photo cards inside a blue circular review motif.

Expired

A local-first iPhone app that gives recent utility screenshots a review date and brings them back when they may no longer be useful.

Category
Personal Instruments
Platform
iPhone · iOS 17+
Status
Active development

What if temporary photos could expire without becoming an automatic deletion risk?

Bounded on-device suggestions, local expiration metadata, quiet reminders, and review-first PhotoKit deletion keep every decision with the owner.

User value

Give temporary screenshots a review date.

Expired helps you remember what to revisit without turning cleanup into automatic deletion.

01

Find likely temporary items

Review suggestions from a bounded set of recent screenshots analyzed locally on the iPhone.

02

Remember at the right time

Track selected items with a review policy, see their lifecycle, and enable one quiet daily reminder.

03

Delete only after review

Choose the expired items, confirm inside Expired, and continue through the Photos deletion boundary.

Expired Inbox showing tracked items separated into expiring-soon and active sections with their review dates.View full size
LifecycleCurrent simulator fixture showing local expiration states.

Features

A calm cleanup lifecycle.

The current app connects on-device suggestions with explicit decisions, reminders, review, and deletion.

  1. 01

    Recent screenshot scanning

    Load a bounded recent-first candidate set through PhotoKit and keep the production path limited to screenshots.

  2. 02

    Local signal analysis

    Use Vision text and barcode geometry plus deterministic rules without persisting image bytes or recognized text.

  3. 03

    Four visible decisions

    Track an item, keep it permanently, stop future suggestions, or hide it for the current session.

  4. 04

    Expiration lifecycle

    Group tracked items as active, expiring soon, or expired from local dates and review metadata.

  5. 05

    Optional quiet reminders

    Schedule one local daily summary when expired items are ready, with reminder sound off by default.

  6. 06

    Review-first deletion

    Offer deletion only for reviewed, expired, still-linked Photos items and represent cancellation, failure, and partial results.

How it works

Suggest, decide, remember, review.

Detection begins the process. It never owns the final action.

  1. 01

    Grant Photos access

    Choose full or limited library access through the iOS permission flow.

  2. 02

    Scan recent screenshots

    Expired examines a bounded recent set and skips items that are unavailable locally or not confidently classified.

  3. 03

    Make the decision

    Track, keep, ignore, or temporarily hide each visible suggestion.

  4. 04

    Follow the lifecycle

    Tracked items move from active to expiring soon and then to expired using local metadata.

  5. 05

    Return for review

    Open the Inbox directly or use an optional local reminder when items are ready.

  6. 06

    Confirm any deletion

    Review the eligible set before Expired asks Photos to remove anything from the library.

Product concept

A review date, not a deletion command.

Expired treats temporary screenshots as items with a lifecycle instead of permanent clutter or immediate waste.

01

A suggestion is not an action

Detection can propose a category and review policy, but only the user decides whether an item becomes temporary.

02

Usefulness changes over time

A screenshot can be essential today and disposable next week. Expiration metadata remembers when to reconsider it.

03

Photos remains the source of truth

Expired stores asset identifiers and review state while the original media stays in the Photos library.

Architecture

Local analysis around a Photos boundary.

Apple frameworks provide permission, image signals, local state, reminders, commerce, and deletion without an application account or backend.

  1. 01PhotoKit permission boundary
  2. 02Bounded recent screenshot set
  3. 03Local Vision signal extraction
  4. 04Deterministic suggestion rules
  5. 05SwiftData lifecycle metadata
  6. 06Reviewed PhotoKit deletion request

Pixels remain transient

Scanner image requests disable network access. Image bytes and recognized OCR text are not persisted as review metadata.

Metadata stays local

SwiftData stores the Photos identifier, category, policy, status, disposition, expiration date, and timestamps.

Deletion has two controls

Expired presents its own destructive confirmation before PhotoKit performs the change and iOS may ask again.

Smart Suggestions stay separate

The guarded Foundation Models adapter accepts only coarse signals, but normal app wiring currently keeps it in fallback mode.

Technology

Apple-native and local-first.

Application

  • Swift
  • SwiftUI
  • iPhone
  • iOS 17+

Photos and scanning

  • PhotoKit
  • Vision
  • Deterministic suggestion rules
  • Network-disabled image requests

Local state

  • SwiftData
  • UserDefaults
  • Asset identifiers and review metadata

System services

  • UserNotifications
  • StoreKit 2
  • App Intents

Experimental intelligence

  • Foundation Models on iOS 26
  • Coarse signals only
  • Conservative fallback

Development

The core cleanup loop is implemented.

Scanning, decisions, lifecycle tracking, reminders, review-first deletion, purchase service paths, and privacy-safe test media exist. The latest test run has one model-dependent failure, while real-device, TestFlight, StoreKit, accessibility, and distribution work remain incomplete.

Stage
Active development
Automated suite
400 passed · 1 failed · 1 skipped
Live scanner
Screenshot-first
Distribution
Not yet public

Implemented

  • SwiftUI onboarding, Home, Inbox, Scanner, Settings, and Photos permission states
  • Bounded recent screenshot loading, local Vision signals, deterministic categories, confidence, and review policies
  • Track, keep, ignore, session-only hide, local expiration metadata, and lifecycle grouping
  • Optional local daily reminders plus navigation-only App Intents for review, scanner, and settings
  • Review-first PhotoKit deletion, app and system confirmation boundaries, failure handling, and metadata reconciliation
  • StoreKit purchase and restore paths plus guarded Smart Suggestions architecture that remains in fallback through normal app wiring

Before release

Restore a deterministic green test suite, align the public scope with the screenshot-first scanner, complete supported-device and real-library validation, verify notifications, deletion, StoreKit, App Intents, and accessibility, then finish signing and App Store requirements.