The map is no longer the hard part.

All 226 American Red Cross chapters, drawn live by about forty lines of code. Click one.

See How It Works

What an SDK actually is

SDK stands for Software Development Kit. Forget the acronym. Think of it as a box of finished map parts: the map itself, the layers, the legends, the search bars, the pop-ups, the charts. Esri built every part, tested every part, and keeps every part current.

Experience Builder hands you a furnished model home. The rooms are nice, but the walls are where the walls are. The SDK hands you the same materials and lets you place every wall yourself. Same Esri foundation, same data, same security. The difference is who decides what the tool looks like and how it behaves: the template, or you.

And here is the part that surprises people: you do not install anything. One line in a plain web page loads the whole kit from Esri's servers. Your "development environment" can be a single text file.

The Parts

Maps, layers, widgets, and charts as ready-made building blocks. You assemble; you do not invent.

The Freedom

Any layout, any behavior, any audience. If you can describe it, the page can do it.

The Reach

It runs in a plain web page. No servers to manage, no licenses to chase, nothing for users to install.

Your first map is one HTML tag

This is a complete web page. Not an excerpt. Ten lines, and three of them are just closing tags.

first-map.html · The Entire File
<!DOCTYPE html>
<html>
<head>
  <script type="module" src="https://js.arcgis.com/5.1/"></script>
  <style> arcgis-map { height: 100vh; display: block; } </style>
</head>
<body>
  <arcgis-map basemap="osm" center="-82.46,27.95" zoom="7"></arcgis-map>
</body>
</html>

A map is now an HTML tag, the same way a photo is. Change center and zoom and it is your town instead of Tampa Bay.

Add real data with five more lines

Point the page at any feature service you can see in ArcGIS Online. These are the live Red Cross chapter boundaries, straight from the same layers the official apps use.

add-data.js · Added to the Same Page
const FeatureLayer = await $arcgis.import(
  "@arcgis/core/layers/FeatureLayer.js");

document.querySelector("arcgis-map").map.add(
  new FeatureLayer({
    url: "https://services.arcgis.com/pGfbNJoYypmNq86F/arcgis/rest/services/Master_ARC_Geography_2022/FeatureServer/3",
    opacity: 0.55,
  }));

No export, no copy, no upload. The layer on your map is the layer in the org, always current.

Make it answer questions

Fifteen more lines and the map talks back. Click any chapter below: the page reads the data underneath your cursor and writes the card itself. This is the moment dashboards cannot follow you past.

answer.js · Click Handling
const mapEl = document.querySelector("#answerMap");

mapEl.view.on("click", async (event) => {
  const hit = await mapEl.view.hitTest(event,
    { include: chapters });
  const result = hit.results.find(
    (r) => r.graphic?.layer === chapters);
  if (!result) return;

  const a = result.graphic.attributes;
  card.innerHTML = `
    <h3>${a.Chapter}</h3>
    <p>${a.Region} · ${a.Division}</p>
    <p>${a.City}, ${a.State}</p>`;
});

Your own info card, your own wording, your own formatting. The gray default pop-up never appears.

Click a chapter to see its card.

So why do we all build dashboards?

Because until recently, this was the honest math: Experience Builder and Dashboards gave you eighty percent of what you wanted in an afternoon, and the SDK gave you a hundred percent in a month of JavaScript you did not have time to learn. Most of us took the eighty percent. That was the right call.

But the trade has changed. The builders still cost an afternoon. The SDK now costs about the same afternoon, because an AI assistant writes the first draft of the code and you steer it in plain English. When both paths take a day, the question is no longer which one is faster. It is which one gives you the tool you actually imagined.

Reach for the builders when

  • The standard widgets already say what you need to say.
  • The app is internal, routine, and temporary.
  • Nobody on the team wants to touch a code file, even with help.

Reach for the SDK when

  • You caught yourself saying "I wish it could just..."
  • The audience deserves better than a template: donors, executives, the public.
  • You want one page that loads fast, looks like yours, and does exactly one job well.

The AI shift, honestly stated

Here is the workflow that changed everything. You open an AI assistant and describe the tool: "A map of our chapters. Clicking one shows its region and phone number in a card on the right. Red accents, no default pop-ups." The assistant writes the SDK code. You look at the result, ask for changes the way you would ask a colleague, and repeat until it is right.

You are not typing JavaScript from memory. You are directing it. Your GIS judgment, the part you already have, is what steers: which layers, which fields, what the audience needs, what would mislead them. The assistant supplies syntax; you supply sense.

Two honest cautions. First, you still test what it builds, the same way you would check a stranger's map before publishing it. Second, the first day feels unfamiliar. Every tool on this page after that first day feels like a superpower.

Watch the four-minute film

A short film on how mapping work used to be done, how it works now, and what building layers really means.

Start here

  1. Save the ten-line file

    Copy the file from Your First Map into a text editor and save it as map.html. Double-click it. That is a running SDK app.

  2. Ask for one change

    Open an AI assistant, paste the file, and ask for something small: your city, a different basemap, one of your own layers. Watch what comes back.

  3. Read the real documentation

    Esri's SDK documentation and components reference are excellent, and every sample runs live in the browser.

  4. Put it on the web

    A free GitHub account and a free Vercel account turn that file into a real URL you can send to anyone. This page you are reading was published exactly that way.