Starting a software company that immediately takes off like Facebook or Instagram is the dream of so many people. We all want to be the person to
introduce some new app into the world that everyone starts using. For many, this idea stays a dream, as they may feel they don't have the time to pursue it.
Right now though, this is the perfect time to be trying something new. As we're all stuck at home, we need something new to do to keep our minds busy. So why
not go ahead and try to build an app, and fulfill that dream of yours? Well that's what I'm gonna try to do.
Since watching The Social Network back in 2011, I knew I wanted to go into software, and create the next big thing. The problem was, I could never come up with
any good ideas, so I never really got started on any projects. Sure, I would take some online courses to learn about programming and web development, and I would
do the projects that went along with those courses, but I never spent time working on projects of my own. This started to change around the time that quarantine
started here in the US. You see, I had been getting a bit out of shape, and I decided to challenge myself to do 100 push ups a day, for 30 days, to try and get
myself back into shape a bit. I did this because I knew if it was just a small goal like 100 push ups a day, I would probably be able to stick to it easier than
a full workout plan that I would have to set aside lots of time for. With the push ups, anytime I had some free time, I would just do a set of 10 or 20, and keep
a running total for the day, that way it didn't feel like too much work. As I progressed through the month, I found myself enjoying doing the push ups everyday,
and would often start doing more than 100 just for fun. It amazed me that having this small goal for myself ended up changing my whole attitude towards exercise.
I thought, maybe this kind of thing could work in other parts of my life, like trying to read for a certain amount of time each day, or spend some X amount of time
practicing a new skill each day. I started thinking, maybe I could make an app for this where people can do these sort of challenges to make small improvements in
their daily lives. And that was it, I had an idea, I was ready to get started. But... I never did.
I got lazy and started bingeing TV shows or just hanging out, rather than actually getting started. I still had this dream in the back of my mind, that I would
start my own software startup, but I kept thinking, "yeah, that'll happen sometime, eventually." I didn't have the drive to go through with it. I ended up forgetting
about the project all together.
A few weeks later, I started to get really bored with my daily routine of watching tv and playing basketball, so I decided to get on a call with my friend Andy to try
and think of ideas for apps or software we could work on to keep ourselves more busy over the summer. We spent about an hour just listing out ideas for apps, and it was
during that call that the idea for the Challenge app came back to me, and Andy and I actually got pretty excited about it. We started planning out in Google Docs all the
features we'd want to include in the app, and how we might want to attempt building it out. Andy and I both had experience in Android app development, but we decided we
wanted anyone to be able to use the app, regardless of their phone's native OS. This is what led us to deciding to build it as a mobile web app, therefore making it
universally accessible. All right, we decided on building a web app, now what features did we want to include? Well, here's what we came up with:
⦁ Google Sign-In
⦁ A list of challenges that people could choose to try
⦁ Ability to create new challenges for others to try
⦁ The ability to connect with friends to view what challenges they were doing
⦁ Join a "club", or a group of people who would all do the same challenge
⦁ A progress meter to keep track of your progress on your current challenge
⦁ Reminders, motivating you throughout the day to make progress towards your goal
⦁ Calendar
After we finished coming up with this list, we started to realize that this may be too much to implement all at once, and we might end up losing motivation to create
the app. So we figured out what the most basic features of the app would be, that way we could try to get an MVP working as soon as possible. The features we chose were:
⦁ Google Sign-In
⦁ Select 1 challenge from a list of challenges to try
⦁ Progress meter to keep track of your current challenge
⦁ Connect with friends to see their progress
Once we had the features, we needed to get to work. We spent time researching frameworks we could use to build the app, and we ended up choosing React js due to its simplicity
and versatility. And that brings us to where we are today. We are just starting out figuring out the basics of how to create a mobile React app. As we keep making progress,
I will continue to add updates to this website, along with links to any resources we use. I hope that these blogs will inspire people to start working on their own projects
and provide a guide for how to get started and what mistakes to avoid. So for those of you out there who have always had an idea or a drive to work on a project like this, go
and get started! There is no better time than now to work towards your dreams. Stay tuned for more updates about the project, coming soon!