This product was not featured by Product Hunt yet.
It will not be visible on their landing page and won't be ranked (cannot win product of the day regardless of upvotes).

Product upvotes vs the next 3

Waiting for data. Loading

Product comments vs the next 3

Waiting for data. Loading

Product upvote speed vs the next 3

Waiting for data. Loading

Product upvotes and comments

Waiting for data. Loading

Product vs the next 3

Loading

LiquidPhotos

Photos that flow into each other, for SwiftUI

Cross-fades are the default photo transition, and they waste the moment. LiquidPhotos is an open source SwiftUI package that morphs one photo into the next: every pixel travels to its place in the new photo. Same-scene photos align first, so a closer shot plays like walking up to it. It renders on device in one Metal pass at up to 120 Hz, no generative model, no network. The whole integration is one line: LiquidAlbum($photos). MIT, Swift 6, iOS 17+, on Swift Package Manager.

Top comment

Hey, I'm Jared, a solo dev. I kept seeing liquid photo morphs in video edits and wanted that feeling inside a real app, as a SwiftUI view I could drop in rather than a rendered effect. So I built LiquidPhotos.

Under the hood it aligns each pair of photos, tracks where every part of the picture moved with optical flow, and fits a mesh warp that keeps solid pieces solid instead of swirling. It all runs in one Metal pass on the device, up to 120 Hz on ProMotion, and unrelated photos still flow into each other in place.

Honest limitation: the camera glide only locks on when two photos share a scene. Different scenes still morph, just without the walk-up feel.

It is free, open source, and MIT licensed. I would love feedback on the API: is the one-line album the right default, or would you rather assemble the stage and shelf yourself?

About LiquidPhotos on Product Hunt

“Photos that flow into each other, for SwiftUI”

LiquidPhotos was submitted on Product Hunt and earned 7 upvotes and 1 comments, placing #46 on the daily leaderboard. Cross-fades are the default photo transition, and they waste the moment. LiquidPhotos is an open source SwiftUI package that morphs one photo into the next: every pixel travels to its place in the new photo. Same-scene photos align first, so a closer shot plays like walking up to it. It renders on device in one Metal pass at up to 120 Hz, no generative model, no network. The whole integration is one line: LiquidAlbum($photos). MIT, Swift 6, iOS 17+, on Swift Package Manager.

On the analytics side, LiquidPhotos competes within Design Tools, Open Source, Developer Tools and GitHub — topics that collectively have 897.7k followers on Product Hunt. The dashboard above tracks how LiquidPhotos performed against the three products that launched closest to it on the same day.

Who hunted LiquidPhotos?

LiquidPhotos was hunted by JC. A “hunter” on Product Hunt is the community member who submits a product to the platform — uploading the images, the link, and tagging the makers behind it. Hunters typically write the first comment explaining why a product is worth attention, and their followers are notified the moment they post. Around 79% of featured launches on Product Hunt are self-hunted by their makers, but a well-known hunter still acts as a signal of quality to the rest of the community. See the full all-time top hunters leaderboard to discover who is shaping the Product Hunt ecosystem.

For a complete overview of LiquidPhotos including community comment highlights and product details, visit the product overview.