Rebuilding My First iOS App: From Datafilm to Frames

Bringing an old SwiftUI side project back to life — with a fresh design, modern tech, and a lot more purpose. A few years back, I built my first solo app: Datafilm. It was a simple (and free) digital notebook for film photographers. You could log aperture, shutter speed, film stock, and other settings frame by frame. Nothing fancy — but it solved a real problem for anyone shooting analog: once a film roll is developed, all that shot info is lost unless you wrote it down. That project taught me a lot. I had to learn Swift from scratch, figure out SwiftUI (in its early days), ship to the App Store, and deal with real-world user feedback. I was a designer by background — not a developer — so building and launching it was already a win. But I parked it for a while. Life moved on, Swift evolved, and so did my thinking about the app. Why I Picked It Back Up Over time, I kept getting one question from users: “Can I get this metadata back into my scans?” That request stuck with me. While some photographers used ExifTool scripts or Lightroom workarounds, most didn’t want to touch CLI tools or batch presets. It was clear there was a gap: photographers wanted to record shot settings in the field, then embed them into their scans later — just like EXIF data from a digital camera. So, in early 2025, I came back to the project — with fresh ideas, better skills, and modern SwiftUI tools. Frames: A Full Rebuild Instead of patching up Datafilm, I rewrote everything from scratch and rebranded it as Frames . It’s now a two-part toolset: Frames for iOS → A sleek, focused notebook for analog photographers to log settings on the go. Frames for macOS → A companion desktop app to embed that data into your scanned images. Along the way, I also migrated the database from Core Data to SwiftData, which made a huge difference in terms of structure and maintainability. And honestly, after working with SwiftUI 1.0 years ago, it felt amazing to take advantage of how far things have come — cleaner code, better animations, native performance. Key Features Frames for iOS lets you log detailed info for each frame: Frame number, date, time Camera, lens, film stock Shutter speed, aperture, exposure compensation, flash Focal length Geolocation Optional reference image for visual context Everything is timestamped and organized. You can group your shots into folders by film roll, camera, trip, or however you like. There’s full-text search, and even an interactive map showing exactly where each photo was taken. And the kicker: that metadata can now be exported and embedded into your final scans. Desktop Integration: Frames for macOS The macOS app is where the magic happens. Just drag in your .frames file from iOS, drop in your scans, and the app automatically matches the metadata with the right images. It writes the EXIF data directly into the JPEGs — fully compatible with Lightroom, Capture One, and Apple Photos. No more spreadsheets. No manual copying. Just clean, organized data in your archive. The macOS version is a paid app — to help fund continued development — while the iOS app remains free to download. What’s Next Frames is now available in 7 languages, and built 100% natively with Apple technologies — no accounts, no trackers, no cloud dependency. I’m already working on future additions: maybe an Apple Watch companion, maybe a home screen widget for faster access, and definitely more automation for backup and sync. Try It Out If you shoot film and want to keep track of your camera settings roll-by-roll — and actually do something with that data later — Frames might be what you’ve been looking for: Frames for iOS Frames for macOS Frames: Film Notes & Metadata for Photographers Thanks for reading — and if you’re building your own indie tools or care about photography workflows, I’d love to hear from you.

Apr 19, 2025 - 04:19
 0
Rebuilding My First iOS App: From Datafilm to Frames

Bringing an old SwiftUI side project back to life — with a fresh design, modern tech, and a lot more purpose.

A few years back, I built my first solo app: Datafilm. It was a simple (and free) digital notebook for film photographers. You could log aperture, shutter speed, film stock, and other settings frame by frame. Nothing fancy — but it solved a real problem for anyone shooting analog: once a film roll is developed, all that shot info is lost unless you wrote it down.

That project taught me a lot. I had to learn Swift from scratch, figure out SwiftUI (in its early days), ship to the App Store, and deal with real-world user feedback. I was a designer by background — not a developer — so building and launching it was already a win.

But I parked it for a while. Life moved on, Swift evolved, and so did my thinking about the app.

Why I Picked It Back Up

Over time, I kept getting one question from users:

“Can I get this metadata back into my scans?”

That request stuck with me. While some photographers used ExifTool scripts or Lightroom workarounds, most didn’t want to touch CLI tools or batch presets. It was clear there was a gap: photographers wanted to record shot settings in the field, then embed them into their scans later — just like EXIF data from a digital camera.

So, in early 2025, I came back to the project — with fresh ideas, better skills, and modern SwiftUI tools.

Frames iOS - Frames listing

Frames: A Full Rebuild

Instead of patching up Datafilm, I rewrote everything from scratch and rebranded it as Frames . It’s now a two-part toolset:

  • Frames for iOS → A sleek, focused notebook for analog photographers to log settings on the go.
  • Frames for macOS → A companion desktop app to embed that data into your scanned images.

Along the way, I also migrated the database from Core Data to SwiftData, which made a huge difference in terms of structure and maintainability. And honestly, after working with SwiftUI 1.0 years ago, it felt amazing to take advantage of how far things have come — cleaner code, better animations, native performance.

Frames iOS - Logo

Key Features

Frames for iOS lets you log detailed info for each frame:

  • Frame number, date, time
  • Camera, lens, film stock
  • Shutter speed, aperture, exposure compensation, flash
  • Focal length
  • Geolocation
  • Optional reference image for visual context

Everything is timestamped and organized. You can group your shots into folders by film roll, camera, trip, or however you like. There’s full-text search, and even an interactive map showing exactly where each photo was taken.

And the kicker: that metadata can now be exported and embedded into your final scans.

Frames iOS - Controls

Desktop Integration: Frames for macOS

The macOS app is where the magic happens.

Just drag in your .frames file from iOS, drop in your scans, and the app automatically matches the metadata with the right images. It writes the EXIF data directly into the JPEGs — fully compatible with Lightroom, Capture One, and Apple Photos.

No more spreadsheets. No manual copying. Just clean, organized data in your archive.

The macOS version is a paid app — to help fund continued development — while the iOS app remains free to download.

Frames macOS

What’s Next

Frames is now available in 7 languages, and built 100% natively with Apple technologies — no accounts, no trackers, no cloud dependency.

I’m already working on future additions: maybe an Apple Watch companion, maybe a home screen widget for faster access, and definitely more automation for backup and sync.

Try It Out

If you shoot film and want to keep track of your camera settings roll-by-roll — and actually do something with that data later — Frames might be what you’ve been looking for:

Thanks for reading — and if you’re building your own indie tools or care about photography workflows, I’d love to hear from you.