ReMap is a mobile-first location memory app that transforms your experiences into an interactive, personal atlas while letting you discover authentic stories from others.
ReMap is essentially a spatial storytelling platform where geography becomes the organizing principle for memories. Instead of scrolling through chronological feeds or searching through folders, you navigate experiences the way you actually lived them - by place.
Think of it as "Instagram meets Google Maps meets personal diary" - but stripped of the performative social media aspects. The app combines your phone's GPS and camera to create geotagged memory entries (photos, videos, text, audio, mood tags) that appear as pins on an interactive map.
The key differentiator is the authenticity-first approach. By removing likes, ratings, and follower counts, ReMap shifts focus from social validation to genuine memory preservation, selective sharing, and meaningful discovery. It's designed for authentic connections rather than broad social influence.
- Use your phone's location to pin memories exactly where they happened
- Capture moments with photos, text, or voice notes attached to specific coordinates
- Build a personal atlas of your life experiences over time
- Explore others' authentic experiences at locations you're visiting or planning to visit
- Search for stories and memories tied to specific places
- Discover genuine, place-based content from real people
Users can keep their memory maps completely private, share with intimate social circles, or make select pins public. The result is a more intentional, less cluttered way to document and rediscover life experiences through the lens of place while contributing to a community-driven map of authentic local stories.
- Frontend: React Native with Expo Router
- Backend: Express.js with Node.js
- Database: PostgreSQL (with future Supabase integration)
- Infrastructure: Docker & Docker Compose
- Location Services: Expo Location API
- Development: TypeScript, ESLint, Health Monitoring
- Docker Desktop installed and running
- Git for version control
- Mobile device with Expo Go app
macOS/Linux:
./start-dev.sh
Windows:
start-dev.bat
Manual IP Configuration (if auto-detection fails):
./start-dev.sh 192.168.1.22 # Replace with your IP
That's it! The script will:
- π Auto-detect your network IP address
- π³ Build and start Docker containers
- π¦ Install all dependencies
- π Launch the Expo development server
- π± Display QR code for mobile testing
Once running, you'll have access to:
- Mobile App: Scan QR code with Expo Go
- Backend API:
http://your-ip:3000
- Health Monitor: Built-in system diagnostics
- Web Interface:
http://localhost:8081
The app includes professional-grade health monitoring that verifies:
- β Backend API connectivity
- β Database integration
- β Location services functionality
- β Device compatibility
- β Network configuration
- Cross-platform IP detection (Windows, macOS, Linux)
- Zero-configuration mobile device connectivity
- Automatic container orchestration
- Environment-specific optimizations
- Real-time location tracking and mapping
- GPS-based memory creation interface
- Location-based memory discovery
- Comprehensive mobile debugging tools
ReMap/
βββ backend/
β βββ src/
β β βββ server.js # Express.js API server
β βββ package.json # Backend dependencies
β βββ Dockerfile # Backend container config
βββ frontend/
β βββ app/
β β βββ (tabs)/
β β β βββ index.tsx # Memory map interface
β β β βββ health.tsx # System health monitor
β β β βββ explore.tsx # Memory discovery
β β β βββ profile.tsx # User profile
β β βββ services/
β β βββ health.ts # Backend integration service
β βββ components/ # Reusable UI components
β βββ constants/ # App configuration
β βββ package.json # Frontend dependencies
β βββ dev-start.sh # Development startup script
β βββ app.json # Expo configuration
βββ docker-compose.yml # Container orchestration
βββ start-dev.sh # Cross-platform startup script
βββ start-dev.bat # Windows startup script
βββ README.md # This file
If you prefer manual setup or need to troubleshoot:
# Clone the repository
git clone [repository-url]
cd ReMap
# Copy environment configuration
cp .env.example .env
# Build and start containers
docker-compose up -d
# Verify services are healthy
docker-compose ps
cd frontend
# Install dependencies
npm install
# Get your network IP
# Windows: ipconfig
# macOS/Linux: ifconfig
# Start Expo with your IP
export REACT_NATIVE_PACKAGER_HOSTNAME=192.168.1.22
npm start
The built-in health monitor provides real-time system diagnostics:
- Navigate to the "Health" tab in the mobile app
- View comprehensive system status
- Test backend connectivity
- Verify location services
- Check device compatibility
The main interface demonstrates core ReMap functionality:
- Location-based memory creation
- GPS coordinate tracking
- Memory discovery and exploration
- Backend API integration
Backend endpoints are available at:
GET /health
- System health checkGET /api
- API informationGET /api/memories
- Memory data (placeholder)
The development environment automatically handles network configuration across different platforms:
- Windows: Uses
ipconfig
and PowerShell methods - macOS: Uses
ifconfig
with network interface detection - Linux: Uses
ip route
and hostname resolution - WSL: Special handling for Windows Subsystem for Linux
- Containers expose ports for Expo development server
- Automatic hostname resolution for mobile devices
- Cross-platform QR code generation for easy device pairing
- Backend Container: Node.js/Express.js API server
- Database Container: PostgreSQL with health checks
- Shared Volumes: Code synchronization and dependency caching
- Consistent environment across team members
- Automatic dependency management
- Zero-configuration database setup
- Professional container orchestration
Mobile device can't connect:
- Ensure your device and computer are on the same network
- Check if your firewall is blocking ports 3000, 8081, 19000-19002
- Try running with explicit IP:
./start-dev.sh YOUR_IP_ADDRESS
Docker containers 85E6 won't start:
- Verify Docker Desktop is running
- Check for port conflicts:
docker ps
andnetstat -an
- Try rebuilding:
docker-compose down && docker-compose up --build
Backend health check fails:
- Check container logs:
docker logs remap-container
- Verify database connectivity:
docker logs remap-postgres
- Test direct API access:
curl http://localhost:3000/health
- Check the health monitor in the mobile app
- Review container logs:
docker-compose logs
- Verify network connectivity with provided diagnostic tools
- Use the built-in troubleshooting features
- Complete containerized development environment
- Cross-platform automatic network detection
- Comprehensive health monitoring system
- Location services integration
- Backend API with database connectivity
- Mobile-first user interface
- Professional development workflow
- Interactive memory map implementation
- Photo/video capture integration
- User authentication system
- Social sharing features
- Supabase integration for production database
- Advanced memory filtering and search
- Offline memory synchronization
- Enhanced privacy controls
- Community discovery algorithms
This project is licensed under the ISC License - see the package.json files for details.
We welcome contributions! Our development environment is designed for easy onboarding:
- Fork the repository
- Run the setup script:
./start-dev.sh
- Make your changes: All changes sync automatically
- Test on mobile: Use the health monitor to verify functionality
- Submit a pull request: Include screenshots of mobile testing
The zero-configuration development environment means you can start contributing immediately without complex setup procedures.
- Install Expo Go on your iOS or Android device
- Run our startup script on your development machine
- Scan the QR code that appears in your terminal
- Test ReMap features including location services and backend connectivity
The app includes comprehensive debugging information and health monitoring to help you understand how all the pieces work together.
Ready to start building your interactive memory atlas? Run ./start-dev.sh
and let's go! πΊοΈ