Programming Intern (2018)
Assigned Project: Brain Pilot, Stress App
At Clinical Tools I worked on two projects, the Brain Pilot and a stress app used to collect data for the Burnout Project.
With the Brain Pilot I was given an intricate and accurate model of the human brain, with all of the individual pieces modeled and sculpted to a high degree of accuracy. This project was intended to help people learn about the physical structures and interactions within the brain in a less abstract way; by actually seeing the brain in front of them in three-dimensions, people were able to get a better understanding of the way all of the parts were connected in a way that traditional diagrams and renderings simply couldn’t get across.
The Brain Pilot was designed for the entry-level VR device, Oculus Go. The Oculus Go doesn’t have the full functionality of a system like the Oculus Rift or HTC Vive, so certain limitations were placed on the type of user interactions that we could utilize. I implemented both a gaze UI (where the pointer was placed wherever you were looking), and a controller pointer (where the direction of your controller placed a pointer on the environment) based interaction system. To go along with these, I also implemented a cutscene-like “World Event System” where I could manipulate the environment based on certain triggers i.e. a button press from my interaction system. The World Event system was unique in that it also was able to roll back any event that it triggered; by each event keeping track of its own state changes, it was very easy to debug any problems and made development go very quickly. In addition, I also created a study tool where highlighting a part of the brain with the controller pointer would cause it to go transparent (which involved the real-time changing of materials on the brain pieces), as well as having a nearby TextMesh display information about the highlighted part of the brain. This was helpful to me when learning about the brain, as it allowed me to quickly learn the names of the major brain by hovering over them and immediately receiving relevant information.
Lastly, I created a quiz game for the brain. The quiz gave a target score and could assign points to individual questions, and set a target number of points for a passing score. This ultimately wasn’t the direction that the project took, but it was still interesting to implement and was a substantial feature that I worked on.
The stress app was created with a dual purpose- to help medical students keep track of their stress, and to collect information which could be utilized to determining the main causes of burnout to be addressed in The Burntout Project. The project would allow you to track a few different measures of stress, take notes, and then give helpful graphs and resources that could be used to help recognize and manage one’s stress.
The Stress App was created with a hybrid mobile application framework called Ionic. This utilizes web technologies that can compile down to a native iOS or Android application. I used Angular 5 for the frontend App development, and node/express for the backend server. MySQL was used to store information in a database. I used an Object Relational Mapper(ORM) in order to efficiently manage my database queries and secured the application using signed JsonWebTokens(JWT). These tokens are signed by the server, and allow the backend to verify that the request came from the correct application, and who the user is. All of this is hosted in the Amazon cloud, and manages to perform very quickly and efficiently.
During my time at Clinical Tools I learned a lot, and I look forward to utilizing all of the knowledge that I gained here in the future. I had the opportunity to work with a lot of incredibly intelligent people on some very interesting projects and I greatly enjoyed all of my time there.