My grandfather had meningioma brain tumor, and unfortunately passed away due to it. This inspired me to research more about the tumor, especially since neuroscience interests me immensely. Once I researched, and realized it was such a big problem in the community even today, I knew I had to create something to help the patients. Now I know that if my grandfather had my app when he had meningioma, he could have had a little bit of a longer life, instead of having to leave while I was only 5 years old.
What it does
MgAssist is an app that assists in the recovery management process of those with meningioma brain tumor. It is a tool to assist people with the different symptoms of meningioma (such as vision impairments, speaking/hearing impairments, headaches, and seizures) and allows doctors to track patients’ progress. The app uses algorithms to convert scanned text to an enlarged font, convert typed text to speech, provide a test to detect a possible risk of headaches or seizures in the near future, and track patients' mood for doctors to analyze trends.
How I built it
I built this app using Swift 5 and Xcode 11. I first designed the user interface of the app using the SwiftUI Storyboard, where I can implement buttons, images, and more elements. Then, I added code in the backend of the app, so that the scanned text can be converted to an enlarged font, convert typed text to speech, analyze the tests for headaches and seizures, and track the moods. Then, to test the app, I connected it to my dad's iPhone8, and was able to see the app's function, to make changes.
Challenges I ran into
- When coding the image scanner (to convert into a larger font), I realized that I had designed the whole app using a tab view, rather than the single view. The vision framework code I used only worked in the single view. However, since I wasn't too far into the process, as I wanted to target the hardest parts of code (vision framework) first, it was relatively easy to transfer everything to a single view app project.
- Converting text to speech was a huge problem of mine, because when the ringer of the phone is turned off, the voice won't come. It took me multiple tries, however, I finally tried the speech with the ringer on, and it worked!
- There weren't too many tutorials in the new Swift5 code, and since I was learning most of the code in the process, is was a bit hard. However, I was able to find a few and work with them. I hope that in the future, I can provide some tutorials so that others won't run into this purpose.
Accomplishments that I'm proud of
- I am proud that I was able to learn most of Xcode and Swift in the time given!
- I'm proud that my initial plan for the app was carried out as I expected, although there were a few obstacles on the way, which is completely normal.
- I'm glad that I was able to make an app that can actually make a different in someone's life, helping out the field I am so passionate in, neuroscience.
- I'm proud of my incorporation of the vision and AVFoundation frameworks, since those were the most complicated parts of my code.
What I learned
- I learned so much about Xcode and Swift in general. I mainly know JAVA, and learning this new language was insanely awesome.
- I learned how to use Vision Framework, which I think is really cool, as I know that there are so many different apps that also have implemented Vision Framework after it came out, such as notes and google's scanning app.
- I learned that it is possible to implement text to speech conversion using code! I wasn't sure if this would be possible using Swift, especially since I didn't know much to start with, however, I was able to do so by implementing the AVFoundation framework. This was incredibly cool to me, since this was so out of the box for me!
What's next for MgAssist - Divya Venkataraman
- I'd like to add different tumors to the app as well, targeting their symptoms, rather than just the meningioma symptom, event though this is the most common. This is a large task, but I really hope to do so.
- I'd like to publish this app to the App Store, so that others can benefit from it as well.
- I'd like to reach out to some doctors and researchers in the neuroscience field about this app, to ensure that I can bring it to a new level, and maybe event find a sponsor. - I will then be able to implement this app with actual patients, and possibly make a huge, positive difference in their lives