Explore mountain routes through maps, elevation data, and spatial analysis.
Peakline is a web application that helps visualize and analyze GPX tracks.
The project focuses on understanding terrain, elevation structure, and route characteristics through an interactive map interface.
Current version includes:
- GPX route upload
- interactive map visualization
- route statistics (distance, elevation gain/loss)
- elevation profile chart
- backend route analysis
The goal is to gradually evolve the project into a spatial exploration tool for mountain routes.
I enjoy exploring maps and mountain terrain.
Looking at maps, analyzing routes, and understanding the structure of a landscape is fascinating.
This project is both:
- a spatial exploration tool
- a playground for building map-based systems
- a portfolio project focused on system design and backend architecture
User workflow:
- upload GPX track
- backend analyzes route
- route is displayed on map
- elevation profile is generated
- route statistics are calculated
Backend
- .NET / ASP.NET Core
- REST API
- XML parsing for GPX files
Frontend
- React
- TypeScript
- Vite
- MapLibre (map rendering)
- Recharts (elevation charts)
The project follows a simple architecture:
Frontend (React) ↓ Backend API (ASP.NET Core)
Backend responsibilities:
- GPX parsing
- route analysis
- elevation calculations
- domain logic
Frontend responsibilities:
- map rendering
- user interaction
- data visualization
backend/
src/
Api
Application
Domain
Infrastructure
frontend/
React application
map components
route visualization
The backend follows a domain-focused structure separating domain models, application logic, and infrastructure.
Version 1 (current focus)
- GPX upload
- route map visualization
- elevation profile
- route statistics
Version 2
- saved routes
- spatial database
- map layers
- interesting places
Version 3
- exploration mode
- route comparison
- AI-assisted route insights
Backend
cd backend/src/Peakline.Api
dotnet runFrontend
cd frontend
npm install
npm run devThis project is intentionally built as:
- a spatial systems learning platform
- a portfolio project demonstrating system design
- an experiment in map-based product ideas
MIT License