The CubeSat Automated Testing System is a project I worked on for two summers the the Jet Propulsion Laboratory in La Cañada, CA. It is a system designed to run automatic safe-to-mate and initial power/turn on tests on CubeSat avionics boards. You can read more about it here.
I created the GUI during my first summer at JPL. It was my first time programming (ever!), so a lot of time was spent getting up to speed on how OOP works, why I need to git commit so often, and lots of other stuff. The GUI is a portable interface to the CATS system and allows users to download test data, schedule tests to be run, and change test parameters to their liking. Once I finished that part of the project, I left to Stanford to begin my college career.
With a few more programming classes under my belt, I returned to JPL and continued development of CATS. Instead of working solely on the GUI, I rotated between the GUI, embedded system, and data acquisition unit with my team members. Much of this summer was spent designing and developing communications protocols between the subsystems and getting a proof of concept.