_
Tinovation
PROJECT SAFEGUARD

What is Project Safeguard?


Project Safeguard was an ambitious undertaking by the members of the Tinovation Club at Cupertino High School. Students were split into groups based on which aspect of the project they wanted to work on. This included iOS, Android, Web Development, and Python/Hardware/Backend. The latter was established to balance out the workload for each team. Working together, these teams headed by Tinovation officers, contributed to one singular repository (available here) and created a fully functional cross-platform application.


At the end of the development cycle in the Summer of 2017, the officers of Tinovation streamlined and cleaned up the collaborative codebase and generated the result viewable in the repository. Over the course of 1-2 hour weekend meetings, occasional lunchtime meetings during school, and many hours outside these meetings, each and every member of Tinovation worked hard to push their knowledge and learning of the concepts required to build this app, and combined effort with their teams to create a working result.



Our entire development team. Special thanks to all of you!



General Statistics


Here's an idea of just how big this project was. All of these members worked hard to learn new things, create a product, and most importantly- learn. Here's just how much we got done.


104

Team members
50,000+

lines of code written by team members over the development cycle

1000+

hours spent by all members on this project*
52%

Novices- programmers who had never programmed before- joined the team to work on this project!





Photo Gallery



A few pictures of the product team hard at work, blueprints of the product, and the final product. A small slice of what Tinovation meetings were generally like!





How Does Project Safeguard Work?


In order to keep all 104 of these students organized, we at Tinovation devised a subgroup system to ensure each and every member was engaged and given the opportunity to contribute and learn every step of the way. Below is a run-through of what each subgroup developed as a team and what they accomplished.



HTML + JS + CSS

The web-based frontend part of Project Safeguard was built utilizing an edited version of the Bootstrap framework, along with JQuery and other elements of JavaScript to complete the interactivity. In order to connect to the backend part of the project, the Firebase API in JavaScript was also utilized. The entire web portion of the project was built in a simple text editor, and no external tools were used. Although this portion is functionally similar to the iOS and Android apps, it was mainly designed for Desktop users and was thus created in a different aesthetic language.

iOS + Android

The mobile frontend portions of this project were two similar apps built for two radically different platforms, development-wise. For this reason, we had one team working on the iOS side of development, and one team working on the Android side of development. The Android team worked on implementing connections to the camera, the Firebase API, and creating a pleasing UI/UX with Java, while the iOS team strived to do the same using Swift with occasional bridges to Objective-C for more complex functions. Overall, this was very similar in function to the Web based frontend code, but extremely different in form.

Python + Hardware

The final subgroup which was assigned a certain set of miscellaneous tasks that were too small for their own groups included a list of tasks to complete including the Python code and the hardware aspect of the project. We utilized OpenCV, an image processing library for Python to help us with the facial recognition aspect of the project, along with Pyrebase, a third party API that allowed us to connect our Python code with the Firebase that our data was stored in. This group managed the backend of the project, including how data was stored, where it was stored, and how to minimize the size of it. This group also took care of writing the Python code to perform facial recognition using OpenCV and the connection to Firebase from the Raspberry Pi. Finally, this group fabricated the case for the Raspberry Pi, camera, and feedback sensor in Google SketchUp 3D and assembled the 3d-printed product together.

Members Gained Proficiency In

Including but not limited to:



Final Thoughts

The project involved months of long and arduous work, and one of the most important challenges we overcame was trying to keep everyone working on the product involved. We applied a variety of different remedies to this issue and eventually were successful in involving as many people as we could as efficiently as possible. The real takeaway from this project was not the actual product that was built, but the valuable skills in both collaboration in social environments and a plethora of programming styles and applications. These skills will stick with members of the Tinovation product team for years, and as such are the most important takeaways. Thank you all for joining us on this long, but rewarding journey!




Special Thanks To



Mr. Eric Ferrante


Mr. Ted McLeod


The Tandon Family


All of our members!





Designed by Tinovation 2017