6e5fe90d29283ad249c3121d35bc3060e9bd6a7d
All checks were successful
pedestrian-simulator / build (push) Successful in 58s
Pedestrian Simulator - Google Street View Walking Simulator
A unique step visualization application that breathes life into your daily fitness data. Pedestrian Simulator syncs with your Fitbit account and "walks" you through Google Street View based on the actual steps you take.
🌍 The Concept
Pedestrian Simulator transforms your real-world progress into a virtual journey. Whether you're walking across town or across the globe, the application converts your Fitbit step count into distance and animates a path through Google Street View, providing a first-person perspective of your progress.
✨ Key Features
- 🚀 Real-Time Fitbit Syncing: Automatically fetches your latest step data from Fitbit using OAuth 2.0.
- 🚶 Smooth Walking Animation: High FPS (60+) animation transitions between Street View panoramas, creating a fluid walking experience.
- 🎥 Natural Camera Movement: Realistic head movement simulation with:
- Anchored direction-of-travel panning.
- Subtle pitch (up/down) variations.
- Gentle "breathing" motion when idle.
- 🗺️ Multiple View Modes: Cycle between Street View, Satellite, and Map modes for different perspectives of your route.
- 📂 Custom KML Support:
- Upload your own KML routes (e.g., from Google My Maps).
- Browse and download routes shared by others.
- Upvote and downvote public routes to highlight the best journeys.
- 💾 Persistent Progress: Your route progress, API keys, and settings are saved automatically.
- 📡 Live Status Bar: Real-time tracking of steps taken, distance covered, and time until the next data sync.
- 📍 Interactive Minimap: A dedicated, dark-themed minimap shows your exact position on the global route.
🛠️ Tech Stack
- Backend: Go (Golang)
- Custom Step Manager for logic and synchronization.
- Robust KML parser and shared route registry.
- Secure session management and Fitbit OAuth integration.
- Frontend: Vanilla JavaScript (ES6+)
- Modern CSS with dark mode and glassmorphism.
- Google Maps JavaScript API for Street View and mapping.
🚀 Getting Started
1. Prerequisites
- A Google Maps JavaScript API Key with:
- Maps JavaScript API
- Street View Static API
- Directions API
- A Fitbit Developer Account to create an application and obtain OAuth credentials.
2. Environment Variables
Set up your Fitbit OAuth credentials:
export FITBIT_CLIENT_ID="your_client_id"
export FITBIT_CLIENT_SECRET="your_client_secret"
3. Installation & Usage
-
Clone the repository:
git clone https://code.stevenpolley.net/steven/pedestrian-simulator.git cd pedestrian-simulator -
Run the server:
cd server go run . -
Launch the application: Open
http://localhost:8080in your browser. -
Configuration:
- Log in with your Fitbit account.
- Enter your Google Maps API Key when prompted.
- Enter a start and destination, or browse for a shared KML route to begin!
🎮 Controls & Hotkeys
Space: Manually trigger a step sync from Fitbit.M: Cycle through View Modes (Street View → Map → Satellite).D: "Drain" pending steps (instantly animate through all remaining steps).✎(Route Info): Click the route indicator in the header to reset your current trip and choose a new path.
📁 Project Structure
server/: Go backend handles API requests, authentication, and state management.frontend/: Vanilla JS application, styles, and assets.data/: Persistent storage for user sessions, route metadata, and uploaded KML files.
Go outside while staying inside. The future is now.
Description
Pedestrian Simulator is a unique step visualization app that simulates walking through Google Maps Street View based on your actual step count from fitbit. You can walk from and to anywhere you like in the world, or you can create, share and use public walking paths in street view.
Be outside while you are inside. The future is now!
Languages
JavaScript
45.8%
Go
31%
CSS
12.3%
HTML
10.8%
Dockerfile
0.1%