Inspiration
The world of analog photography is rich and nostalgic, but managing film stock can be a hassle. As a film enthusiast myself I found it frustrating to lose track of rolls, forget expiration dates, or buying more of a certain stock forgetting i had some tucked in the back of the fridge. I wanted a tool that was both simple and reliable, designed specifically for my needs and those of the analog photography community. That’s why I created Cassette Stock—to help photographers keep track of every roll in their stash and shoot with confidence. Cassette Stock is also the flagship offering as I hope to expand and offer more tools for the niche.
What it does
Cassette Stock is an easy-to-use tool for managing film stocks. Users can log every film roll they own, track expiration dates, all while managing multiple formats (35mm, 120, large format, etc.). It’s designed to be a simple but effective.
How I built it
To keep things simple and produce an MVP in a reasonable time Cassette Stock was built using SwiftUI, focusing on a clean and intuitive user experience. The app leverages SwiftData for efficient data management, allowing users to import and export their film inventory easily.
Challenges I ran into
One of the challenges I ran into was balancing simplicity with functionality. I wanted the app to be useful enough for the common film photographer but also have features that justified it's use, while also being built in a short timeline along side other life responsibilities and commitments. A lot of feature ideas had to be shelved.
Accomplishments that I'm proud of
I am proud to have created a tool that solves a real problem. This project started from a personal frustration, and was turned that into a functional product that’s ready for release. I am also very proud of the design—i’ve received great feedback on how easy and intuitive the app is to use. As someone who frequently produces programmer design the UI here is one in which I felt I achieved being basic but having polished elements.
What I learned
This project taught us me a lot about balancing user needs with technical constraints. I learned the importance of focusing on core functionality while avoiding feature bloat, which allowed me to create a product that’s simple but powerful in such a short timespan.
What's next for Cassette Stock
I am excited to continue growing Cassette Stock. My next steps include releasing iOS and iPadOS versions, adding cloud sync so users can manage their inventory across devices, and integrating with third-party services to streamline the film photography workflow even further. I am also looking forward to gathering user feedback post-launch and continuing to improve the app based on the community’s needs.
Built With
- revenuecat
- swift
- swiftdata
- swiftui
Log in or sign up for Devpost to join the conversation.