## Inspiration 🌈

Our team has all experienced the struggle of jumping into a pre-existing codebase and having to process how everything works before starting to add our own changes. This can be a daunting task, especially when commit messages lack detail or context. We also know that when it comes time to push our changes, we often gloss over the commit message to get the change out as soon as possible, not helping any future collaborators or even our future selves. We wanted to create a web app that allows users to better understand the journey of the product, allowing users to comprehend previous design decisions and see how a codebase has evolved over time. GitInsights aims to bridge the gap between hastily written commit messages and clear, comprehensive documentation, making collaboration and onboarding smoother and more efficient.

## What it does 💻

* Summarizes commits and tracks individual files in each commit, and suggests more accurate commit messages.
* The app automatically suggests tags for commits, with the option for users to add their own custom tags for further sorting of data.
* Provides a visual timeline of user activity through commits, across all branches of a repository
Allows filtering commit data by user, highlighting the contributions of individuals

## How we built it ⚒️

The frontend is developed with Next.js, using TypeScript and various libraries for UI/UX enhancement. The backend uses Express.js , which handles our API calls to GitHub and OpenAI. We used Prisma as our ORM to connect to a PostgreSQL database for CRUD operations. For authentication, we utilized GitHub OAuth to generate JWT access tokens, securely accessing and managing users' GitHub information. The JWT is stored in cookie storage and sent to the backend API for authentication. We created a github application that users must all add onto their accounts when signing up. This allowed us to not only authenticate as our application on the backend, but also as the end user who provides access to this app.

## Challenges we ran into ☣️☢️⚠️

Originally, we wanted to use an open source LLM, like LLaMa, since we were parsing through a lot of data but we quickly realized it was too inefficient, taking over 10 seconds to analyze each commit message. We also learned to use new technologies like d3.js, the github api, prisma, yeah honestly everything for me

## Accomplishments that we're proud of 😁

The user interface is so slay, especially the timeline page. The features work!

## What we learned 🧠

Running LLMs locally saves you money, but LLMs require lots of computation (wow) and are thus very slow when running locally

## What's next for GitInsights

* Filter by tags, more advanced filtering and visualizations
* Adding webhooks to the github repository to enable automatic analysis and real time changes
* Implementing CRON background jobs, especially with the analysis the application needs to do when it first signs on an user, possibly done with RabbitMQ
* Creating native .gitignore files to refine the summarization process by ignoring files unrelated to development (i.e., package.json, package-lock.json, **pycache**).
## Inspiration

While we were brainstorming for ideas, we realized that two of our teammates are international students from India also from the University of Waterloo. Their inspiration to create this project was based on what they had seen in real life. Noticing how impactful access to proper healthcare can be, and how much this depends on your socioeconomic status, we decided on creating a healthcare kiosk that can be used by people in developing nations. By designing interface that focuses heavily on images; it can be understood by those that are illiterate as is the case in many developing nations, or can bypass language barriers. This application is the perfect combination of all of our interests; and allows us to use tech for social good by improving accessibility in the healthcare industry.

## What it does

Our service, Medi-Stand is targeted towards residents of regions who will have the opportunity to monitor their health through regular self administered check-ups. By creating healthy citizens, Medi-Stand has the potential to curb the spread of infectious diseases before they become a bane to the society and build a more productive society. Health care reforms are becoming more and more necessary for third world nations to progress economically and move towards developed economies that place greater emphasis on human capital. We have also included supply-side policies and government injections through the integration of systems that have the ability to streamline this process through the creation of a database and eliminating all paper-work thus making the entire process more streamlined for both- patients and the doctors. This service will be available to patients through kiosks present near local communities to save their time and keep their health in check. By creating a profile the first time you use this system in a government run healthcare facility, users can create a profile and upload health data that is currently on paper or in emails all over the interwebs. By inputting this information for the first time manually into the database, we can access it later using the system we’ve developed. Overtime, the data can be inputted automatically using sensors on the Kiosk and by the doctor during consultations; but this depends on 100% compliance.

## How I built it

In terms of the UX/UI, this was designed using Sketch. By beginning with the creation of mock ups on various sheets of paper, 2 members of the team brainstormed customer requirements for a healthcare system of this magnitude and what features we would be able to implement in a short period of time. After hours of deliberation and finding ways to present this, we decided to create a simple interface with 6 different screens that a user would be faced with. After choosing basic icons, a font that could be understood by those with dyslexia, and accessible colours (ie those that can be understood even by the colour blind); we had successfully created a user interface that could be easily understood by a large population.
In terms of developing the backend, we wanted to create the doctor’s side of the app so that they could access patient information. IT was written in XCode and connects to Firebase database which connects to the patient’s information and simply displays this visually on an IPhone emulator. The database entries were fetched in Json notation, using requests.
In terms of using the Arduino hardware, we used Grove temperature sensor V1.2 along with a Grove base shield to read the values from the sensor and display it on the screen. The device has a detectable range of -40 to 150 C and has an accuracy of ±1.5 C.

## Challenges I ran into

When designing the product, one of the challenges we chose to tackle was an accessibility challenge. We had trouble understanding how we can turn a healthcare product more accessible. Oftentimes, healthcare products exist from the doctor side and the patients simply take home their prescription and hold the doctors to an unnecessarily high level of expectations. We wanted to allow both sides of this interaction to understand what was happening, which is where the app came in. After speaking to our teammates, they made it clear that many of the people from lower income households in a developing nation such as India are not able to access hospitals due to the high costs; and cannot use other sources to obtain this information due to accessibility issues. I spent lots of time researching how to make this a user friendly app and what principles other designers had incorporated into their apps to make it accessible. By doing so, we lost lots of time focusing more on accessibility than overall design. Though we adhered to the challenge requirements, this may have come at the loss of a more positive user experience.

## Accomplishments that I'm proud of

For half the team, this was their first Hackathon. Having never experienced the thrill of designing a product from start to finish, being able to turn an idea into more than just a set of wireframes was an amazing accomplishment that the entire team is proud of.
We are extremely happy with the UX/UI that we were able to create given that this is only our second time using Sketch; especially the fact that we learned how to link and use transactions to create a live demo. In terms of the backend, this was our first time developing an iOS app, and the fact that we were able to create a fully functioning app that could demo on our phones was a pretty great feat!

## What I learned

We learned the basics of front-end and back-end development as well as how to make designs more accessible.

## What's next for MediStand

Integrate the various features of this prototype.
How can we make this a global hack?
MediStand is a private company that can begin to sell its software to the governments (as these are the people who focus on providing healthcare)
Finding more ways to make this product more accessible
## Inspiration

The inspiration for "Tag" came from a desire to bridge the gap between people, across all ages and interests, in a deeply personal yet digital way. Recognizing the limitations of existing social platforms in fostering genuine connections that have become less social and more media-centric, especially during times when physical distances have grown, "Tag" seeks to reintroduce the intimacy and authenticity often missing from our online interactions.

## What it does

"Tag" is a mobile application that facilitates meaningful conversations through thoughtfully crafted prompts. It prompts different groups of people daily, allowing a centralized platform for connections to thrive, gaining knowledge and adaptively responding to user behavior. It encourages users to share more than just superficial updates, diving into reflective and personal exchanges. This platform stands out by focusing on depth and the loneliness epidemic, allowing friends and connections to engage on a level that strengthens their relationships, regardless of the physical distance.

## How we built it

The app was developed using React Native/typescript and node, enabling a cross-platform presence from the get-go. Figma was a big help. Key challenges included integrating storage for real-time data handling and pivoting from Convex to an API with async storage due to server demand issues. Despite the steep learning curve with technologies and collaborative tools like Git, the team's dedication and adaptability were paramount in bringing "Tag" to life.

## Challenges we ran into

The journey of incorporating backend services was fraught with technical hurdles. Initially opting for Convex presented a steep learning curve and unforeseen server demand issues, leading to a critical pivot towards Firebase and async storage solutions. This shift demanded rapid adaptation and a reevaluation of our backend strategy under tight deadlines. Concurrently, mastering Git for effective team collaboration introduced its own set of challenges, compounded by the unexpected illness of a team member, which threatened to reduce our workforce. These obstacles tested our resolve, adaptability, and teamwork skills in the face of uncertainty.

## Accomplishments that we're proud of

Successfully completing our first hackathon as an all-women team, we're proud of sticking closely to our design specifications and prioritizing user-centric design. The development of "Tag" demonstrated our ability to work harmoniously, overcome technical and personal challenges, and create a product that resonates with our intended audience. The thoughtful design, including handwritten fonts and engaging prompts, reflects our commitment to creating meaningful digital spaces.

## What we learned

This journey taught us invaluable lessons in app development, teamwork, and design consistency. We learned the importance of early starts, in-depth communication before diving into tasks, and the need to always pull before pushing in Git. The experience has been enlightening, providing us with a solid foundation in both technical and collaborative skills.

## What's next for Tag

Encouraged by positive feedback and the potential impact on fostering connections (we asked our friends and long-distance friends for feedback :)), we're excited to further develop "Tag." Plans include expanding its features, refining the user experience based on real-world testing, and potentially exploring avenues for wider adoption. We would love to build it out to include more back-end, user authentication, mass database storage and more. Our vision for "Tag" goes beyond a project; it's about creating a platform that treats the loneliness academics, enriches friendships and bridges distances with heartfelt conversations.