Software applications that customers want to use typically involve more than one feature. A social network’s primary value to consumers is (ideally) connecting people via technology; they’ll probably need a solid file uploader and CDN. Your favorite calendar app’s primary value is likely its ability to organize events in your life; they’ll probably need a database that’s fast, ACID compliant, and highly available.
As engineers and product people, we love building things. That’s our job! When you have the option to buy something like a file uploader and associated CDN or build your own, you should take a step back and compare the value each option will bring to your customers.
What primary value do you bring your customers, and what are your comparative advantages?
If you’re building the next great social network, what would be a more valuable way to spend your engineering resources:
- 1 month building a custom file uploader that works on desktop and mobile devices, has great test coverage, and is well documented in your component library
- 1 week implementing an already existing open-source file uploader component/library that’s used by hundreds of thousands of other companies who can collectively find and quickly fix bugs
Likely the latter, allowing you 3 extra weeks to build something else your customers highly value (and save you maintenance time down the road via the power of the collective open-source community finding and fixing bugs). If, instead of a social network, your team is building the next great CDN, a custom file uploader that you could then provide to your customers as a free added feature might be decisive. Building your own custom file uploader might be extremely valuable to your users, and it’s likely that your engineering team has extensive domain knowledge.
Example: On-Demand Video
At my language education company, our primary value to customers was 1-on-1 and small group classes with a real teacher (in an online classroom we created ourselves). Eventually, we decided to build on-demand video as a free feature for our customers: teachers would upload short, TikTok-style educational videos that students could watch 24/7. In our customer interviews, students were really excited about this as a way they could improve their language skills outside of lessons with their teacher.
We had some big decisions to make, but one of the most important was whether to build our own video infrastructure or use an off-the-shelf solution.
While we had expertise in live video chat, streaming on-demand video is a different beast. Encoding, global edge hosting, providing video streams at lower or higher qualities based on the end-user’s device and connection speed…if you want to provide low-latency, high-quality streaming video, you’re stepping into a complex technical challenge!
Fortunately, we found that Mux has solved this problem really well. They provide an uploader, player, and all the complex back-end required to ingest video and allow users to play it back anywhere in the world on any device. The calculus was easy: paying Mux $0.00096 per streaming minute plus a minimal fee for storage was by far the best option for our team.
It’s Not Always Cut and Dried
The build vs. buy decision isn’t always as simple as our Mux example. You may discover that nobody has solved your technical challenge efficiently yet, or you may discover that the cost is prohibitive (looking at you, Data Catalogs…someone needs to disrupt that space!).
Regardless of the situation, the important step is ensuring you take the time to compare and contrast the value to your customers of a custom-built solution vs. an off-the-shelf solution.
Top comments (0)