## YME

**Now this is a story all about how
My life got flipped turned upside down
And I'd like to take a minute, just sit right there
I'll tell you how YME helped you at the tech-fair**

In the middle of YHacks, born and raised
On the playground is where I spent less than 2 days
Chillin' out, maxin', no sleep at all, cool
shootin' Angular injections outside of school\*\*

## Inspiration

In a world where personal branding can't be fully developed without an online platform, we have decided to take the pain out of building your own website in just a few clicks! Simply login with your Facebook account, and get ready to live your highlights using our clean and clear user interface. However, YME isn't limited to beginners! The application offers the option of exporting the HTML code generated from each unique website. This way, users can focus more on brand creation rather than coding syntax.

## What it does

YME takes relevant data on your Facebook account, including profile/cover pictures, education, work and recently attended social events in order to construct a clean, complete yet simple way to market oneself. And all this with one Facebook login. Offered is a beautiful front-end, gallery of most "liked" photos from the past year on Facebook, a short biography on hometowns, education, a map of recently attended social events, and finally, a contact form to directly email the user in question. And did we mention the option to export all the code in HTML for better customization?

## How we built it

We built the application by using data retrieved through the Facebook API. The front-end was built in Angular and the back-end server was built in Node. The application also utilizes AWS Elastic Beanstalk for hosting the server and AWS S3 for serving the static pages of each users generated website. The callback functions (node framework) in dependent .js and .html files were required to generate an authentication token, and the amount of information retrievable using the Graph API sometimes limited our use cases, due to lack of permissions. In addition, we used the AngularJS framework, while the Google maps SDK documentation was written for JavaScript. Hence, binding AngularJS data to Javascript functions proved challenging. However, the decision to stick to AngularJS is justified by the use of Javascript only (no Typescript as in Angular2), and the fast development rate (for less than 2 days) of a single page dynamic WebApp that would take a lot longer due to component-based Angular2.

## What's next for YME

More clean, beautiful frontend options available for the user. More functions to be implemented in the Google Maps component displaying "My Recent Places". If YME became a more work-networking oriented platform, we would create a visual component displaying one's closest network connections.
## Inspiration

I came to the realization that, while we now have thousands of "friends" online, and we are constantly in the loop of what everyone is doing via timelines and newsfeeds, there isn't yet an app whose aim is to improve the \_ quality \_ and not just quantity of friendships and interactions.

## What it does

Socialytics takes any messages sent between you and your friends, analyzes the sentiment of them, and shows you a graph of how your friendship has changed over time.

## How I built it

I first scraped Facebook Messenger for all of my chat data. After extracting the most relevant information, I pushed these messages to Microsoft's Azure Machine Learning to do sentiment analysis. With each message, its timestamp, and its sentiment, I was able to create a d3 graph that changes over time according to a slider that indicates specific dates.

## Challenges I ran into

Facebook's API is heavily centered toward privacy, and as such, I found it very difficult to get even my own messaging data. I used a Python script to scrape all of my Facebook messages. Even then, the data wasn't very pretty. Some timestamps read "July 26th" while others read "July 27", for example. Some had spaces in places such as "5:27 PM", while others just showed "5:27PM".

## Accomplishments that I'm proud of

I'm most proud of d3.js. It's a library I've heard and been curious about for a while, but it wasn't until now that I actually dived into it head first. I'm happy also to have had such helpful mentors at the hackathon who gave me a hand.

## What I learned

It's interesting that whenever I feel like giving up on a bug or on learning a complicated library or some technical detail, and I persevere for just a bit longer, I usually find myself being able to push past that obstacle. Toward the end of the hackathon, d3.js was really giving me a hard time. I thought to myself I can just put the app down and submit it as is. After all, all the core features were already there. Consciously pushing forward, I managed to solve my issues with d3.js and now I feel I have a much better understanding of how to use the library.

## What's next for Socialytics

There are so many more things that can be done to help others improve their most meaningful relationships. Social media, up until now, has been about saturation of people and information that isn't very helpful. The aim for Socialytics is to really dig into user's most important social relationships. Those 2, 5, or 10 friends that make all the difference in their lives. I have ideas for helping users meet with some important friends that they haven't talked to in a while. I can use Google Calendar to intelligently schedule lunches and meet ups between people. I can help users keep track of the things they talk about with their friends, so they won't forget when a big event is coming up. There is still so much potential to improve our social relationships with technology.
## Inspiration

When we thought about tackling the pandemic, it was clear to us that we'd have to **think outside the box**. The concept of a hardware device to enforce social distancing quickly came to mind, and thus we decided to create the SDE device.

## What it does

We utilized an ultra-sonic sensor to detect bodies within 2m of the user, and relay that data to the Arduino. If we detect a body within 2m, the buzzer and speaker go off, and a display notifies others that they are not obeying social distancing procedures and should relocate.

## How we built it

We started by creating a wiring diagram for the hardware internals using [Circuito](circuito.io). This also provided us some starter code including the libraries and tester code for the hardware components.
We then had part of the team start the assembly of the circuit and troubleshoot the components while the other focused on getting the CAD model of the casing designed for 3D printing.
Once this was all completed, we printed the device and tested it for any bugs in the system.

## Challenges we ran into

We initially wanted to make an Android partner application to log the incidence rate of individuals/objects within 2m via Bluetooth but quickly found this to be a challenge as the team was split geographically, and we did not have Bluetooth components to attach to our Arduino model. The development of the Android application also proved difficult, as no one on our team had experience developing Android applications in a Bluetooth environment.

## Accomplishments that we're proud of

Effectively troubleshooting the SDE device and getting a functional prototype finished.

## What we learned

Hardware debugging skills, how hard it is to make an Android app if you have no previous experience, and project management skills for distanced hardware projects.

## What's next for Social Distancing Enforcement (SDE)

Develop the Android application, add Bluetooth functionality, and decrease the size of the SDE device to a more usable size.