Skip to content

JakubAnderwald/routista

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

175 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Routista 🏃‍♂️🎨

Quality Gate Status

Turn any shape into a real-world GPS route! Routista is a fun, free tool for runners, cyclists, and explorers who want to create GPS art or just spice up their training.

Features ✨

  • Shape-to-Route Magic: Upload an image (logo, symbol) or draw shapes manually on an SVG canvas. Routista finds the best matching roads.
  • Ready-to-use Shapes: Start instantly with built-in examples like a star, heart, lightning bolt, and more.
  • Interactive Mapping: Powered by Leaflet, select any location in the world to generate your route.
  • GPX Export: Download your generated route as a GPX file compatible with Strava, Garmin, and other fitness apps.
  • Strava Integration: Push routes directly to Strava with one click - no GPX download needed.
  • Install as App: Progressive Web App (PWA) support - install Routista on your mobile device for an app-like experience.
  • Privacy Focused: All processing happens in your browser (client-side) or securely.
  • Completely Free: No paywalls or subscriptions. Supported by coffee! ☕

Privacy & Analytics 🔒

Routista respects your privacy:

  • Images stay on your device: Shape extraction happens entirely in your browser. Your images are never uploaded to any server.
  • Anonymous analytics: We use PostHog to collect anonymous usage data (page views, feature usage) to improve the app. No personal data is collected.
  • No tracking on localhost: Analytics are disabled during development.
  • EU-hosted: Analytics data is stored in PostHog's EU region for GDPR compliance.

📚 For Developers & AI Agents

🚨 START HERE before working on this codebase:

  1. Read docs/technical/CONTEXT_MAP.md - Maps all concepts to their source files
  2. Check docs/technical/ARCHITECTURE.md - System architecture overview
  3. Browse docs/features/ - Feature-specific documentation

These documents will save you significant time by showing exactly where to find what you need.

Note for AI Agents: Development rules are automatically loaded from the Antigravity configuration.

How It Works 🛠️

  1. Select Area: Choose where you want to run or cycle.
  2. Input Shape: Upload an image, edit the extracted shape manually, or draw directly on the canvas.
  3. Generate: The algorithm processes the shape (simplifying points for better routes) and snaps it to real-world streets.
  4. Export: Get your GPX file and go!

Tech Stack 💻

Built with modern web technologies:

Getting Started 🚀

Prerequisites

  • Node.js (v18+)
  • npm

Installation

# Clone the repository
git clone https://github.com/yourusername/routista.antigravity.git

# Install dependencies
npm install

Development

# Run the development server
npm run dev

Open http://localhost:3000 with your browser.

Mobile Testing (Preview Deployments)

Push to any branch other than main to get a Vercel preview URL accessible from mobile:

git checkout -b feature/my-feature
git push origin feature/my-feature
# → Vercel creates: https://routista-git-feature-my-feature-*.vercel.app

See docs/technical/ARCHITECTURE.md for full deployment details.

Testing

# Run automated tests
npm test

# Run browser automation tests (see docs/technical/AUTOMATED_TESTING.md)
npm run test:e2e

Contributing 🤝

Contributions are welcome! Feel free to open issues or submit pull requests.

Support ❤️

If you enjoy using Routista, consider buying me a coffee!


Built with ❤️ by Jakub Anderwald

About

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages