Over the past months, I’ve been iterating on a small but focused idea: bringing practical GIS and raster rendering capabilities closer to the Ruby ecosystem through ruby-libgd and libgd-gis.
These libraries aim to fill a long-standing gap: performant, low-level raster and GIS rendering in Ruby without heavy dependencies or C-extensions that break on modern toolchains. The goal is simple make it easier to work with spatial data, generate maps, and handle image processing directly from Ruby code.
Most of the work followed a familiar pattern incremental improvements, experiments, and a constant search for the right abstractions. But occasionally, signals start to align.
This week was one of those moments.
Recent Milestones
For the third time, the project was featured in Ruby Weekly. Individually, that kind of mention is already meaningful — it places the work in front of a highly targeted audience of Ruby developers. Repeated inclusion, however, suggests something more: the problem space resonates, and the approach is worth revisiting.

https://rubyweekly.com/issues/787

https://rubyweekly.com/issues/783

https://rubyweekly.com/issues/797
At the same time, I had the opportunity to present the work at Ruby Sur, sharing both the technical decisions and the trade-offs behind building a GIS-oriented layer on top of libgd.

In parallel, printed material about the project reached RubyKaigi 2026. While I couldn’t attend in person, having the work represented in that environment — among core contributors and advanced Ruby practitioners — adds a different kind of validation.

And unexpectedly, this visibility extended further: I’ve been invited to give a remote talk at RubyJam, potentially later this year.
By the Numbers
These signals feel more meaningful when paired with actual usage:
- ruby-libgd: 3,800+ downloads, 93 stars
- libgd-gis: 5,100+ downloads, 119 stars
- MapView demo: https://map-view-demo.up.railway.app/
None of these events, on their own, change the technical challenges involved in building this kind of tooling in Ruby. But together, they indicate that the gap this project is trying to address is real — and shared.
That shift, from isolated experimentation to broader relevance, is subtle but important.
What’s Next
The roadmap includes:
- Improved documentation and real-world examples
- Better integration with popular Ruby web frameworks
- Performance optimizations for large-scale raster operations
- Expanded GIS format support
Get Involved
If you work with spatial data in Ruby, have hit similar friction points, or just want to stress-test the abstractions I’ve been building, I’d love your feedback. Issues, PRs, and use-case discussions are very welcome.
Links:
