Case study / Fridgie
iOS productv1.1 release work

Fridgie

An iOS app that turns travel photos into fridge magnets and mirrors the fridge on Home Screen widgets.

v1.0TestFlight shipped
0accounts or backend services
3WidgetKit families
v2placement schema migration
Fridgie main fridge with four travel-photo magnets
Arrange magnets
Fridgie travel-photo picker grouped by trip
Choose a memory
Fridgie dark-mode magnet editing controls
Move, resize, rotate

The problem

Phone photo libraries are good at storage and search but weak at keeping a small set of memories visible. Fridgie turns selected travel photos into objects that can be arranged, captioned, and kept on the Home Screen.

My contribution

I designed and built the SwiftUI app, its model layer, the WidgetKit extension, deep links, App Group persistence, release screenshots, privacy documentation, and the v1-to-v2 migration path. The product remains fully on-device: no account, cloud service, analytics SDK, or ad identifier.

Difficult decisions

One source of truth

The app and widgets read the same App Group data. Widget timelines render snapshots of the fridge rather than maintaining a second, drifting model.

Deep links with context

Each widget opens the matching fridge and magnet in the app. The route carries identity, while the app resolves the latest local state.

Migrate without loss

v1.1 separates reusable magnets from placement records. The migration preserves captions, transforms, appearance, and widget continuity before writing schema v2.

Gate the release

The repository labels v1.1 as release work until the upgrade is tested on real hardware over the existing v1.0 TestFlight build.

Evidence and result

v1.0 reached TestFlight with the full create-arrange-widget loop. The current release work adds the Magnet Drawer, reusable magnet records, stronger gallery coverage, and a documented on-device migration checklist.

Release status

v1.1 is not described as shipped. Its final gate is an on-device upgrade test from the TestFlight v1.0 data set.

What comes next

Complete the hardware migration gate, archive build 2, and use TestFlight feedback to measure whether people understand the create, arrange, and widget flow without onboarding text.

Project details

RoleSolo iOS product and engineering
StackSwift, SwiftUI, WidgetKit, CoreLocation, App Groups
PrivacyOn-device; no account, cloud, analytics, or ads
Next case studySource-to-Syllabus