Agents In Use
What’s new todayLast update
160 use cases added today

How to use Claude to port a photo app to Flutter

The author wrote MomentFrame in Swift, then used Claude Code to port it to Flutter. Claude handled most rendering, geocoding, purchase-flow work, and simulator screenshot checks.

OUR ADAPTATION

Suggested prompt

Suggested prompt written by Agents In Use, not the source author. Replace bracketed inputs and review tool permissions first.

Port [existing Swift photo app] to Flutter while preserving [on-device requirements]. Implement photo rendering, metadata-based captions, geocoding, crop editing, export, and [purchase flow]. Use the simulator to inspect screenshots and report issues requiring my input.

Evidence at a glance

Sourced account
Source poster / publisher
vlad_ungureanu
Original account
Read the source ↗
Published
Source link checked
Reported result
The author reports a mostly Claude-produced Flutter port of MomentFrame and shares an App Store listing for the photo-captioning and export application.
Human involvement
The author supplied the original Swift implementation; the post does not describe separate human code review or acceptance testing.

A linked account supports attribution. It does not mean we independently reproduced its result.

Report an issue with this caseOpen correction email

Opens your email app with the case link included. Nothing is sent automatically.

How the agent did it

  1. The author wrote the initial MomentFrame application in Swift.
  2. The author asked Claude Code to port that application to Flutter.
  3. Claude implemented most rendering, geocoding, and in-app purchase work.

The MomentFrame author first wrote a Swift version of an iOS app for turning personal photos into Polaroid-style prints. The idea began as a quick proof of concept while his wife was in labour, with the aim of making a personal gift documenting their life together. Captions automatically draw location and date or time from photo metadata.

The author then used Claude Code to port the application to Flutter as an experiment in how independently coding agents could work. They report that Claude did most of the port, including rendering, geocoding, and the in-app purchase flow. Claude also drove the simulator to check its own screenshots. The author says their input became less necessary, but does not describe a separate human review process.

The app is presented as an on-device experience without accounts, tracking, or uploads. Users can edit captions, adjust cropping, and export or share their results. The post includes an App Store link and describes five free photos followed by a one-time $1.99 unlock for unlimited exports.

Who it's for: Developers exploring an agent-assisted framework migration using an existing mobile application as the starting point.

Prompt
Suggested prompt (written by Agents In Use, not the author's)

Source: Hacker News · vlad_ungureanu

Frequently asked questions

Which parts of the Flutter port did Claude handle?

The author says Claude did most of the work, including rendering, geocoding, the in-app purchase flow, and driving the simulator to check screenshots.

What can users change before exporting a photo?

The post says users can edit the automatically filled captions and adjust the crop before exporting or sharing.

More details

Remaining steps

  1. Claude drove the simulator to check screenshots of the application.

About this account

Claude Code performed most of the Flutter port and operated the simulator for screenshot checks; the author reports needing to provide less input.

Platform: Hacker News. Attribution: https://news.ycombinator.com/item?id=49693684. Prompt: Suggested (written by Agents In Use, not the author's). Sourced by the Agents In Use pipeline.

Credit: vlad_ungureanu on Hacker News

Source published

Added to Agents In Use

Source checked

Tools and topics

Claude Code · Swift · Flutter · Simulator

Flutter · Swift · Mobile apps

Editorial completeness: 100/100. Measures documented fields, not agent performance or verified outcomes.