A web app that acts as your personal walking tour guide. As you walk around, it uses your location to discover nearby Wikipedia articles and reads them out loud using text-to-speech.
- Automatic narration: Starts reading the nearest article immediately after finding your location
- Sequential playback: Automatically advances to the next nearest article when finished
- Smart location monitoring: Continuously checks your position every 30 seconds
- Dynamic switching: Switches to a significantly nearer article (>100m closer) when you move
- Seamless experience: Completely hands-off experience designed for walking tours
- Keyboard navigation: Use arrow keys to navigate between articles
- Click to play: Tap any article card to immediately start reading it
- Stop/Resume: Full control to pause and resume narration
- 📍 Geolocation: Automatically detects your current location with continuous monitoring
- 🌐 Wikipedia Integration: Finds nearby places and landmarks within 10km using Wikipedia's geosearch API
- 🔊 Text-to-Speech: Reads Wikipedia article content out loud using the Web Speech API
- 📱 Mobile-Friendly: Responsive design that works great on phones and tablets
- 🎨 Modern UI: Beautiful gradient design with smooth animations
- Node.js 24+ and npm
# Install dependencies
npm install
# Start development server with hot reload
npm run serve
# Build for production
npm run buildRequires a modern browser with support for:
- Geolocation API with watchPosition
- Fetch API
- Web Speech API (for text-to-speech)
- ES6+ JavaScript features
- Your location is used only to find nearby articles and is not stored or transmitted anywhere except to Wikipedia's public API
- All processing happens in your browser
- No tracking or analytics
- Location monitoring can be stopped at any time
- Build System: Webpack 5
- Languages: HTML5, CSS3, ES6+ JavaScript
- APIs:
- Wikipedia geosearch and extracts API
- Browser Geolocation API (watchPosition)
- Web Speech API (SpeechSynthesis)
- CI/CD: GitHub Actions with automated deployment to GitHub Pages
- Dependency Management: npm with Dependabot for automated updates
The project uses modern build tools:
- Webpack: Module bundling with code splitting and minification
- GitHub Actions: Automated builds and deployments
- Dependabot: Automated dependency updates for npm and GitHub Actions
See LICENSE file for details.