explaingit

kellyvv/openreshot

Analysis updated 2026-05-18

51SwiftAudience · generalComplexity · 3/5LicenseSetup · moderate

TLDR

An iOS app that lets you reconstruct and re-export a photo from a shifted camera angle using on-device AI.

Mindmap

mindmap
  root((repo))
    What it does
      Shift photo viewpoint
      Reconstruct new angle
      On-device processing
    Tech stack
      Swift
      Core ML
      Metal
    Use cases
      Photo recomposition
      3D scene AI demo
    Audience
      iOS users and developers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Reframe a photo to a slightly different camera angle after it was taken.

USE CASE 2

See a practical, on-device use of 3D Gaussian Splatting for photo reconstruction.

USE CASE 3

Build or extend an iOS app that uses Core ML for on-device AI processing.

What is it built with?

SwiftCore MLMetal3D Gaussian Splatting

How does it compare?

kellyvv/openreshotpixdeo/editxrthanhng8/supertonic-tool
Stars514161
LanguageSwiftSwiftSwift
Setup difficultymoderateeasymoderate
Complexity3/52/53/5
Audiencegeneraldeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires iOS 18 on a physical device, building from source needs Xcode 16 and XcodeGen on a Mac.

Apache 2.0: use, modify, and distribute freely, including commercially, with attribution and a copy of the license.

In plain English

OpenReshot is a native iOS app that lets you take a regular photo and view or re-export it from a different angle, as if you had moved the camera before shooting. You select a photo, drag to shift the viewing angle within a fixed frame, and when you find a composition you like, tap to reconstruct and save a final image from that viewpoint. The effect is like having a second chance to reposition the camera after the photo was already taken. The app uses two main technologies to make this work. The first is 3D Gaussian Splatting, an AI technique that infers a three-dimensional representation of a scene from a single image. The second is Core ML, Apple's on-device machine learning framework, which runs the AI model entirely on the iPhone or iPad without sending anything to a server. Rendering uses Metal, Apple's graphics API, which keeps the real-time angle preview smooth. The AI model is not included in the app download to keep the file size small. On first run you download it from within the app's settings, from either ModelScope or Hugging Face as a backup. After downloading, the app compiles the model locally, and all subsequent processing runs on device. Reconstructions are cached so re-opening the same photo loads instantly without rerunning the AI. The app requires iOS 18 and a physical iPhone or iPad. Building from source needs Xcode 16, a Mac, and a tool called XcodeGen. The project was recently submitted to Apple's TestFlight beta program. OpenReshot is open-source under the Apache 2.0 license.

Copy-paste prompts

Prompt 1
Explain how this app reconstructs a new viewing angle from a single photo.
Prompt 2
Walk me through why the AI model is downloaded separately instead of bundled with the app.
Prompt 3
Help me set up Xcode and XcodeGen to build this project from source.

Frequently asked questions

What is openreshot?

An iOS app that lets you reconstruct and re-export a photo from a shifted camera angle using on-device AI.

What language is openreshot written in?

Mainly Swift. The stack also includes Swift, Core ML, Metal.

What license does openreshot use?

Apache 2.0: use, modify, and distribute freely, including commercially, with attribution and a copy of the license.

How hard is openreshot to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is openreshot for?

Mainly general.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.