Back to Blog

Exploring the Mappedin SDK for Indoor Navigation

Jere on August 25, 2025
3 min read
mappedin
indoor-navigation
indexeddb
supabase
museums

Indoor navigation is a fascinating challenge that combines mapping technology, user experience design, and real-world spatial understanding. My Museum Collector project explores this space using the Mappedin SDK.

What is Mappedin?

Mappedin is a platform that specializes in indoor mapping and navigation. Unlike outdoor GPS which works great in open spaces, indoor environments need specialized solutions that can handle:

  • Multi-floor buildings
  • Complex room layouts
  • Real-time position tracking
  • Interactive wayfinding

The Museum Use Case

Museums present unique navigation challenges:

  • Large, complex layouts
  • Visitors want to track their journey
  • Educational content tied to locations
  • Need for data collection and analysis

Technical Architecture

Core Technologies

The Museum Collector uses several key technologies:

// Mappedin SDK integration
import { MappedinMap } from '@mappedin/react-sdk'
import { createMappedinClient } from '@mappedin/mappedin-js'

Data Storage Strategy

I implemented a hybrid storage approach:

  1. IndexedDB for local data persistence
  2. Supabase for cloud sync and analytics
// IndexedDB stores
export const STORE_NAME = 'positions'
export const FLOOR_STORE = 'floorChanges'  
export const SESSION_STORE = 'session'
export const PIN_STORE = 'pins'

Position Tracking

The app tracks user positions and floor changes:

export async function storePosition(db: IDBDatabase, position: GeolocationPosition) {
  const transaction = db.transaction([STORE_NAME], 'readwrite')
  const store = transaction.objectStore(STORE_NAME)
  const record = {
    timestamp: Date.now(),
    coords: {
      latitude: position.coords.latitude,
      longitude: position.coords.longitude,
      accuracy: position.coords.accuracy,
      // ... other coordinates
    }
  }
  store.add(record)
}

Key Features Implemented

1. Session Management

Each visit creates a unique session for tracking the user's journey through the museum.

2. Floor Change Detection

Track when users move between floors, crucial for multi-level museums.

3. Pin Dropping

Users can drop pins at interesting locations with notes and descriptions.

4. Data Export

All collected data can be exported as JSON or synced to Supabase for analysis.

5. File Upload

Users can attach photos and documents to specific locations.

Challenges and Solutions

Browser Geolocation Limitations

Indoor positioning with browser APIs is limited. The app combines:

  • Device GPS when available
  • Manual position confirmation
  • Floor-specific coordinate mapping

Data Persistence

Museums often have poor connectivity. The IndexedDB + Supabase approach ensures:

  • Offline functionality
  • Automatic sync when connected
  • No data loss

User Experience

Making indoor navigation intuitive required:

  • Clear visual indicators
  • Responsive map interactions
  • Accessible controls for all users

Real-World Applications

This system could be adapted for:

  • Museums - Visitor journey tracking and engagement
  • Hospitals - Patient and staff navigation
  • Shopping Centers - Customer behavior analytics
  • Corporate Offices - Employee space utilization
  • Universities - Campus navigation for students

Performance Considerations

Map Loading

Indoor maps can be large. The app implements:

  • Progressive loading
  • Efficient caching strategies
  • Responsive image handling

Data Management

With continuous position tracking, data can grow quickly:

  • Intelligent sampling rates
  • Automatic cleanup of old sessions
  • Efficient storage schemas

Future Enhancements

Potential improvements include:

  • Real-time collaborative features
  • Advanced analytics dashboard
  • Integration with museum content management
  • Augmented reality overlays
  • Voice-guided navigation

Technical Learnings

Working with the Mappedin SDK taught me:

  • Indoor coordinate systems differ significantly from outdoor GPS
  • User privacy is crucial when tracking positions
  • Offline-first design is essential for real-world applications
  • Good UX in navigation apps requires extensive testing in actual spaces

Try It Yourself

You can explore the Museum Collector and see how indoor navigation feels in practice. The codebase demonstrates patterns for:

  • SDK integration
  • Local data storage
  • Cloud synchronization
  • User session management

The intersection of mapping technology, user experience, and data collection creates opportunities for innovative applications that help people navigate and understand complex indoor spaces.

Building this project reinforced how much potential there is in indoor navigation technology - we're still in the early days of what's possible!

Share Article