## Inspiration

The moment we formed our team, we all knew we wanted to create a hack for social good which could even aid in a natural calamity. According to the reports of World Health Organization, there are 285 million people worldwide who are either blind or partially blind. Due to the relevance of this massive issue in our world today, we chose to target our technology towards people with visual impairments. After discussing several ideas, we settled on an application to ease communication and navigation during natural calamities for people with visual impairment.

## What it does

It is an Android application developed to help the visually impaired navigate through natural calamities using peer to peer audio and video streaming by creating a mesh network that does not rely on wireless or cellular connectivity in the event of a failure. In layman terms, it allows people to talk with and aid each other during a disastrous event in which the internet connection is down.

## How we built it

We decided to build an application on the Android operating system. Therefore, we used the official integrated development environment: Android Studio. By integrating Google's nearby API into our java files and using NFC and bluetooth resources, we were able to establish a peer to peer communication network between devices requiring no internet or cellular connectivity.

## Challenges we ran into

Our entire concept of communication without an internet or cellular network was a tremendous challenge. Specifically, the two greatest challenges were to ensure the seamless integration of audio and video between devices. Establishing a smooth connection for audio was difficult as it was being streamed live in real time and had to be transferred without the use of a network. Furthermore, transmitting a video posed to be even a greater challenge. Since we couldn’t transmit data of the video over the network either, we had to convert the video to bytes and then transmit to assure no transmission loss. However, we persevered through these challenges and, as a result, were able to create a peer to peer network solution.

## Accomplishments that we're proud of

We are all proud of having created a fully implemented application that works across the android platform. But we are even more proud of the various skills we gained in order to code a successful peer to peer mesh network through which we could transfer audio and video.

## What we learned

We learned how to utilize Android Studio to create peer to peer mesh networks between different physical devices. More importantly, we learned how to live stream real time audio and transmit video with no internet connectivity.

## What's next for Navig8.

We are very proud of all that we have accomplished so far. However, this is just the beginning. Next, we would like to implement location-based mapping. In order to accomplish this, we would create a floor plan of a certain building and use cameras such as Intel’s RealSense to guide visually impaired people to the nearest exit point in a given building.
## Inspiration

We were inspired by all the people who go along their days thinking that no one can actually relate to what they are experiencing. The Covid-19 pandemic has taken a mental toll on many of us and has kept us feeling isolated. We wanted to make an easy to use web-app which keeps people connected and allows users to share their experiences with other users that can relate to them.

## What it does

Alone Together connects two matching people based on mental health issues they have in common. When you create an account you are prompted with a list of the general mental health categories that most fall under. Once your account is created you are sent to the home screen and entered into a pool of individuals looking for someone to talk to. When Alone Together has found someone with matching mental health issues you are connected to that person and forwarded to a chat room. In this chat room there is video-chat and text-chat. There is also an icebreaker question box that you can shuffle through to find a question to ask the person you are talking to.

## How we built it

Alone Together is built with React as frontend, a backend in Golang (using Gorilla for websockets), WebRTC for video and text chat, and Google Firebase for authentication and database. The video chat is built from scratch using WebRTC and signaling with the Golang backend.

## Challenges we ran into

This is our first remote Hackathon and it is also the first ever Hackathon for one of our teammates (Alex Stathis)! Working as a team virtually was definitely a challenge that we were ready to face. We had to communicate a lot more than we normally would to make sure that we stayed consistent with our work and that there was no overlap.
As for the technical challenges, we decided to use WebRTC for our video chat feature. The documentation for WebRTC was not the easiest to understand, since it is still relatively new and obscure. This also means that it is very hard to find resources on it. Despite all this, we were able to implement the video chat feature! It works, we just ran out of time to host it on a cloud server with SSL, meaning the video is not sent on localhost (no encryption). Google App Engine also doesn't allow websockets in standard mode, and also doesn't allow `go.mod` on `flex` mode, which was inconvenient and we didn't have time to rewrite parts of our webapp.

## Accomplishments that we're proud of

We are very proud for bringing our idea to life and working as a team to make this happen! WebRTC was not easy to implement, but hard work pays off.

## What we learned

We learned that whether we work virtually together or physically together we can create anything we want as long as we stay curious and collaborative!

## What's next for Alone Together

In the future, we would like to allow our users to add other users as friends. This would mean in addition of meeting new people with the same mental health issues as them, they could build stronger connections with people that they have already talked to.

We would also allow users to have the option to add moderation with AI. This would offer a more "supervised" experience to the user, meaning that if our AI detects any dangerous change of behavior we would provide the user with tools to help them or (with the authorization of the user) we would give the user's phone number to appropriate authorities to contact them.
## Inspiration

We wanted to leverage machine learning to help lenders to Kiva learn where their money could make the greatest impact. Kiva is an international nonprofit, founded in 2005 and based in San Francisco, that works with microfinance institutions on five continents to provide loans to people without access to traditional banking systems. Lenders invest money in small businesses and fundraisers in underprivileged parts of the world.

Our goal was to quantify the impact of people's donation and show people how even tiny amounts of money can help multiple families across the globe start businesses that are self sustainable.

## What it does

Kinvest is trained on Kiva's large datasets. We used these to train a predictive model that can score the value of a dollar amount in a certain country and accurately predict the number of families that are directly impacted by a donors donation. This encourages people to donate more.

## How we built it

Kinvest is built in `python`. We used data and machine learning libraries like `pandas` and `sklearn`. We also integrated Flask, Beaker Notebook, and Firebase.

## Challenges we ran into

With the data we had, it was very difficult to define what a successful loan was, or who a successful lender was. It was also difficult to learn how to leverage all of our large tech stack in just 24 hours.

## Accomplishments that we're proud of

* The potential impact of Kinvest is huge. We are excited to see where Kinvest will impact those in need!
* Finishing our hack in 24 hours
* Going from unfamiliar with these technologies to being able to properly implement them into an application was no small feat

## What we learned

* The satisfaction of hacking for good
* How to work with a large dataset in a limited amount of time
* The importance of picking up languages and technologies on the fly

## What's next for Kinvest

We want to study Kiva's dataset more deeply so that we can better predict what a good choice for a loan is. The possibilities for linking up with other datasets (World Bank, Census, economic data) is nearly limitless. We want to see where the societal impact of Kinvest can go.