A browser viewer showing a street-level photograph blended with floating point clouds and neighboring camera positions, letting the user pan smoothly between images as if inside a continuous 3D scene.
Drop yourself anywhere on Earth and Mapillary will hand you the street back. Not Google's well-known product, but something stranger: hundreds of millions of photos contributed by strangers with dashcams, helmet rigs, and phones taped to handlebars, stitched into a navigable 3D world you can pan, tilt, and fall through. The magic trick is in the seams. Regular flat photos behave like panoramas, letting you swing your view past the original frame because the viewer knows where the next image was taken and quietly blends them in the undistorted virtual space behind your cursor.
Under the hood it is mapillary-js doing the heavy lifting, an open source TypeScript and WebGL library written largely by Oscar Lorentzon over many years at Mapillary (now part of Meta). The architecture is worth poking at: spatial, semantic, and texture data flow through a navigation graph built on S2 geometry cells, image tiles stream in on demand at full resolution, and every frame gets undistorted into a shared 3D coordinate space so the camera transitions feel continuous instead of teleporting. There is a Data Provider API if you want to feed it your own reconstructions, and a Custom Render API for hanging geo-anchored 3D content off the imagery, which means the consumer app at mapillary.com/app is essentially mapillary-js plus Mapillary's own tile servers, auth, and UI chrome wrapped around it. You really can build a credible street view clone with npm i mapillary-js, an access token, and a weekend.
Click around the app first to get the vibe (try a dense city, then a dirt road in the middle of nowhere for contrast), then go read the source. The docs site has live examples for the extension APIs, and the gists on Oscar's GitHub include nice small recipes like side-by-side compares and OpenLayers integration. Worth the rabbit hole.
- Live Demo: https://www.mapillary.com/app
- Source Code: https://github.com/mapillary/mapillary-js
- Author: Oscar Lorentzon (LinkedIn, GitHub)