## Inspiration

With the advent of smartwatches, personal health data is one glance at your wrist away. With the rise of streaming, there are hundreds of playlists for every activity. Despite both of these innovations, people still waste *minutes* every day adjusting their music to their current activity. **Heartmonics** bridges this gap to save time and encourage healthy habits.

## What it does

Heartmonics tunes your music to your current fitness activity level. Our device reads your heart rate, then adjusts the mood of your music to suit resting, light exercise, and intense work-outs. This functionality helps to encourage exercise and keep users engaged and enjoying their workouts.

## How we built it

Our device is runs on a Raspberry Pi platform housed in an exercise armband. It reads heart rate data from a sensor connected via i2c and comfortably attached to the users forearm. A button integrated into the armband provides easy control of music like any other player, allowing the user to play, pause, skip, and rewind songs.

## Challenges we ran into

In building Heartmonics, we faced several challenges with integrating all the components of our design together. The heart rate sensor was found to be very sensitive and prone to giving inaccurate results, but by reading documentation and making careful adjustments, as well as reinforcing our hardware connections, we were able to get the sensor calibrated and working reliably. Integrating our solution with SpotifyAPI using the spotipi library also came with a set of integration challenges, compounded by our unfamiliarity with the platform. Despite all of these challenges, we persevered to produce a polished and functional prototype.

## Accomplishments that we're proud of

We are proud of the ease of use of our final design. Since the concept is designed as a time saver, we're glad it can deliver on everything we set out to do. We also went above and beyond our original goals, adding music control via a button, mood indication on an RGB LED, sensor and song information on an LCD display, and an elevated heart rate warning indicator. These features elevate Heartmonics and

## What we learned

We learned the importance of careful hardware selection, and reading documentation. We leveraged and reinforced our teamwork and planning abilities to quickly build a functioning prototype.

## What's next for Heartmonics

The functionality of Heartmonics could be integrated into a smartwatch app for a more elegant implementation of our concept. With wearable integration, users could employ our concept with potentially no additional cost, making Heartmonics widely accessible.
Another potential addition is to make configuring which songs play for each mode user-accessible, so everyone can tune their Heartmonics to the tune of their heart.
## Inspiration

As students who listen to music to help with our productivity, we wanted to not only create a music sharing application but also a website to allow others to discover new music, all through where they are located. We were inspired by Pokemon-Go but wanted to create a similar implementation with music for any user to listen to. Anywhere. Anytime.

## What it does

Meet Your Beat implements a live map where users are able to drop "beats" (a.k.a Spotify beacons). These beacons store a song on the map, allowing other users to click on the beacon and listen to the song. Using location data, users will be able to see other beacons posted around them that were created by others and have the ability to "tune into" the beacon by listening to the song stationed there. Multiple users can listen to the same beacon to simulate a "silent disco" as well.

## How I built it

We first customized the Google Map API to be hosted on our website, as well as fetch the Spotify data for a beacon when a user places their beat. We then designed the website and began implementing the SQL database to hold the user data.

## Challenges I ran into

* Having limited experience with Javascript and API usage
* Hosting our domain through Google Cloud, which we were unaccustomed to

## Accomplishments that I'm proud of

Our team is very proud of our ability to merge various elements for our website, such as the SQL database hosting the Spotify data for other users to access on the website. As well, we are proud of the fact that we learned so many new skills and languages to implement the API's and database

## What I learned

We learned a variety of new skills and languages to help us gather the data to implement the website. Despite numerous challenges, all of us took away something new, such as web development, database querying, and API implementation

## What's next for Meet Your Beat

* static beacons to have permanent stations at more notable landmarks. These static beacons could have songs with the highest ratings.
* share beacons with friends
* AR implementation
* mobile app implementation
## Inspiration

We really are passionate about hardware, however many hackers in the community, especially those studying software-focused degrees, miss out on the experience of working on projects involving hardware and experience in vertical integration.
To remedy this, we came up with modware. Modware provides the toolkit for software-focused developers to branch out into hardware and/or to add some verticality to their current software stack with easy to integrate hardware interactions and displays.

## What it does

The modware toolkit is a baseboard that interfaces with different common hardware modules through magnetic power and data connection lines as they are placed onto the baseboard.
Once modules are placed on the board and are detected, the user then has three options with the modules: to create a "wired" connection between an input type module (LCD Screen) and an output type module (knob), to push a POST request to any user-provided URL, or to request a GET request to pull information from any user-provided URL.
These three functionalities together allow a software-focused developer to create their own hardware interactions without ever touching the tedious aspects of hardware (easy hardware prototyping), to use different modules to interact with software applications they have already built (easy hardware interface prototyping), and to use different modules to create a physical representation of events/data from software applications they have already built (easy hardware interface prototyping).

## How we built it

Modware is a very large project with a very big stack: ranging from a fullstack web application with a server and database, to a desktop application performing graph traversal optimization algorithms, all the way down to sending I2C signals and reading analog voltage.
We had to handle the communication protocols between all the levels of modware very carefully. One of the interesting points of communication is using neodymium magnets to conduct power and data for all of the modules to a central microcontroller. Location data is also kept track of as well using a 9-stage voltage divider, a series circuit going through all 9 locations on the modware baseboard.
All of the data gathered at the central microcontroller is then sent to a local database over wifi to be accessed by the desktop application. Here the desktop application uses case analysis to solve the NP-hard problem of creating optimal wire connections, with proper geometry and distance rendering, as new connections are created, destroyed, and modified by the user. The desktop application also handles all of the API communications logic.
The local database is also synced with a database up in the cloud on Heroku, which uses the gathered information to wrap up APIs in order for the modware hardware to be able to communicate with any software that a user may write both in providing data as well as receiving data.

## Challenges we ran into

The neodymium magnets that we used were plated in nickel, a highly conductive material. However magnets will lose their magnetism when exposed to high heat and neodymium magnets are no different. So we had to extremely careful to solder everything correctly on the first try as to not waste the magnetism in our magnets. These magnets also proved very difficult to actually get a solid data and power and voltage reader electricity across due to minute differences in laser cut holes, glue residues, etc. We had to make both hardware and software changes to make sure that the connections behaved ideally.

## Accomplishments that we're proud of

We are proud that we were able to build and integrate such a huge end-to-end project. We also ended up with a fairly robust magnetic interface system by the end of the project, allowing for single or double sized modules of both input and output types to easily interact with the central microcontroller.

## What's next for ModWare

More modules!