Developed an app in 28 days while live streaming it all on Twitch
Showing people that you can build anything with passion, motivation, and a little bit of luck!
Welcome To SimpleAlerts
As the title states, I streamed the entirety of my work for this project on Twitch. I have always been enthralled with the concept of live streaming and I really thought it could be an incredible place for programmers to showcase their work. This led me to start a stream that would encourage people to get involved with programming and learning by doing. I have almost three years experience working with web development, mobile development, and I am mainly self taught. I still have much to learn and I believe the best way to do that is through projects. This is where the format for my stream comes- start a project from start to launch in 28 days. Ultimately, this is how SimpleAlerts was born!
About SimpleAlerts
SimpleAlerts is an open source project that is here to solve the problem of unreadable, disorganized stream events through Streamlabs. Take a look at the gif below to better understand what I mean. For much more detail on this feel free to head over to this repo or this Reddit post to take a look at the code and possibly contribute!
Learning Points
As someone who started off their programming career truly through internships and hackathons, I know how intimidating it is to begin your programming journey. Building projects around something you love is a great way get a deep dive into a technology you have always wanted to use. When working with something you have never used before, you will find yourself learning A LOT. I wanted to put together a simple list of what I learned from this project that I hope can benefit you on your start to programming stardom:
Take Time To Set Up Your Thoughts
I have the attention span of a squirrel at times, especially when it comes to getting my project ideas in order. I constantly think large scaled and jam pack a project with a million features. While this is fantastic for your creativity, it doesn’t help much when you are first trying to start a project. The way I learned to tame this was to start writing everything down into tasks. These tasks can be as granular as, “Add a print statement here”. By doing this, it will really help you understand how to develop each feature of your project. The best part is that doing this from the beginning will save you a bunch of time down the road!
Keep Your Tasks “Bite-sized”
I am a huge advocate of Github Issues (as you will see if you check out the repo). It is much easier for me to digest tasks if they are written out in bite sized concepts. Plus, checking these tasks off your list is highly motivating. I feel as if many people have a need to tackle huge problems at once and solve it immediately (guilty as charged :P). I promise you that you don’t! If I learned anything from streaming on Twitch it’s that it’s okay to take breaks. Your code will be there tomorrow, I promise!
Work With Tech You Are Dying To Learn
It is much easier to do things when you have a drive to do it! The stack I chose for SimpleAlerts was Angular 5, Node.js, and MongoDB. I wanted to get a much better grasp on TypeScript, Promises, and interacting with the MongoDB Node.js driver. After finishing SimpleAlerts I can confidently say that I feel comfortable with all of that technology. My yearning for knowledge in these areas really helped me get over slumps that seemed impossible. This will definitely be a common occurrence while going through your project. During these times remember why you are working on this project. You are looking to better your skills, finish a challenge, and most importantly HAVE FUN.
Set a Deadline and Be Consistent
This take away is really important to me. Many projects that are started are never finished. This could be the shear amount of features that you may want to implement or you’ve simply lost your drive. I had two main motivating factors when building this project. First was the 28 day timeframe and second was the fact that I set a stream schedule 5 days a week, for 2–3 hours a day. Not only was I trying to prove to myself that I could finish, but also to all the people that came by to watch me code are expecting an outcome. They want to see me succeed and launch something great!
Don’t Forget To Struggle
Yup, you read that correctly! DO NOT forget to struggle. The parts of your project where you feel like giving up are the parts where you learn the most. No one does anything perfect the first time around. Use these imperfect moments to soak up as much knowledge as possible. This will prepare you for next time you run into this issue and you will be perfectly equipped to get it done.
Be Proud of Your Work- Even if You’re The Only Person to Use It
It’s okay that your project doesn’t go viral in minutes-most don’t. We always value the worth of something we make by how many people like it or use it, but that’s not always the case. You have just done the unthinkable and developed something that you never thought you could develop. Just take a look back at all the time you spent and how much you learned from building out your project from start to launch. Not many people can say they have done that!
Conclusion
I wanted to wrap up by saying that it’s great to be a part of any programming community. All the people I have interacted with during this project have been supportive, kind, and extremely helpful. Everyone is willing to help each other out and at the end of the day, want you to succeed. If you are afraid to start something like this or even start programming, just remember people are here to support you.
One of the reasons why I decided to make SimpleAlerts open source was to encourage beginners to come and add to the codebase. Consider contributing on Github now if you are interested!
Thanks for taking the time to read this and if you have any questions/concerns please feel free to reach out to me at any of the social sources below:
Twitch | Twitter | Discord
Byteconf React is a free React/JavaScript conference, streamed on Twitch. Join us on August 31, 2018, to hear from the best React developers and teachers from around the world. Join our mailing list and follow us on Twitter to stay up to date!