Inspiration
Like everybody else, I've used Google Maps a thousand times to find places of interest. However, a lot of the places they recommend are far away, or I don't understand how they're relevant to what I'm interested in. I wanted to make a product that recommends things to do within walking distance based on what I've enjoyed in the past.
What it does
Exploria is a mobile app that takes the user's current location, the user's past interests and liked places, uses artificial intelligence to find the places nearby that are most relevant to what the user is looking for in the moment, and what they've been interested in, in the past. Then, the user is able to communicate with a large language model in plain English to ask it more about what it recommended.
How we built it
I used React Native for my frontend, Express.js for my backend and Redis for my database. I used Auth0 for login and Expo to test my app on a real device.
Challenges we ran into
It was very difficult to work with Auth0, and as I'm writing this, I'm still not sure if it'll be reliable enough to use in the demo.
Accomplishments that we're proud of
Security! I was initially concerned that if the database had a series of usernames and a list of places they've been, it could be used by bad actors to find those users, if the database were breached. However, I decided to encrypt the usernames so that it is much more difficult to link real-life people with locations stored on the database.
What we learned
I had never worked with Redis before, and while what I implemented was a small piece of its full capabilities, I'm excited to learn more!
What's next for Exploria
Streamline the user experience! There's currently a lot of different input methods on the UI and I would prefer to have one or two maximum. I also would like to fully implement a middleware that tells the user's intent and is able to dispatch operations to APIs if it determines that the job is better done by a deterministic algorithm. For example, if the user asked how to get directions to a location, the middleware would pull data from Google Maps, feed it into the LLM and output accurate directions to where the user wants to go.
Log in or sign up for Devpost to join the conversation.