Nicheloom

The opportunity tracker for new startups.

MapLibre Compose, Interactive Vector Maps for Compose Multiplatform

Get picks like this daily. The day's top launches, AI/tech news, and a weekly opportunity spotlight — straight to your inbox.

This is 1 of 385 launches in interactive maps and geospatial tools — see how it stacks up on momentum and crowding →

31 other launches read as similar to this one →

Details

External ID
49957752
Source
HN
Company
—
Product
MapLibre Compose, Interactive Vector Maps for Compose Multiplatform
Website domain
github.com
Launched
Oct. 4, 2026
Cohort
—
Upvotes
5
Upvotes percentile
0.1
Tags
—
Fetched at
Oct. 8, 2026, 5:02 p.m.
Updated at
Oct. 8, 2026, 5:02 p.m.

Description

MapLibre Compose is a Kotlin library for putting interactive vector maps in Compose Multiplatform apps on Android, iOS, desktop, and web. It's part of the MapLibre ecosystem, and isn't tied to any map provider; you point it at any MapLibre style and tile source: commercial, free, or your own.- Docs: https://maplibre.org/maplibre-compose/- Code: https://github.com/maplibre/maplibre-compose- Live demo: https://maplibre.org/maplibre-compose/demo/About two years ago, I started building a transit tracking app in Compose Multiplatform, and found there was no suitable map library for it with the level of customization I wanted. So, within my "train-tracking-app" repo, I started working on wrapping the MapLibre Android and iOS SDKs behind a common Compose API.Around the same time, the StreetComplete folks and MapLibre Native folks were looking for the same thing: a Compose SDK for MapLibre Native. I spun my wrapper out into a library, and so began my two year yak shaving quest to bring MapLibre maps to Compose Multiplatform.The SDK-wrapping approach got the first releases out quickly, but it didn't age well. I could only expose what both supported, and each had its own slightly different design and API contracts, as they were not designed to be used together. And there was no such sdk at all for desktop. I knew I needed to go a layer down, build on the MapLibre Native C++ core underpinning those Android and iOS SDKs. I first did this with JNI, on desktop only, with the help of GLM-4.5 to navigate some graphics work that I was deeply unfamiliar with. This worked, but JNI was tedious and bug-prone, AWT<>Compose interop was limited, and the work stalled. Around this time, I also onboarded the project into the MapLibre organization.Earlier this year, I rebooted the native core wrapping effort. I designed a C API (https://github.com/maplibre/maplibre-native-ffi) wrapping the MapLibre Native C++ core, generated safe(ish) language bindings on top for KMP and many other languages (first with LLMs, now working on deterministic codegen), and rebuilt MapLibre Compose for desktop, Android, and iOS on that foundation. This cleared numerous blockers and bugs, and allowed me to bring the library to a feature-complete state.This work shipped in the StreetComplete iOS public beta recently (https://news.ycombinator.com/item?id=49920160). Stadia's Ferrostar navigation SDK builds on it now too (https://stadiamaps.github.io/ferrostar/).It's pre-1.0. Android, iOS, and desktop wrap MapLibre Native. Kotlin/JS still wraps MapLibre GL JS, and Kotlin/Wasm support is awaiting Compose v1.13. If you're interested in building map apps with Compose, I encourage you to try this out and share feedback as I'm working on refining the api surface before stabilization.Now, two years later, I'm getting back to working on my transit tracking app, which I hope to share on HN in a couple months.

Enrichment

Niche
interactive maps and geospatial tools
Vertical
Horizontal
Function
Dev tools
Audience
Developer
AI stance
Not AI
Project type
Hobby / open-source project
Normalized one-liner
vector map library for compose multiplatform
Manually corrected
False

Could you build this?

No Creating a cross-platform vector map rendering library for Compose Multiplatform across Android, iOS, Desktop, and Web requires deep expertise in native graphics bindings, low-level platform APIs, C++ interop, and Kotlin Multiplatform internals.

What it would actually take: Requires bridging MapLibre Native (C++) across iOS (Metal/Objective-C), Android (JNI/NDK/Vulkan/OpenGL), Desktop, and MapLibre GL JS for Web. The architecture demands deep knowledge of Compose canvas drawing, lifecycle bridging, memory management across native boundaries, and cross-compilation toolchains. A specialized graphics and systems engineering team is necessary.

Discussion

No comments on this launch.

Competitors

Other products that read as similar to this one — 31 launches clear the similarity bar, closest 8 shown.

Attention rank: #30 of 32 (itself plus its competitors, highest first — normalized so YC and Product Hunt are compared fairly).

Launched 274 days after the earliest competitor.

Other launches for this product