So I officially have RCFC 1.0 released (the phone app and the Python library). I’m really happy with how it turned out, and I wanted to share some of the lessons I learned along the way.
Lesson #0: Know your reasons for working on the side project
It is very important to be honest with yourself before you work on a project. Why do you wan to work on it? There are many motivators, be it money, fame, or experience, but be clear with yourself. For me, I wanted to see if I could solve a problem, but I treated this as a learning project. It was okay if I failed. I wasn’t planning on making money with it. I also wanted to see if I could build a reusable framework that others could learn from. I wanted to know how to build a phone app. I also was working on learning circuit design, and I needed a motivation to learn. This is why I worked on RCFC.
Additionally, recognize your constraints. You will not have a lot of time to work on a side project. So I wanted to put in some upfront effort to minimize ongoing maintenance. With RCFC, that meant that in order to update functionality, I only had to write a Python function, not update a web framework or phone app (Hooray open closed principle).