Rather than writing about what happened in the past year, this time I thought it would be more productive for me to write about my plans for 2020. During the 2019 holiday season break I had a chance to spend time thinking, researching, planning, and prototyping a new project. I'm excited to share with you what it's all about.
For the last few months I've been paying attention to Justin Jackson's message regarding the importance of the market you choose when you decide to build a software product to form a business.
I agree with his assertion that we should start by researching and choosing a market that has people already in motion doing the thing that we want to build a product for. A big enough market that is thirsty and has demand for the thing we're building is key to the viability of the product. In Justin's words (I paraphrase - I think I heard him say this on the Art of Product podcast, but correct me if I'm wrong): selling ice cream at the beach on a hot summer day will be much easier than selling ice cream at the beach on a cold winter day, even if you're not the only one selling ice cream. It only makes a lot of sense.
With this in mind I spent most of the Thanksgiving, Christmas, and New Year's breaks researching and thinking about a viable market that I would enjoy building a product for. I realized that I've been staring at it for a long time and didn't even know it. A few years ago I became an avid podcast listener. I also co-hosted a tech-related podcast with a friend of mine. Although short-lived, it gave me a taste of what podcasting is about from the podcaster's perspective, and I really enjoyed it. At Laracon US 2019 in New York City, I shared with Justin an idea that I had for another project in the podcasting space. After our chat I realized that in that particular case, that idea wasn't really viable, but it kept me thinking about the podcasting space. A few months ago I launched PodGuest.me, a fun little MVP that I built in a day, to list people who are interested in guesting on podcasts. Currently, I'm also in the planning stages of launching my own new podcast: Indie Maker Journey. I finally realized that this is it. This is the market. It's a big enough market that has lots of momentum, I enjoy being a part of it, and I'd love to build a great product for it.
So here it is, although it doesn't really exist yet, my new project is called FusionCast, a browser-based remote recording platform for podcasters. Nothing to download. Nothing to install.
That's hardly a unique idea, you might be thinking. Well, it's not. It doesn't have to be. It just needs to exist in a big enough market, with people already in motion. I think the podcasting market is already big enough, and will continue to grow still.
One of the questions I ask myself to help me decide what product to work on is, will you be learning from it? And the answer to this one is a resounding yes! This will be my most ambitious project yet. I've never created a product that deals with streaming video and/or audio. But that shouldn't be a deterrent. It should be a motivator to learn something new. I like to push myself out of my comfort zone from time to time. That's the only way to grow as a developer. So, to learn I began.
I began learning more about WebRTC, a mature open source technology that allows you to build web applications that can interact with media devices and handle media streams through the browser. I've been reading, coding, prototyping, and overall playing around with WebRTC. This will be the central piece of technology that FusionCast will be built upon.
For those more technically inclined, here's a partial list of the technologies I'll be implementing to build FusionCast:
- Laravel Framework
- MySQL Database
- Linux Servers
- WebRTC API
- Twilio API
- Pusher API
- Vue.js Framework
- Inertia.js Library
- Vanilla JavaScript
- TailwindCSS
- Statamic (marketing site)
Here's the scope for the first version of FusionCast. This is subject to change, but at the moment these are my thoughts:
- Must work on desktop versions of Chrome, Firefox, and Opera browsers
- Allows guest(s) to connect by simply clicking on a link (no account required)
- Nothing to download. Nothing to install
- Connects up to 4 participants
- Video communication/Audio recording
- Automatic audio recording in the cloud
- Optional audio recording locally for redundancy
- Simple chat
- Will explore the option to also record video (in the cloud and locally)
I will be building FusionCast in public, as much as I can. One of my goals is to be posting regularly (about once a week) in my work journal, updates on the status of the project, things I've leaned, challenges, and tiny wins along the way.
I hope you come along for the ride!