Skip to content
Exposure — Hakimi Sa’ari

Exposure

Plan, generate, compare, and refine AI image edits in one local workspace.

Exposure version explorer showing a before-and-after flower photo, comparison slider, and saved version.
Compare the source and a saved colour adjustment in Exposure’s version explorer. Offline demo using the app’s local finishing tools.Sample photo: danielbuechele / Flickr · CC BY 2.0.

Open screenshot in the desktop Image Viewer

About this project

Exposure brings image-edit planning, generation, version comparison, and local finishing into one workflow. Planning and image generation use separate adapters, so each stage can use a different provider while the original image and earlier versions stay intact.

What I built

  • Built independent planning and image-editing adapters for multiple model providers.
  • Added cancellable background jobs with progress reporting and recovery after a browser refresh.
  • Created a versioned run archive with comparison, restore, fork, and bundle export/import.
  • Connected live finishing controls and saved exports to the same non-destructive Pillow pipeline.

Tools

Python · Flask · JavaScript · Pillow · OpenAI · Gemini · Codex

Source repository is private.

All personal projects · Open on the desktop