Case Study – From the Idea for the Program, Through Development and Marketing, to Sales
It all started in Kamila’s garden; the photo and video cataloging program was meant to be her primary work tool.

The Birth of the Idea for a Photo and Video Cataloging Program
It all started with my wife’s idea for our backyard garden, where the lawn—which had been carefully tended for many years—could gradually be transformed into a vegetable garden. Seeing how her passion was taking over my wife’s daily life, I began strongly encouraging her to start a YouTube channel where she could share her experiences. It wasn’t easy, but over time, my wife herself admitted that she was enjoying it. You can find the link to the channel here.
Since my wife received a grant from the employment office for garden design, and a “MacBook” laptop was purchased as part of the grant, it unfortunately quickly became clear that the 1 terabyte hard drive it came with wasn’t quite enough.
Problems with the NAS
We also had an external NAS consisting of four drives with a total capacity of 12 TB. I’ve experienced hard drive failures a few times in my life and know how painful it is to lose data, especially videos and photos. The NAS, operating in RAID mode, gave us the assurance that even if one drive “failed,” we could simply replace it, and the whole system would continue to function—albeit a bit slower—until it was rebuilt.
Unfortunately, of course, my Mac—fast and beautiful as it is—had a problem with the NAS: due to an incorrect file system (in its assessment), it was unable to write data. This prompted me to look for other solutions. What I couldn’t find was a program that would allow me to easily access a shared drive over the local network simultaneously from an iPhone, Android device, Mac, and Windows PC. Since everyone in the household uses different devices, getting them all to work together had become a nightmare.
I also realized that I already have over 3 TB of data, videos, and photos on my NAS, including a lot of duplicates. Of course, every time we run out of space on our phones, we do a big backup to the computer, and sometimes some photos get left behind because we have to back them up somewhere else too. So the next backup results in duplicate videos and photos. It’s hard to keep track of it all.
Searching for Alternative Solutions
That’s why I decided to look for solutions that would address all my needs. And as usual, it was hard for me to find them. Each one was missing something. So the idea arose to write new software and combine it with hardware to create a sort of portable storage device, operating quickly on a local network, to which photos and videos taken with our smartphones would automatically sync.
This is a hobby project, though we’re using our company to carry it out. We’ve set aside modest resources for this project, but we’d like to take this opportunity to show you how we build digital products from scratch. This process isn’t much different from the other commercial projects we work on.
So let’s get started!
Step 1: Problem Analysis and Defining Requirements
Recording a video for a YouTube channel in practice
Recording a few-minute video about planting vegetables with an iPhone (in our opinion, the iPhone performs best under amateur conditions) is quite a challenge. You have to record in 4K quality because, after all, YouTube promotes such content better. This means that one minute of video equals 1 GB of data.
That’s why recording a 3-minute video in several takes—and ideally using two devices (to make it more dynamic and interesting)—generates a significant amount of data; it can even be around 10 GB. When filming in the backyard, we often shoot a lot of footage in a row to take advantage of nice weather and good lighting. Then, once it gets darker, we start editing the footage in more comfortable conditions on desktop computers.
The end result—a one-minute short on YouTube
The recorded footage ends up on the hard drive, where it’s edited, processed, and given a description and thumbnail, then published across all social media platforms—with the final result illustrated by our zucchini:
Unfortunately, in the heat of the recording battle—duplicates become the norm, and the tedious process of connecting devices and constantly transferring footage turns into a frustrating nightmare. Since I know it can be done better, why not?
Video Chaos
In the gardening video industry, we deal with seasonality. This means that if we don’t publish a video created today quickly, it will likely only make sense to publish it next season. Unfortunately, many times we haven’t managed to edit the videos quickly enough, so they’ve been shelved and will be released in future years. Therefore, it’s crucial to be able to easily browse, sort, and categorize footage—and delete, delete, delete.
Materials that reference other materials
When creating videos—for example, about planting tomatoes—we’d like to show what kind of harvest we managed to get last season. There’s a ton of footage, and in practice, if we can’t find something quickly, we just give up. Even though deep down we know that our final video could be more interesting for the viewer. Clipcraze is here to help us with that. Of course, we have the “Photos” app on Apple, but as I’ve already mentioned, we hit the 1TB limit a long time ago. Connecting other drives to it is a huge hassle, and all that constant copying, copying, copying, and deleting—it’s a nightmare…
But there’s the cloud, Jakub! Why reinvent the wheel!
Of course there are cloud solutions, but paying for 3 terabytes of cloud storage every month is a bit too expensive, especially when my YouTube channel isn’t turning a profit yet. Uploading terabytes of data to the cloud and downloading it to other devices is a huge time drain. What’s needed here is a solution that works quickly, on the local network. Even with a fast 10 GB Internet connection, a single short session takes forever—after all, the data has to be uploaded to the cloud from smartphones and then downloaded from the cloud to computers. All that constant waiting is wearing us out…
We’re writing down the requirements
For now, it’s just a rough draft, but it’s time to write down the first draft of the requirements; it will help our designer create the app’s interface. Google Docs allows for collaborative editing and tracking changes, which is why it’s perfect for tasks like this.
Step 2: Designing app mockups in Figma
Figma is a program for creating app designs, dedicated to development and design teams. You can see ClipCraze in Figma by following this link.
After consulting with the designer, the first app designs were created in Figma based on a working draft of the requirements. The whole project is starting to take shape, fueling the next steps.

Let’s just check if this will work?
Since we had previously developed parking management software, I already had experience creating Linux images for dedicated mini-computers. A quick search for commercially available solutions allowed us to build the first device prototype.
Step 3: POC (Proof of Concept) – Hardware – Prove It Can Be Done!
We don’t have all the time in the world, so it’s essential to acquire the components needed to build a hardware prototype within a reasonable timeframe—one that will allow us to securely store data (with redundancy across two drives). Additionally, it will be possible to easily connect to the home Wi-Fi network using an Ethernet cable to ensure the most efficient data transfer.

I’ve put together a setup that met my expectations. It includes two 8-terabyte drives, a case, network ports, and the ability to connect an HDMI cable. The Linux operating system ensures stable operation.
The drives don’t get particularly hot, so the fan turns on very rarely, which means the device operates very quietly.
I wanted to be able to connect them directly to my home wireless router.
This stage was a success; the assembled unit displayed the Linux console, so we can move on to the next step.




Step 4: Choosing the Technology—Software for Cataloging Photos and Videos
The choice of technology was somewhat obvious, given the large number of ready-made modules available in our software house’s resources: C# will handle the backend, and Angular will power the front end. At this stage, I’m still considering my options, and the decision hasn’t been made yet: whether the native smartphone app will be written in Angular with Capacitor, or whether we’ll use .NET MAUI (Xamarin). This is because .NET MAUI may handle background processes that put a heavy load on iPhones a bit better.
On Android, I don’t expect any major issues in this regard.
However, we’ll make these decisions later.
Step 5: Starting Development
File Indexer
We’re starting the first phase of development with a console application that scans a specified path on the disk, builds a file index, and calculates a unique hash for each file. This will allow us to easily find duplicate files.
Web API Server
Next, we’ll create a Web API server whose role will be to accept files, search for them, and return filtered results. This will be the heart of our system. We’ll start with simple filtering, and if we manage to attract more users, we’ll enhance it with additional features.
Step 6: Defining the MVP (Minimum Viable Product)
We always try to determine at the outset what should be included in the MVP (i.e., a product with a minimal set of features that delivers value to its users and is ready for use). The exception is projects like this one (a program for cataloging photos and videos), where we’re not entirely sure if we’ll be able to develop the product at a reasonable cost due to potential hardware complications. I wasn’t sure if the hardware needed to build a NAS would be too expensive or if data transfers between devices would be fast enough, so this time the MVP step was pushed a little further down the list.
The Most Important Problem to Solve
Contrary to appearances, determining what the most pressing problem to solve was—so that my wife and I would feel that the app provides us with real value—wasn’t that simple. I once heard the saying that if you’re not embarrassed by the first version of your app you release, you’ve definitely released it too late. It’s therefore essential to cut out all possible features we’re planning for the entire app and focus on the first ones that will allow us to see benefits in our day-to-day work. At the same time, we’ll set up the infrastructure, servers, and software deployment processes (continuous delivery and continuous integration) to quickly expand ClipCraze with new features, ensuring its continuous, uninterrupted operation. Additionally, we cannot afford to invest too heavily in an idea that other YouTubers may not necessarily have.
At this stage, the time investment is approximately 33 hours, and regardless of the project’s success, we’ll use the purchased materials for other purposes, which is why we’re not including them in the project budget (see the screenshot below from Timeroom—our time-tracking app).

Let’s clarify our requirements:
So, we have a drive with 3 terabytes of data; let’s start with a file browser that will allow us to create a file index. It will definitely make searching and categorizing much easier. The proposed interface for the photo and video search tool looks like this:

Main Issues
- File duplication and a bloated video repository. There isn’t enough storage space on a MacBook, which is extremely expensive to upgrade through Apple, and upgrading a laptop’s storage is impossible.
- A massive archive that’s difficult to search
- Disorganization during content creation—no easy way to group videos and photos while filming
- Footage “scattered” across multiple devices (Galaxy smartphone, iPhone, and Huawei P30)—tedious transfer process, making it very labor-intensive.
The most pressing problem—and at the same time the one that seems easiest to solve—is starting a photo shoot.
Problem: We have many videos and photos that we’ll combine into a single piece for publication on YouTube, TikTok, Facebook, and Instagram.
Solution:
When we’re in the garden, we tap “Start Session” on one of our smartphones and give it a name, e.g., “planting cucumbers.” An app launches on each of our devices, designed to connect to a “server” and automatically upload the videos. They are saved in a folder with the project name we specified. Once we’ve finished recording the cucumber planting, we move on to recording the compost bin. One tap on the smartphone, and our photo and video cataloging app creates a new project. The smartphones running in the background immediately send the recorded footage to our server using high-speed Wi-Fi.

Often, garden recordings are divided into many short, themed videos. This division helps us stay organized and focus on video editing.
We also need a place where we can see which projects have already been edited and uploaded to various social media platforms. Because when creating a lot of content, it’s easy to suddenly overlook a set of videos.
Overview of all multimedia projects—software for cataloging photos and videos.
We’ve designed a view to help with this:

From this view, we want to be able to easily see which video projects haven’t yet been published on specific platforms, easily find clips within them that can be used to create new projects, or photos that we can use to generate thumbnails.
Step 7: Define the buyer persona
At the MVP stage, we won’t be conducting extensive analyses to create a buyer persona. A simplified definition will allow us to build it.
To be continued shortly... don’t miss the next posts—sign up for our newsletter
Sign up for our newsletter, where we share our experiences with building public apps every two weeks.