Project for Hack at Brown 2023.
If you've ever been to a restaurant or public establishment of any sort, you might know how hard it is to have your questions answered before actually going to that place. How's the food? How clean is the place? How friendly are the staff? All of these things are good to know beforehand, but searching through Yelp, Google, and other websites for reviews can be a pain especially when you're looking to get something specific answered.
Inspired by Calcifer from Howl's Moving Castle who is the de facto "travel director" of the castle, Calcifer.ai makes travelling to establishments easy by scraping the internet for existing knowledge of any establishment that you're thinking of visiting and answers any questions you might have about the place without your having to leave the comfort of your couch. You can search up places nearby (or far, but it will prioritize places nearby), and look at details, or ask Calcifer some questions!
We used natural language processing in combination with a number of different APIs and webscraping tools.
Run pip install -r requirements.txt
in the backend folder to install the requirements. In the backend folder, five files are needed:
password.txt
, containing a password for authentication.openai-key.txt
, containing your GPT-3 API keyoutscaper-api-key.txt
, containing your API key for Outscraperplaces-key.txt
, containing your API key for the Google Places APIsecret.txt
, containing a secret for Flask to use
In the frontend, make a file in the lib
folder called secret.dart
, with the following contents:
const GOOGLE_PLACES_API_KEY = "<YOUR GOOGLE PLACES API KEY>";
const FLASK_PASSWORD = "<YOUR PASSWORD FROM password.txt>";
Also, in utilities/network.dart
on the frontend, replace every instance of http://cs300.eastus2.cloudapp.azure.com:25565
with the URL for the backend.
Then simply run the Flask backend, compile the Flutter frontend, and have fun!