Posts by Ian Wagner
Founder & President / COO
Ian is co-founder of Stadia Maps and leads engineering and operations. He works on routing, navigation, and the technical foundations that keep customer applications reliable at scale.
The Open Data Superpower: Why Global Search is Moving Beyond Proprietary Silos
Stadia Maps builds geocoding & search on continuous open data streams — rapid updates, community fix-it loops, multilingual search, and precision reverse geocoding.
The Open Data Superpower: Why Global Search is Moving Beyond Proprietary Silos
Stadia Maps builds geocoding & search on continuous open data streams — rapid updates, community fix-it loops, multilingual search, and precision reverse geocoding.
Precision Meets Privacy: Elevating the Consumer Search Experience
Stadia Maps geocoding API delivers structured search, reverse geocoding, and autocomplete across 1B+ locations — no user tracking, no ad-network bias.
Precision Meets Privacy: Elevating the Consumer Search Experience
Stadia Maps geocoding API delivers structured search, reverse geocoding, and autocomplete across 1B+ locations — no user tracking, no ad-network bias.
The Invisible Costs of Routing: Privacy, Pricing, and Avoiding the "MAU" Trap
Most mapping SDKs harvest user data and charge by MAU — penalizing your success. See how Stadia Maps eliminates both risks with private-by-design infrastructure and transparent, usage-only billing.
The Invisible Costs of Routing: Privacy, Pricing, and Avoiding the "MAU" Trap
Most mapping SDKs harvest user data and charge by MAU — penalizing your success. See how Stadia Maps eliminates both risks with private-by-design infrastructure and transparent, usage-only billing.
How We Fixed Water Feature Rendering Across All Zoom Levels in Our Basemaps
Mixing Natural Earth and OSM data at different zoom levels caused rivers to vanish, coastlines to shift, and islands to flicker. Here's how we unified our basemaps around a single Overture Maps dataset to fix it.
How We Fixed Water Feature Rendering Across All Zoom Levels in Our Basemaps
Mixing Natural Earth and OSM data at different zoom levels caused rivers to vanish, coastlines to shift, and islands to flicker. Here's how we unified our basemaps around a single Overture Maps dataset to fix it.
Beyond the Car: Routing for the Other 90% of Transport
Car-first routing APIs fail trucks, e-bikes, and LSVs. See how Stadia Maps uses Valhalla and OpenStreetMap to deliver modal-specific routing that respects each vehicle's physical and legal constraints.
Beyond the Car: Routing for the Other 90% of Transport
Car-first routing APIs fail trucks, e-bikes, and LSVs. See how Stadia Maps uses Valhalla and OpenStreetMap to deliver modal-specific routing that respects each vehicle's physical and legal constraints.
Why Basic OpenStreetMap Routing Needs Real-Time Traffic
OpenStreetMap is a world-class road network, but without real-time traffic it's a static dataset. Here's why algorithmic ETAs fall apart in production logistics and how Stadia Maps closes the gap with TomTom-powered routing.
Why Basic OpenStreetMap Routing Needs Real-Time Traffic
OpenStreetMap is a world-class road network, but without real-time traffic it's a static dataset. Here's why algorithmic ETAs fall apart in production logistics and how Stadia Maps closes the gap with TomTom-powered routing.
AI Tools for API Companies: 4 Design Principles for AI-Native API Consumption
Four design principles for MCP servers and AI tools that models actually use: contextual descriptions, token frugality, AI-readable outputs, focused tools.
AI Tools for API Companies: 4 Design Principles for AI-Native API Consumption
Four design principles for MCP servers and AI tools that models actually use: contextual descriptions, token frugality, AI-readable outputs, focused tools.
AI Tools for API Companies: AI Needs Context, or How Our Auto-Generation Failed Spectacularly
Auto-generating an MCP server from OpenAPI specs seemed obvious — and failed. What we learned about AI-native API consumption and MCP tool design.
AI Tools for API Companies: AI Needs Context, or How Our Auto-Generation Failed Spectacularly
Auto-generating an MCP server from OpenAPI specs seemed obvious — and failed. What we learned about AI-native API consumption and MCP tool design.
Ferrostar: Building a Cross-Platform Navigation SDK in Rust (Part 2 - iOS Packaging)
How we cross-compile Rust for iOS, package an XCFramework, and publish a Swift Package — Part 2 of the Ferrostar navigation SDK deep dive.
Ferrostar: Building a Cross-Platform Navigation SDK in Rust (Part 2 - iOS Packaging)
How we cross-compile Rust for iOS, package an XCFramework, and publish a Swift Package — Part 2 of the Ferrostar navigation SDK deep dive.
Custom Markers and POST Support for Static Maps
Add custom marker images (up to 5 per request, 128px) to static maps, and send complex requests as JSON via POST to bypass URL length limits.
Custom Markers and POST Support for Static Maps
Add custom marker images (up to 5 per request, 128px) to static maps, and send complex requests as JSON via POST to bypass URL length limits.
Ferrostar: Building a Cross-Platform Navigation SDK in Rust (Part 1)
Why Stadia Maps built Ferrostar's core in Rust with UniFFI: cross-platform architecture, Cargo workspace setup, and idiomatic Swift/Kotlin bindings.
Ferrostar: Building a Cross-Platform Navigation SDK in Rust (Part 1)
Why Stadia Maps built Ferrostar's core in Rust with UniFFI: cross-platform architecture, Cargo workspace setup, and idiomatic Swift/Kotlin bindings.
The Open Data Superpower: Why Global Search is Moving Beyond Proprietary Silos
Stadia Maps builds geocoding & search on continuous open data streams — rapid updates, community fix-it loops, multilingual search, and precision reverse geocoding.
The Open Data Superpower: Why Global Search is Moving Beyond Proprietary Silos
Stadia Maps builds geocoding & search on continuous open data streams — rapid updates, community fix-it loops, multilingual search, and precision reverse geocoding.
Precision Meets Privacy: Elevating the Consumer Search Experience
Stadia Maps geocoding API delivers structured search, reverse geocoding, and autocomplete across 1B+ locations — no user tracking, no ad-network bias.
Precision Meets Privacy: Elevating the Consumer Search Experience
Stadia Maps geocoding API delivers structured search, reverse geocoding, and autocomplete across 1B+ locations — no user tracking, no ad-network bias.
The Invisible Costs of Routing: Privacy, Pricing, and Avoiding the "MAU" Trap
Most mapping SDKs harvest user data and charge by MAU — penalizing your success. See how Stadia Maps eliminates both risks with private-by-design infrastructure and transparent, usage-only billing.
The Invisible Costs of Routing: Privacy, Pricing, and Avoiding the "MAU" Trap
Most mapping SDKs harvest user data and charge by MAU — penalizing your success. See how Stadia Maps eliminates both risks with private-by-design infrastructure and transparent, usage-only billing.
How We Fixed Water Feature Rendering Across All Zoom Levels in Our Basemaps
Mixing Natural Earth and OSM data at different zoom levels caused rivers to vanish, coastlines to shift, and islands to flicker. Here's how we unified our basemaps around a single Overture Maps dataset to fix it.
How We Fixed Water Feature Rendering Across All Zoom Levels in Our Basemaps
Mixing Natural Earth and OSM data at different zoom levels caused rivers to vanish, coastlines to shift, and islands to flicker. Here's how we unified our basemaps around a single Overture Maps dataset to fix it.
Beyond the Car: Routing for the Other 90% of Transport
Car-first routing APIs fail trucks, e-bikes, and LSVs. See how Stadia Maps uses Valhalla and OpenStreetMap to deliver modal-specific routing that respects each vehicle's physical and legal constraints.
Beyond the Car: Routing for the Other 90% of Transport
Car-first routing APIs fail trucks, e-bikes, and LSVs. See how Stadia Maps uses Valhalla and OpenStreetMap to deliver modal-specific routing that respects each vehicle's physical and legal constraints.
Why Basic OpenStreetMap Routing Needs Real-Time Traffic
OpenStreetMap is a world-class road network, but without real-time traffic it's a static dataset. Here's why algorithmic ETAs fall apart in production logistics and how Stadia Maps closes the gap with TomTom-powered routing.
Why Basic OpenStreetMap Routing Needs Real-Time Traffic
OpenStreetMap is a world-class road network, but without real-time traffic it's a static dataset. Here's why algorithmic ETAs fall apart in production logistics and how Stadia Maps closes the gap with TomTom-powered routing.
AI Tools for API Companies: 4 Design Principles for AI-Native API Consumption
Four design principles for MCP servers and AI tools that models actually use: contextual descriptions, token frugality, AI-readable outputs, focused tools.
AI Tools for API Companies: 4 Design Principles for AI-Native API Consumption
Four design principles for MCP servers and AI tools that models actually use: contextual descriptions, token frugality, AI-readable outputs, focused tools.
AI Tools for API Companies: AI Needs Context, or How Our Auto-Generation Failed Spectacularly
Auto-generating an MCP server from OpenAPI specs seemed obvious — and failed. What we learned about AI-native API consumption and MCP tool design.
AI Tools for API Companies: AI Needs Context, or How Our Auto-Generation Failed Spectacularly
Auto-generating an MCP server from OpenAPI specs seemed obvious — and failed. What we learned about AI-native API consumption and MCP tool design.
Ferrostar: Building a Cross-Platform Navigation SDK in Rust (Part 2 - iOS Packaging)
How we cross-compile Rust for iOS, package an XCFramework, and publish a Swift Package — Part 2 of the Ferrostar navigation SDK deep dive.
Ferrostar: Building a Cross-Platform Navigation SDK in Rust (Part 2 - iOS Packaging)
How we cross-compile Rust for iOS, package an XCFramework, and publish a Swift Package — Part 2 of the Ferrostar navigation SDK deep dive.
Custom Markers and POST Support for Static Maps
Add custom marker images (up to 5 per request, 128px) to static maps, and send complex requests as JSON via POST to bypass URL length limits.
Custom Markers and POST Support for Static Maps
Add custom marker images (up to 5 per request, 128px) to static maps, and send complex requests as JSON via POST to bypass URL length limits.
Ferrostar: Building a Cross-Platform Navigation SDK in Rust (Part 1)
Why Stadia Maps built Ferrostar's core in Rust with UniFFI: cross-platform architecture, Cargo workspace setup, and idiomatic Swift/Kotlin bindings.
Ferrostar: Building a Cross-Platform Navigation SDK in Rust (Part 1)
Why Stadia Maps built Ferrostar's core in Rust with UniFFI: cross-platform architecture, Cargo workspace setup, and idiomatic Swift/Kotlin bindings.