## Inspiration

Making primary level medical diagnoses accessible to people at all times.

## What it does

Using the Smooch API and InterMedica API, HeyDoc allows users to send a message in natural language and interprets the symptoms. The user then receives a diagnoses with a probability of it being the user's condition.

## How I built it

I used Swift to build this iOS app. To manage API requests I used Alamofire. To store data on the device, I used Realm.

## Challenges I ran into

Bring the only iOS developer on this project, I had to do the design and coding. This, resources were the biggest challenge in this project.

## Accomplishments that I'm proud of

I'm proud that I was able to integrate multiple APIs and Frameworks to build an app that has the real capability of diagnosing patient's symptoms.

## What's next for HeyDoc

I would like to continue expanding the app, allowing real doctors to continue the conversation. Furthermore, with more time I can allow the user to communicate further with the bot and get more accurate diagnoses.
## Inspiration

Everywhere we hear, "(data) is the new currency." And yet our understanding of it is limited. As developers, we have decided to make it more accessible to the people we think need it most: people who have an illness. Often, medical information is not explicit to the general public, and we cannot grasp its simpler meaning. That's why we are on a mission to vulgarize it.

## What it does

We take data from medical research websites and make it comprehensible to patients leveraging AI to parse through it, rendering the best fitting study depending on the patient's needs.

## How we built it

Using HTML and CSS heavy code, we built the frontend mostly using Svelte, a powerful and easy alternative to React.js. For the backend, it is necessary to think of it as a pipeline. We first take the user input, format it through Python, send it to ChatGPT that has loaded the data-filled file, and it sends back the frontend at the client's disposal.

## Challenges we ran into

The first challenge we ran into was the data access. The first API we used was unformatted data, due to poorly regulated data entry. If the data is unformatted, then it is difficult to standardize it, especially with how much time we had left. The second challenge was the choice of frameworks. The number of tools available to the devs is very large, and it is very easy to get lost in framework changes if you aren't completely sure of how your project is going to turn out. Since we had trouble with the first API, the second issue did not help.

## Accomplishments that we're proud of

We found a way around both challenges. As a solution to the search, we decided to pivot towards multiple databases instead of the one we originally intended, to have a bit more latitude regarding data mining. This gave us a bit of hope, which in turn solved the second problem, and we had a better idea of how to tackle the project. We are proud of our resilience in the face of a failing idea, and going through with it no matter the obstacles.

## What we learned

That HTML cannot be linked directly to Python using a framework. If it can be, why is it so difficult? We also learned that the medical field is a data rich field, but in order to make a very interesting and useful product, you need a doctor to vulgarize to you. Just "formatting data" is pretty much useless if you don't understand the data in the first place.

## What's next for MediQuest AI

This project feels more like an open-source project, constantly improved with new implementations and completely different ways to think. This aligns well with our philosophy: accessible medical information to people with no medical background.

GitHub: <https://github.com/Jhul4724/mchacks_mediquest.git>
## Inspiration

Our team firmly believes that a hackathon is the perfect opportunity to learn technical skills while having fun. Especially because of the hardware focus that MakeUofT provides, we decided to create a game! This electrifying project places two players' minds to the test, working together to solve various puzzles. Taking heavy inspiration from the hit videogame, "Keep Talking and Nobody Explodes", what better way to engage the players than have then defuse a bomb!

## What it does

The MakeUofT 2024 Explosive Game includes 4 modules that must be disarmed, each module is discrete and can be disarmed in any order. The modules the explosive includes are a "cut the wire" game where the wires must be cut in the correct order, a "press the button" module where different actions must be taken depending the given text and LED colour, an 8 by 8 "invisible maze" where players must cooperate in order to navigate to the end, and finally a needy module which requires players to stay vigilant and ensure that the bomb does not leak too much "electronic discharge".

## How we built it

**The Explosive**

The explosive defuser simulation is a modular game crafted using four distinct modules, built using the Qualcomm Arduino Due Kit, LED matrices, Keypads, Mini OLEDs, and various microcontroller components. The structure of the explosive device is assembled using foam board and 3D printed plates.

**The Code**

Our explosive defuser simulation tool is programmed entirely within the Arduino IDE. We utilized the Adafruit BusIO, Adafruit GFX Library, Adafruit SSD1306, Membrane Switch Module, and MAX7219 LED Dot Matrix Module libraries. Built separately, our modules were integrated under a unified framework, showcasing a fun-to-play defusal simulation.

Using the Grove LCD RGB Backlight Library, we programmed the screens for our explosive defuser simulation modules (Capacitor Discharge and the Button). This library was used in addition for startup time measurements, facilitating timing-based events, and communicating with displays and sensors that occurred through the I2C protocol.

The MAT7219 IC is a serial input/output common-cathode display driver that interfaces microprocessors to 64 individual LEDs. Using the MAX7219 LED Dot Matrix Module we were able to optimize our maze module controlling all 64 LEDs individually using only 3 pins. Using the Keypad library and the Membrane Switch Module we used the keypad as a matrix keypad to control the movement of the LEDs on the 8 by 8 matrix. This module further optimizes the maze hardware, minimizing the required wiring, and improves signal communication.

## Challenges we ran into

Participating in the biggest hardware hackathon in Canada, using all the various hardware components provided such as the keypads or OLED displays posed challenged in terms of wiring and compatibility with the parent code. This forced us to adapt to utilize components that better suited our needs as well as being flexible with the hardware provided.

Each of our members designed a module for the puzzle, requiring coordination of the functionalities within the Arduino framework while maintaining modularity and reusability of our code and pins. Therefore optimizing software and hardware was necessary to have an efficient resource usage, a challenge throughout the development process.

Another issue we faced when dealing with a hardware hack was the noise caused by the system, to counteract this we had to come up with unique solutions mentioned below:

## Accomplishments that we're proud of

During the Makeathon we often faced the issue of buttons creating noise, and often times the noise it would create would disrupt the entire system. To counteract this issue we had to discover creative solutions that did not use buttons to get around the noise. For example, instead of using four buttons to determine the movement of the defuser in the maze, our teammate Brian discovered a way to implement the keypad as the movement controller, which both controlled noise in the system and minimized the number of pins we required for the module.

## What we learned

* Familiarity with the functionalities of new Arduino components like the "Micro-OLED Display," "8 by 8 LED matrix," and "Keypad" is gained through the development of individual modules.
* Efficient time management is essential for successfully completing the design. Establishing a precise timeline for the workflow aids in maintaining organization and ensuring successful development.
* Enhancing overall group performance is achieved by assigning individual tasks.

## What's next for Keep Hacking and Nobody Codes

* Ensure the elimination of any unwanted noises in the wiring between the main board and game modules.
* Expand the range of modules by developing additional games such as "Morse-Code Game," "Memory Game," and others to offer more variety for players.
* Release the game to a wider audience, allowing more people to enjoy and play it.