## Inspiration

\_ "According to Portio Research, the world will send 8.3 trillion SMS messages this year alone – 23 billion per day or almost 16 million per minute. According to Statistic Brain, the number of SMS messages sent monthly increased by more than 7,700% over the last decade" \_

The inspiration for TextNet came from the crazy mobile internet data rates in Canada and throughout North America. The idea was to provide anyone with an SMS enabled device to access the internet!

## What it does

TextNet exposes the following internet primitives through basic SMS:

1. Business and restaurant recommendations
2. Language translation
3. Directions between locations by bike/walking/transit/driving
4. Image content recognition
5. Search queries.
6. News update

TextNet can be used by anyone with an SMS enabled mobile device. Are you \_ roaming \_ in a country without access to internet on your device? Are you tired of paying the steep mobile data prices? Are you living in an area with poor or no data connection? Have you gone over your monthly data allowance? TextNet is for you!

## How we built it

TextNet is built using the Stdlib API with node.js and a number of third party APIs. The Stdlib endpoints connect with Twilio's SMS messaging service, allowing two way SMS communication with any mobile device. When a user sends an SMS message to our TextNet number, their request is matched with the most relevant internet primitive supported, parsed for important details, and then routed to an API. These API's include Google Cloud Vision, Yelp Business Search, Google Translate, Google Directions, and Wolfram Alpha. Once data is received from the appropriate API, the data is formatted and sent back to the user over SMS. This data flow provides a form of text-only internet access to offline devices.

## Challenges we ran into

Challenge #1 - We arrived at HackPrinceton at 1am Saturday morning.
Challenge #2 - Stable SMS data flow between multiple mobile phones and internet API endpoints.
Challenge #3 - Google .json credential files working with our Stdlib environment
Challenge #4 - Sleep deprivation ft. car and desks
Challenge #5 - Stdlib error logging

## Accomplishments that we're proud of

We managed to build a basic offline portal to the internet in a weekend. TextNet has real world applications and is built with exciting technology. We integrated an image content recognition machine learning algorithm which given an image over SMS, will return a description of the contents! Using the Yelp Business Search API, we built a recommendation service that can find all of the best Starbucks near you!

Two of our planned team members from Queen's University couldn't make it to the hackathon, yet we still managed to complete our project and we are very proud of the results (only two of us) :)

## What we learned

We learned how to use Stdlib to build a server-less API platform. We learned how to interface SMS with the internet. We learned *all* about async / await and modern Javascript practices. We learned about recommendation, translate, maps, search queries, and image content analysis APIs.

## What's next for TextNet

Finish integrate of P2P payment using stripe

## What's next for HackPrinceton

HackPrinceton was awesome! Next year, it would be great if the team could arrange better sleeping accommodations. The therapy dogs were amazing. Thanks for the experience!
## Inspiration

In large corporations, such as RBC, the help desk gets called hundreds phone calls every hour, lasting about 8 minutes on average and costing the company $15 per hour. We thought this was both a massive waste of time and resources, not to mention it being quite ineffective and inefficient. We wanted to create a product that accelerated the efficiency of a help-desk to optimize productivity. We designed a product that has the ability to wrap a custom business model and a help service together in an accessible SMS link. This is a novel innovation that is heavily needed in today's businesses.

## What it does

SMS Assist offers the ability for a business to **automate their help-desk** using SMS messages. This allows requests to be answered both online and offline, an innovating accessibility perk that many companies need. Our system has no limit to concurrent users, unlike a live help-desk. It provides assistance for exactly what you need, and this is ensured by our IBM Watson model, which trains off client data and uses Machine Learning/NLU to interpret client responses to an extremely high degree of accuracy.

**Assist** also has the ability to recieve orders from customers if the businesses so chose. The order details and client information is all stored by the Node server, so that employees can view orders in realtime.

Finally, **Assist** utilizes text Sentiment Analysis to analyse each client's tone in their texts. It then sends a report to the console so that the company can receive feedback from customers automatically, and improve their systems.

## How we built it

We used Node.js, Twilio, and IBM watson to create SMS Assist.

**IBM Watson** was used to create the actual chatbots, and we trained it on user data in order to recognize the user's intent in their SMS messages. Through several data sets, we utilized Watson's machine learning and Natural Language & Sentiment analysis to make communication with Assist hyper efficient.

**Twilio** was used for the front end- connecting an SMS client with the server. Using our Twilio number, messages can be sent and received from any number globally!

**Node.js** was used to create the server on which SMS Assist runs on. Twilio first recieves data from a user, and sends it to the server. The server feeds it into our Watson chatbot, which then interprets the data and generates a formulated response. Finally, the response is relayed back to the server and into Twilio, where the user recieves the respons via SMS.

## Challenges we ran into

There were many bugs involving the Node.js server. Since we didn't have much initial experience with Node or the IBM API, we encountered many problems, such as the SessionID not being saved and the messages not being sent via Twilio. Through hours of hard work, we persevered and solved these problems, resulting in a perfected final product.

## Accomplishments that we're proud of

We are proud that we were able to learn the new API's in such a short time period. All of us were completely new to IBM Watson and Twilio, so we had to read lots of documentation to figure things out. Overall, we learned a new useful skill and put it to good use with this project. This idea has the potential to change the workflow of any business for the better.

## What we learned

We learned how to use the IBM Watson API and Twilio to connect SMS messages to a server. We also discovered that working with said API's is quite complex, as many ID's and Auth factors need to be perfectly matched for everything to execute.

## What's next for SMS Assist

With some more development and customization for actual businesses, SMS Assist has the capability to help thousands of companies with their automated order systems and help desk features. More features can also be added
## Inspiration

When Shayan and Alishan came from a different university to attend the deltahacks competition, the first thing that we tried to do was connect them to the wifi so we could get started on our hack, however they had issues connecting to the internet. They were also both over their data plans, so we couldn't hotspot. This catalyzed a thought process about all the times that we need an internet connection but aren't able to access it and we identified a widespread problem with people who need directions but are out of data, and so can't access the internet to find them out. Furthermore, the low income and homeless population may not have the luxury of a data plan, yet need a directions service. This is where Textination came in.

## What it does

Textination acts as a text chatbot that engages in an interactive conversation with the user to get them where they need to go, without the use of the internet. The user first texts Textination their current location and their desired destination, Textination then utilizes a cloud dataset, currently accessed through a google maps API, that finds the optimal route towards your destination and texts you back the directions that you take to get there.

## How we built it

Coded using python via Pythonanywhere. Implemented various API's such as Twilio, Googlemaps, Flask, and Geopy.

## Challenges we ran into

1. One challenge that we ran into is deciding on which language to use in order to manipulate API's. We ended up choosing python because of its ease of use with the data, and the ability to stack API's. Furthermore, It allows Textination to switch out of databases and API's easily which can give users the most up to date and greatest breadth of data
2. Only one of our teammates had substantial coding experience, the rest of us were business students with minimum programming experience. We worked around this by working towards our strengths and dividing up the work to maximize efficiency

## Accomplishments that we're proud of

* Managing to successfully run the flask server and Twilio API working, with no previous experience
* Stacking 4 API's with no previous stacking experience
* Performing a quality needs assessment and detailed research into relevant data; leveraging primary and secondary research sources

## What we learned

* How to successfully bind a server to an API
* How to successfully program a back-end web app
* Effective brainstorming for problems to social issues

# What's next for Textination - SMS Directions Chat Bot

* in the future, we want to use artificial intelligence and machine learning to identify areas that are travelled to more often by the most people, and optimize our program's webscraping for those areas to get information to the user faster
* We will also add transit directions and bus timings into Textination