map_view — Server-side maps for Ruby on Rails

For years, maps in Rails applications have lived almost entirely on the frontend:
JavaScript libraries, external APIs, keys, variable costs, and a fair amount of friction.

map_view starts from a simple question:

What if maps in Rails were as simple as rendering a view?

<%= map_for @locations %>

That’s it.


What is map_view?

map_view is a Ruby on Rails helper that renders maps on the server and returns an image (PNG / JPG / GIF).

No JavaScript.
No frontend dependencies.
No duplicated logic between backend and frontend.

The result is deterministic, cacheable, and easy to test.


What kind of projects is it for?

map_view is designed for:

  • Admin dashboards
  • Reports and exports (PDFs, images)
  • Emails
  • Internal tools
  • Legacy Rails applications
  • Backend-driven systems where stability matters

It is not trying to replace fully interactive, client-side map solutions.
It focuses on simplicity, control, and predictability.


Why server-side maps?

Most modern mapping solutions require:

  • Mandatory JavaScript
  • Vendor lock-in
  • External APIs
  • Variable runtime costs
  • Hard-to-test frontend logic

map_view takes a different approach:

  • Server-side rendering
  • Image-based output
  • Easy caching
  • Easy auditing
  • Works naturally in backend workflows

Basic example

<%= map_for @locations %>

Internally, map_view handles:

  • data normalization
  • coordinate projection
  • layer rendering
  • image generation

All behind a Ruby-friendly API.


Project status

map_view has been developed and refined over time and is mature enough to be used in production, including high-demand backend environments.

The current focus is on:

  • validating real-world use cases
  • refining the API
  • keeping the developer experience simple and idiomatic to Ruby

How it works

map_view renders maps entirely on the server. Your Rails app provides data (points, routes, areas) and map_view turns it into a static image during the request lifecycle. No JavaScript execution in the browser and no client-side map engine involved.

Rails view
  ↓
map_view helper
  ↓
Server-side rendering
  ↓
PNG / JPG / GIF

From the app’s perspective, a map is just another rendered asset.


Availability and commercial use

The core of map_view is designed to remain simple, transparent, and Ruby-friendly. The project is structured around two layers:

  • An open core focused on developer experience and server-side rendering
  • Optional commercial components for teams with specific requirements

Commercial use cases include:

  • Enterprise-friendly map providers
  • Long-term stability guarantees
  • Support and maintenance
  • Environments where open map data is not an option

If you’re interested in using map_view in a production or commercial context, feel free to reach out.

Contact / Early access

Follow the project

Development updates, examples, and design decisions are being shared on RubyStackNews.

That’s the best place to follow progress or get in touch if you’re interested in using map_view.


Closing

map_view doesn’t try to reinvent maps.
It brings them back to where Rails has always been strong: the server.

Leave a comment