Active development · local-first Android

Search a personal media library by what is inside the image.

Echo analyzes screenshots and photos on-device so a remembered phrase, object, color, or scene can become a useful search query without uploading the personal library to a cloud search service.

Direct APK for review · not presented as a Play Store release.

The problem

Finding an image is often a memory problem, not a filename problem.

People remember text inside a screenshot, a visible object, a color, or roughly what a scene looked like. Folder names and filenames rarely capture that. Echo turns the media library into a local index that can be searched through those remembered details.

The harder engineering problem is trust: analysis may take time, Android can interrupt background work, a library can change while it is being indexed, and partial results must never look complete when they are not.

Product evidence

Processing, search, and recovery belong to the same product.

The UI has to explain what Echo knows, what it is still processing, and what the user can do when work is interrupted.

Engineering

The useful search bar sits on top of a much larger state problem.

The case study is strongest where Android, local analysis, persistence, and user feedback have to agree.

Local analysis pipeline

MediaStore access feeds OCR and visual-analysis lanes, while Room keeps an index and progress state that can survive leaving the screen or reopening the app.

  • Personal media stays on-device for analysis.
  • Search depends on indexed content rather than a cloud upload.
  • Device capability affects throughput, heat, and model choices.

Visible incomplete state

Echo makes scanning progress and remaining work part of the product because a search result is misleading if the user cannot tell whether the library has finished processing.

  • Progress is explicit.
  • Recovery actions are exposed when needed.
  • Results avoid pretending an incomplete index is complete.

Performance and recovery

Large libraries turn background execution, memory pressure, battery restrictions, ETA quality, and crash recovery into user-facing engineering concerns.

  • Balanced, Turbo, and Apex modes explore speed/quality tradeoffs.
  • Long-running work is designed to recover instead of silently restarting.
  • Current tuning focuses on broad-device behavior and scan stability.
Current state

Working product, still being tuned for larger libraries.

Echo already demonstrates local media access, OCR/visual indexing, Room-backed progress, search, scan modes, and recovery/status feedback.

Large-library performance, ETA quality, model/memory behavior, and broad-device testing remain active work. The site does not present Echo as a public store release.

Continue

See the rest of the engineering portfolio.