Coding for Health & Fitness
Gabriel Madonna, Co-founder & CTO at CoPilot
Tell us about your background.
Hi, my name is Gabe. I co-founded a 1-on-1 health & fitness coaching company CoPilot (formerly DeltaTrainer) my junior year at MIT while pursuing a degree in machine learning and signal processing. I was (and continue to be) an avid athlete and fitness nerd. Today, I continue my work on CoPilot as CTO and am extremely grateful to be able to pour my heart into a mission that unifies my loves of health, tech, and coaching.
What do you work on?
As the CTO, I manage general software architecture, ensuring that everything is stable, fast, and scalable. As we are a small company, I still spend a lot of time writing code for new parts of the system (e.g. implementing new automations to make our coaches more effective and efficient). I also maintain and upgrade the fundamental parts of our tech system which I wrote two years ago when the company was just myself and my co-founder (e.g. the signal processing code which analyzes real-time client motion or the algorithms which learn and predict client strength based on their demographic info and exercise history). As a co-founder, I work with our team to make sure our company is always getting closer to realizing our vision of being able to help anyone adopt a lifestyle of health!
How do you use coding in your projects?
Coding is everywhere at CoPilot! We use it to help our clients feel like their remote coaches are right there next to them (e.g. by analyzing their form and pacing, giving feedback in real-time, and using text to speech software to give that feedback in the voice of their coach). We also use it to capture data about our company and boil it down to key metrics to always have our fingers on the pulse of the business and the tech. We have hundreds of thousands of lines of code taking care of hundreds of simultaneous tasks, so once a system gets that large you need to build a meta-system to always be checking that everything is functioning as expected!
Any fun insights or tips related to the application of computer science in your area for young coders?
The world of coaching is full of opportunities for software to come and change the game. What I love about coaching is that the human component really is not replaceable — that the ideal way software can contribute is to make the coaches more EFFECTIVE and more EFFICIENT. Even if we at CoPilot could make as good of workout plans as top-notch coaches, a machine can never replace the capacity for connection (and in turn, accountability) that a human provides. For that reason, we’ve really focused on making our coaches capable of holding clients accountable in ways and at a scale that simply is not possible without tech. And that general idea is something that I think deserves more attention — rather than always focusing on trying to replace humans, see what things humans do best and make them even better at those things.
What tools and programming languages do you use?
Programming Languages: Python, JavaScript, React
Tools: AWS, MongoDB, PyCharm, Linux, terminal, ssh
Interested in utilizing this resource in your elementary classroom? Check out our elementary version of this blog here. Comprehension is designed for upper elementary independent reading (Lexile level no greater than 1000), or guided reading for younger students.