Skip to content
Map studio

A map is a document.Documents have versions.

The studio composes materialized datasets into layers you style, filter and cross-filter. What you save is not a screenshot of a view — it is a versioned asset with an immutable published body, which is what makes a shared map reproducible a year later.

The DjiniousMap studio showing Lyon arrondissements as orange polygons and the Rillieux-la-Pape cycle network as blue lines over the Plan IGN basemap, an Arrondissement category widget, and a time replay rail.The DjiniousMap studio showing Lyon arrondissements as orange polygons and the Rillieux-la-Pape cycle network as blue lines over the Plan IGN basemap, an Arrondissement category widget, and a time replay rail.
Two materialized layers, a category widget cross-filtering by arrondissement, and a timeline bound to the layer's own date column.Seeded development stack
What it does

The working surface, control by control

  • Layers

    one per materialized dataset

    Add a layer for any dataset the platform has profiled and can place. Fill, stroke, stroke width, point radius, opacity, ordering and visibility are per layer. Only profiled datasets are offered, so a layer cannot be created against coordinates whose projection is unknown.

  • Styling from the product's tokens

    no literal colour in the client

    Layer paint resolves through the design system's tokens rather than through hard-coded values — the client is checked for literal colour and fails its build if one appears. Switching the brand palette therefore repaints the data as well as the chrome.

  • Filters

    categorical · range · temporal

    Filters attach to a layer and compose. A filter a widget authored is tracked back to that widget, so deleting the widget removes its filters atomically instead of leaving the map filtered by a control that is no longer there.

  • Widgets

    category · histogram · formula · timeseries

    A widget reads a column and filters the map. Category widgets list values with their counts; histograms bin a numeric column; formula widgets aggregate with count, sum, avg, min or max; time-series widgets brush a period.

  • Cross-filtering

    every widget filters every layer

    Selecting in one widget filters the map and recomputes the others. That is the difference between a legend and an instrument: you can ask a question of the data by clicking, and the rest of the view answers.

  • Time replay

    bound to a profiled temporal column

    Where the profiler identified a temporal column, the studio offers a timeline to scrub or play. It appears only when such a column exists, so the control never implies a time dimension the data does not carry.

  • Basemaps

    Plan IGN and others

    The basemap is part of the saved document, so a published map opens on the backdrop it was authored against rather than on whatever the default happens to be that month.

  • Analysis from the map

    isochrone · route · geocode

    Start an analysis from the view you are looking at. The result is registered as a dataset, profiled, and available as a layer — so the next question starts where the last answer landed.

Sharing

Published, shared, embedded — and still inside the tenancy model

Publishing a version freezes the document and hashes its body. A share token then makes that version readable by someone with no account, and the embed puts it in another page. The token is a principal with a scope, not a hole cut in the policy: it can reach exactly what it was granted and nothing adjacent.

  • Immutable published versions, hashed, so a shared link resolves to the exact document that was shared
  • Share tokens for readers without accounts
  • An embed mode for putting a live map in another page, with an optional conversational panel
Where the layers come from

Only datasets the platform has measured

A layer can only be built on a dataset that has been materialized and profiled with an inferred CRS. That is why the catalogue distinguishes Registered from Profiled so insistently: the distinction is what the studio enforces.

The DjiniousMap dataset catalogue listing fourteen registered datasets with their source, classification and state, and per-row actions for geocoding, reverse geocoding, isochrones and routing.The DjiniousMap dataset catalogue listing fourteen registered datasets with their source, classification and state, and per-row actions for geocoding, reverse geocoding, isochrones and routing.
The eight Profiled rows carry spatial actions; the six merely Registered ones do not, because nothing has been measured about them yet.Seeded development stack

Compose your own layers

Bring two datasets you have never managed to look at together, and we will put them on one map.

DjiniousMapCatalogue · Map studio · Spatial analysis

Harvest the data, profile it honestly, compose it into a map, and act on it — with tenancy enforced by the database rather than by application code.

  1. Harvest
  2. Profile
  3. Compose
  4. Act

Every screenshot on this site is a capture of the running platform.