All of us love travelling to different places and meeting people who share similar ideas. But when you are new to a place or have even been there for a long time how do you know what the people around you are doing? Hence we thought of SPOTNDROP -a social networking site based on location. A user who is new to say Riverside could use our app and get chat feeds categorized based on interests. When you’re new to an area, you want to be able to rapidly connect with people in the area. Being able to create a virtual application where like minded people in an area can talk and interact with each other.
What It Does
SPOTNDROP is primarily a web application which connects people based on their location. On the web app, a user can see all posts from people within a certain radius of his or her location. If the user desires, he may drop (or post a message) to the feed of a specific location. Our app currently records the name and a text message as a post. However, we wanted to incorporate additional features like, using data sets to create population clouds where certain conversations could be categorized and let users from areas away from population clouds participate by entering the coordinates of the cloud. But due to lack of time we could not implement the features on to the application.
As a crucial differentiating feature, we incorporated the Pebble watch with the web app. Because people are constantly on the move, it becomes difficult for people to connect on a computer, and for this reason the Pebble brings convenience. Through the SPOTNDROP application, the Pebble is able to display all feeds within a location organized by time. When a new drop has been added to the feed, a notification will pop-up on the Pebble.
How I built it
SPOTNDROP consists of 3 unique and different parts; the server; the web client and the pebble client. The server acts as a middleware between the clients and the data.
The server is the main hub for all of the components of SPOTNDROP. The responsibilities of the server are to store data, receive new drops, and send drops within an area. The server is written in Go, and is hosted by IBM’s Bluemix technology. We are using a MYSQL database and the database is primarily being used to store drops. The server also handles websocket connections from the client and pebble to send and receive updates; the server also handles GET requests from clients for retrieving drops within a specified radius of coordinates. The GET request returns a JSON array of drops given a longitude, latitude, and a radius in kilometers.
The third and final component of SPOTNDROP is the web client. The web client allows users to submit drops via a websocket connection, to view preexisting drops via a JSON GET request (the same api call that the pebble uses for its data). The client also features a google map that displays the current GPS position of the user, and displays “pins” for nearby drops. The client also features a “data” option that enables the user to display important social media data. Currently this data analysis uses machine learning to keep track of “happy” and “sad” posts.
In a project like this you end up running into roadblocks. Finding and creating a connection an online database took us some time. Learning JQuery for pebble was also slightly difficult. But are main challenge was structuring and delivering our data.
What's next for SPOTNDROP
SPOTNDROP has huge potential. The best thing of such a project is that a product like this has not been launched into the market yet.The UI has to be improved, and we want to automate the categorization of data based on population clouds using machine learning. Thus guaranteeing a manageable amount of categories and not leaving creation of categories to the users. We want to also integrate a voice to text api into our app. As Robert Frost famously said” We have miles to go before we sleep and miles to go before we sleep.”