Inspiration

There are many times in life where you just can't be sassy enough in your messages. That is why we created snap-chat. A program where the only way to enter a message, is to snap it.

What it does

As you snap into the microphone, you select different columns that contain letters. Then you snap a number of times again to select an individual letter. When you press the tweet button, your message is instantly tweeted to the @snapchathackpsu Twitter account, enclosed in hand clapping emojis for maximum sass. It also mentions @HackPSU.

How we built it

Windows Forms in C# using Visual Studio 2017. We used two libraries, NAudio to record and analyze the audio, as well as TwitterOAuth to be able to tweet to our Snap-chat Twitter account.

Challenges we ran into

We had a very hard time trying to find how to be able to analyze the data. Then once we had the data available, we didn't know what constituted a snap, necessarily. We settled on reading the data in as a stream and then looking for very sudden spikes over a certain Tolerance. Once it finds that, it then decides that a snap occurred and logs it.

We were extremely worried about background noise when demoing the project, but in all of our loud tests, the snaps prevailed.

Accomplishments that we're proud of

Reading and analyzing audio. This was an extremely difficult task. When we stumbled upon a method to read the audio into bytes and just read the bytes, it was a very exciting feeling. Around 4am it was consistently reading snaps and claps, with about a 90% success rate. Because we didn't use something like machine learning, there was no way to make it flawless.

What we learned

One member of our team is very new to development, and was an amazing help. He gave a lot of insight that would have otherwise been lost. We're extremely proud of this project because we've never done anything like this, but we were consistent and didn't give up at all. We learned how to use libraries to our advantage, interpret huge streams of data, utilize source control to our advantage, and organize code.

What's next for Snap-chat

We had a number of things that we called "Polish" that we really wanted to add to snap-chat. The tweeting feature is the only one out of 7 that we were able to implement in time, but we're very happy with that. We plan to continue this project after the hackathon and add these features:

  1. Special character input (such as exclamation marks).
  2. Emojis.
  3. Text-to-Snap (TTS) where it interprets text and plays back the snaps in the format you'd have to input them to the program.
  4. Real-Time analysis. As of right now, you are limited to how fast you can snap due to how we analyze the audio.
  5. Calibration. We would have liked the program to analyze background noise and account for this, making it more accurate.
  6. Audio Visualization of your snaps.

Built With

Share this project:

Updates