# What is Spatibase?

> A headless CMS for map projects: model your places, keep them up to date with your team and publish them as an API for your maps and apps.

Spatibase is a headless CMS for map projects. You decide what kinds of places a project holds and which details each one has, add them on a map or import them, and publish them as an API that a website, an app or an AI assistant reads. The map your visitors see is your own, drawn with the map library you choose. The project holds the places behind it.

## Who works with a project?

A project is typically set up and connected by whoever builds the map: store locators, trail guides, event maps, city guides, property listings. The people who know the places then keep them current. Four kinds of people work with it:

| Who | What they do |
|---|---|
| **Developers** | Load the published content into a website or app through the Content Delivery API, as JSON, GeoJSON or map tiles. |
| **Owners** | Set up the project: decide what kinds of places exist and which details they have, invite the team, manage keys. |
| **AI assistants** | Tools such as Claude or ChatGPT, connected to a project, that look through content and prepare drafts for a person to review. |
| **Editors** | Keep places up to date on the map: add and change places, upload photos, mark changes ready to publish. No technical knowledge needed. |

## How does Spatibase work?

Spatibase organises map content in a few simple layers. Each layer builds on the one before.

1. **Project.** A project is the home of one map: its content, photos, team and settings. You can start it blank, from a template or from a public dataset.
2. **Types.** A type is one kind of place or item, such as "Store" or "Trail". You decide whether entries of a type sit on the map as a point, a line or an area, or have no location at all.
3. **Elements.** An element is one field, such as "Opening hours" or "Photos". You create it once and reuse it on as many types as you like. A type is made of its elements.
4. **Entries.** An entry is one actual place, for example "Store: Main Street". It belongs to one type, usually has a main location on the map, and holds a value for each of the type's elements.
5. **Groups.** A group is a hand-picked, ordered list of entries, such as "Featured" or "Summer picks", that a website can load by name.
6. **Publish.** Everything you save is a draft. Visitors only see an entry after you mark it ready and publish the project, and every publish is a numbered version you can go back to, so you can work on changes safely.
7. **Content Delivery API.** Every project has an address that serves its published content to websites and apps. A website or app reads from that address.
8. **AI assistants.** An assistant connects to the project through its MCP address and works with the same content, within the rights you give it.

The model (types and elements) is the part you set up once. Entries, groups and publishing are what you do as the content changes.

## What does the content look like to a website?

A website or app reads only published entries, never drafts. Each entry arrives with its title, its type, its location and its field values, ready to put on a map. The project's **API** page in the app shows the address, a list of ready-made links and a **Try it** panel, so you can see exactly what a website or app will get.

For the developer-level picture (how types, subtypes, drafts and caching map to the API), read [Concepts](https://spatibase.com/docs/build/concepts/).

## Where should I go next?

Pick the line that matches what you want to do:

| I want to… | Start here |
|---|---|
| Try the whole loop once | [Your first map in ten minutes](https://spatibase.com/docs/get-started/first-map/) |
| Set up a new project | [Create a project](https://spatibase.com/docs/get-started/create-a-project/) |
| Decide what to collect | [Types](https://spatibase.com/docs/model/types/) and [Elements](https://spatibase.com/docs/model/elements/) |
| Show the content in a website or app | [Quickstart](https://spatibase.com/docs/build/quickstart/) |
| Bring in a spreadsheet or map file | [Import](https://spatibase.com/docs/content/import/) |
| Connect Claude, ChatGPT or another assistant | [Connect an AI assistant](https://spatibase.com/docs/ai/connect-an-assistant/) |
| Understand drafts and publishing | [Drafts and publishing](https://spatibase.com/docs/publish/draft-and-published/) |
| See published places on a map page | [Preview your data](https://spatibase.com/docs/publish/preview-data/) |
| Invite the team | [Members and roles](https://spatibase.com/docs/team/members-and-roles/) |
| Add and change places | [Entries](https://spatibase.com/docs/content/entries/) |
| Add places while out in the field | [Collect entries on a phone](https://spatibase.com/docs/content/collect/) |
| Learn the app's layout and shortcuts | [Find your way around](https://spatibase.com/docs/get-started/find-your-way-around/) |

## Related

- [Glossary](https://spatibase.com/docs/help/glossary/)
- [FAQ](https://spatibase.com/docs/help/faq/)
- [Concepts](https://spatibase.com/docs/build/concepts/)
