Swipe, Eat, Repeat
Technology is a tool. It should make our lives simpler and easier. It is not about the amount of information but stripping information away and providing us with the information we need for the moment at hand.
Tinder did this with dating. It stripped the decision point down. Instead of sorting through profiles and clicking through individual profiles, a user is presented with one bit of information, a photo, and the point of decision is stripped down to a purely carnal feeling. After that decision is made, more information can be presented and gathered through a profile.
FoodSwiper takes the question, “What do I want to eat?” and strips the decision point for a user down to a carnal point, “Does this look yummy?” Users are given photos of restaurants to swipe and only after finding something that sparks their interest, they simply swipe right and are given a restaurant profile.
With FoodSwiper, you can explore the food in your neighborhood, city, or anywhere in the world. It is a process of discovery and a low barrier treasure hunt. Swipe all the restaurants in your city and see what is waiting to be eaten in your neighborhood.
Future versions will have user generated photos and restaurants will be able to build and manage their own profiles. Users will be able to swipe all over the world and have the restaurants they like saved in their profile. Make friends on the app and see where your friends are eating or want to eat. Connect your network together and share a meal with a friend. No more guessing where everyone wants to eat.
FoodSwiper is built on Ruby and currently uses the Yelp API to give over a thousand search results in hundreds of cities. Learning how to use an API and more specifically, handle calls using API keys and headers was a challenge for me. Luckily, the Yelp API is well documented and a lot of reading lead to the solution. I am glad to have chosen this API to work with as it is well developed but also the structure of making the calls appears to be similar to other well established APIs.
require "json"require "http"require "optparse"API_HOST = "https://api.yelp.com"SEARCH_PATH = "/v3/businesses/search"BUSINESS_PATH = "/v3/businesses/"SEARCH_LIMIT = 50API_KEY = class YelpApiAdapterdef self.search(location, categories = "restaurants", offset = 1)url = "#{API_HOST}#{SEARCH_PATH}"params = {term: "food",categories: categories,location: location,limit: SEARCH_LIMIT,offset: offset}response = HTTP.auth("Bearer #{API_KEY}").get(url, params: params)response.parse["businesses"]enddef self.business_reviews(business_id)url = "#{API_HOST}#{BUSINESS_PATH}#{business_id}/reviews"response = HTTP.auth("Bearer #{API_KEY}").get(url)response.parse# response.parse["reviews"]end
def self.business(business_id)url = "#{API_HOST}#{BUSINESS_PATH}#{business_id}"response = HTTP.auth("Bearer #{API_KEY}").get(url)response.parseendend
Check out a demo of FoodSwiper on youtube and try it yourself https://github.com/jratana1/foodie on github.