Design Process
Role & Experience
I started taking pictures in 2009. My love for nature is what drew me to photography. During the process, I learned a great deal. It really got me involved in understanding how the camera works. I'd like you to please understand the aperture, shutter speed, and how they work together. When taking pictures of animals, it's essential to be patient and quick in making adjustments to capture the perfect shot. There is absolutely no control over the subject's behavior or moments. You have to be ready to take the shot when the right opportunity presents itself because you most likely will not get it again. You can't direct the animals on how you want them to stand or look. There is no control. They are going to do what they want, and you must be prepared.










Photo Management App
During this process, I learned the importance of delivering customers their images using a method that ensures their pictures reach them as quickly as possible. I have experience with wedding photography, and customers may not receive their photographs for a month due to the large volume of photos. The next step is mailing the images to the customer, which can take weeks depending on the location. Lastly, there is the additional cost of leveraging it to benefit both the photographer and the customer.
Research
By the second year of photography, I began taking pictures for weddings, graduations, families, and other events. Once the event is over and the images have been captured, I take them home to be edited and then sent to the client. I needed a way for clients to access their photos for download and printing. This is where my research begins: various photo management apps that serve as repositories and enable clients to access their images at any time, from anywhere. I analyzed the required storage and its associated costs. I researched free sites, such as Flickr, and paid sites, but they were not providing what I wanted. Although Flickr was free, I wasn't able to restrict users from viewing other photos that didn't belong to them. The paid subscription sites offered the features I liked and wanted, but they were too expensive for me. Depending on the plan, the cost ranges from $50.00 to $100.00 per month, with additional fees for enhanced features. As I was researching, I said to myself, "Why are you looking for an app when you can create your own. You know how to design and code. Create what you want." That is what I did.
Design Decision and Rationale
To create the app, I identified three main features to provide to customers: a communication process, an affordable subscription platform, and an organized image gallery. From a development perspective, I aim to incorporate automation features to facilitate app maintenance, updates, and scalability. The design had to be simple with direct access to customer gallery(s) for viewing. Within the gallery, customers can view and download a single image or their album to share online or print to create a wall gallery in their house to share with family. To generate income, online payment will be available to pay for the session. A monthly subscription will allow customers to access their images at any time. They can also schedule sessions and pay via Stripe.
Scheduling A Session
The app is designed to determine whether the user has an existing album. If the user does not have an album available within the app, they will be prompted to contact me to schedule a session. Currently, the user has to call me or send a message, but I am looking to create a customized, user-friendly calendar system to handle scheduling and payment processes, organize, and maintain them.
Communicating The Album Process
Once a session is complete, the goal is to get your images to you as quickly as possible. One of the most effective ways to access photos is online. The most time-consuming process is editing. You may not hear from the photographer because of the amount of work and time it may take. To solve this problem, app notifications were sent to the user while I was editing their photos. When a customer has paid for their session, their album will be created, and the email address provided will be used as the primary means of identification to access it. If no photos are available in the album, the customer will be notified with a page notification that the images are being edited.


Subscription and Gallery View
Once the picture editing process is complete, the customer will be notified and prompted to begin their subscription. Although the album was created, the algorithm checks the folder for any available images. As long as the album has no photos or is empty, the app knows not to consent the customer to purchase the subscription. Once the pictures are received, the subscription will commence only after customer approval. Otherwise, the gallery will be disabled. If the subscription has been approved, the customer will receive a 3-day full-access pass, and then the subscription will begin billing the customer at $15.00 per month. The subscription can be canceled at any time.
Stripe API Integration
Photography sessions and subscriptions are processed through Stripe, a payment gateway that accepts online payments. Their API allows me to integrate a payment processor into my own website. I was able to build the forms as I wanted, and Stripe will handle the payment processing. Stripe is PCI compliant, doing their part in processing payments securely. Once photo editing is complete, the customer will be given the option to start their subscription to view the album. Once the customer accepts starting their subscription, the gallery will be immediately available for download. The subscription can be canceled at any time.




Challenges & Solutions
One of the main challenges I faced in developing the photo album was becoming familiar with Stripe Payment Integration. I was using Braintree Payments. It was initially free for production use, but after Elon Musk acquired them, everything changed, and a minimum volume requirement was introduced. Everything was set up through the sandbox and was ready. When I contacted PayPal about it, the associate suggested that I use PayPal. That is not what I wanted; I wanted to integrate payments directly on my website without requiring the customer to leave. While working with Stripe, I had to develop a new backend payment processor to meet Stripe's documentation requirements.
The challenging process of developing the photo album involves becoming familiar with integrating Stripe as the payment processor. I intended to use Braintree Payments because I was familiar with the API, but they changed their process for accessing development keys. All the test was completed using their sandbox. My volume was too low to get the development credentials. I can understand that, but it wasn't like that before. I was bringing in some money and growing. Due to the volume, I was no longer able to use it.
Results & Impacts
I completed the development of the photo gallery. The most significant impact on the app is integrating Stripe to accept subscription payments. The key result and effect of creating this app is that it saves me money. I do not have to rely on a third-party application to manage the photos. I can license the app to other photographers to increase my revenue. The app serves as a photo management tool not just for me, but also for subscribers where a record of their albums are kept and maintained for them to access at anytime.Final Reflections
This app was a lot of fun to develop. It really helped me to realize that I didn't have to rely on a third-party app. I had the skills to build my own, and I built it how I saw fit. Using a third-party app would have been great, but I would have never had total control over it. I do plan to add more to it. I want to explore how I can integrate AI into the app for improved management. At one point, I implemented a feature that allowed customers to order prints directly from the app; however, the API eventually ended, and the site no longer had that feature. Currently, I am looking for other apps that will allow me to add that feature back.
