Made by Project Trail Tales
A community biased geo-posting app, to document and tag wildlife seen along a users journey through life
We came up with this idea through our shared enthusiasm of animals, exploration of nature, and wildlife watching, and we wanted a way to both capture and document the location of animals we found out in the wild, and make it fun and engaging for the user in a way that encourages healthy participation and contribution. For this project we have chosen to build a cross-platform mobile application using React Native with Expo. The goal of Trail tales is to create a community-driven platform where like minded nature enthusiasts, can track and share wildlife sightings from around the World . The app leverages geo-tagging and location-based features to enhance the user experience.
- As a user, I want to be able to create an account.
- As a user, I want to post a picture, location, and date.
- As a user, I want to be able to view community posts.
- As a user, I want to be able to add posts to my favourites.
- As a user, I want to be able to view my favourites.
- As a user, I want to get points for posts.
- As a user, I want to increase my rank through accumulation of points (10 ranks).
- As a user, I want to view a map of the country and be able to zoom in on post geo tags.
- As a user, I want to see a profile page with my own posts.
- Users should be able to delete posts.
- Users should be able to access the camera through the app.
- Users should be able to use AI to identify the animal in a picture.
- Users should be able to use phone location for geo-tagging.
- All users are ranked on a scoreboard.
- As a user, I want to be able to filter posts by location.
The Team
Tech Stack

We used: React Native, VS Code, Expo, Expo Go, PostgreSQL, PostGIS, TypeScript, Supabase, jest, Express, geohash, PG, PG-format, Android, geolib, Axios We are using React Native for building the mobile app, leveraging the Expo framework to streamline the development and testing process. Expo provides useful out-of-the-box components and development tools that accelerated our workflow. Furthermore we wrote our Front end in Typescript, to help us identify and catch bugs in the code during the build process For the backend, we have opted to use Supabase as our backend-as-a-service (BaaS), which provides a real-time database, and storage services. The backend is built on a PostgreSQL database.
Challenges Faced
Storage of Photos proved initially difficult as we could not find a method of transferring them reliably to our back end, that worked with Expo Go. Further more, integrating geolocation in the backend proved more difficult than we initially anticipated. Specifically, we needed to ensure the geo-tagging functionality that works seamlessly across devices while making sure location data is stored and queried correctly on the server side. We addressed this by deploying our backend early for testing, allowing us to validate the geo-location data flow between the front and back end. The app tracks user location in real-time using the device’s GPS functionality. The geo-tagging feature stores the user’s location coordinates (latitude/longitude) along with the post. This information is then used to populate the map view on the front end.