Inspiration
I was travelling in Europe early this year for my university exchange semester, and as I travelled, I saw many landmarks like monuments, churches, statues. Each time, I wish I could just directly point to it and ask about it. AI makes information retrieval super easy, so my idea was to build an AI app that integrates location and heading information seamlessly with AI information retrieval capabilities to give users the fastest way to learn about what they see.
What it does
It aims to be a quick way to learn more about a landmark you're in front of, just by pointing your phone to the front and tapping a button. Without Scout, I would have needed to open a maps app, zoomed in on my position to find the pin for the landmark, copied the name into google or an AI app, to learn about it. This gap between being curious and finding out information is big enough to deter many people from actually learning more about what they see. Scout aims to bridge that gap, by making it easy for you to learn about a landmark, intuitively and instantly.
Scout also acts as a travel log, as it automatically keeps track of the places and countries you have been to.
There is a feature called "Relive Photos". Sometimes we may be travelling and do not have time in the moment to read up about a certain landmark. We do however take photos. The "Relive Photo" feature aims to place you back in the spot where you took the photo, and use the directional metadata of the photo to help you identify notable landmarks around the spot you took that photo. You can then ask about the landmarks as you would as if you were back at that spot.
Lastly, there is also a social aspect of app, where you can add your personal mark to a landmark you've been to, by adding a custom emoji of your choice.
How we built it
I built it with SwiftUI. I used Golang for the backend, and Docker to containerise the app, redis and db, to make upgrading the app much easier for future deployments. For state management, I'm using Redis to cache the queries for certain landmarks and find food queries. The redis is also used to rate limit the queries to my LLM endpoint. I am using Postgres for the database that stores the emojis left at each landmark.
Challenges we ran into
Tuning the animation in the app to be just right took a lot of time and experimentation. Setting up Docker and using docker compose was tough, as its my first time using Docker in a production app.
Accomplishments that we're proud of
I love the intuitive nature of the home screen UI, which shows landmarks scrolling past the top as you turn your phone, just like a radar viewfinder. It took a lot of math to get this tuned in.
What we learned
Learnt a lot about how to set up subscriptions in app store and RevenueCat, and adding non subscription items. Learnt about how to verify entitlements of a user by using RevenueCat as the source of truth, for both my client and backend. Learnt a lot about integrating middleware layers to a backend Learnt about text streaming from backend to iOS client Learnt about prompting LLMs better by giving them example sentences and scoping the prompt better.
What's next for Scout: AI Travel Guide
- Perplexity API is offering beta access for images and suggested questions. This can really improve the learning aspect of Scout and enrich the content that Scout serves.
- Much better personalisation. Users should be able to indicate what kinds of information they are more interested in, since there's so much to talk about for any given landmark. Imagine if architects can learn more about a building's architecture considerations, while a history buff will learn more about its history.
- Adding widgets to the iOS app so it will be even easier to access Scout from your lock screen.
Log in or sign up for Devpost to join the conversation.