Inspiration

Navigating the University of Bath campus is harder than it should be. Its dense, multi-level layout and complex building interiors make finding specific rooms frustrating—especially for new students. Existing tools stop at the building level. BathNav was built to close that gap by guiding users all the way to the exact room.

What it does

BathNav is a mobile navigation app that delivers end-to-end directions across campus, from outdoor paths to indoor rooms.

  • Interactive 3D campus map
  • Indoor + outdoor navigation in a single flow
  • Smart search (exact matches, acronyms, partial queries)
  • Route generation from current location to specific rooms

The key difference: navigation doesn’t stop at the entrance, it continues inside buildings.

How we built it

  • Frontend: React Native
  • Maps & rendering: Mapbox (3D visualisation)
  • Routing: Graph-based system using Dijkstra’s algorithm

Indoor navigation was created by converting official university floor plans into GeoJSON. These were manually traced, scaled, and aligned with real-world coordinates, then rendered as layered 3D interiors.

We also built a supporting web tool to fill gaps in public data and manually refine map accuracy.

Challenges we ran into

  • Indoor + outdoor integration: Seamlessly connecting two fundamentally different navigation systems
  • Data limitations: Public datasets were incomplete, requiring manual reconstruction
  • Spatial accuracy: Aligning floor plans precisely with real-world coordinates
  • Time constraints: Building a fully working system within a hackathon timeframe

Accomplishments that we're proud of

  • Fully functional end-to-end navigation (outdoor → indoor → room)
  • Working routing system across a unified campus graph
  • Detailed 3D interiors for key buildings (Chancellor’s, 1W, 3W)
  • Clean, usable interface built under tight time constraints

This is not a prototype, it’s a working system with real navigation capability.

What's next for BathNav

  • Expand indoor coverage to more campus buildings
  • Add accessibility-aware routes
  • Enhance search with timetables and room usage data
  • Continue refining the 3D map and performance

BathNav is built on a solid foundation and solves a real problem. With more time and data, it can become a daily-use tool for every student on campus.

Built With

  • asyncstorage
  • custom-graph-data-structures
  • dijkstra?s-algorithm
  • expo-blur
  • expo-haptics
  • expo-location
  • expo-sdk
  • expo-sensors
  • geojson
  • haversine-formula
  • javascript-(es6+)
  • mapbox-gl-native-(@rnmapbox/maps)
  • openstreetmap-(osm)
  • overpass
  • react-native
Share this project:

Updates