Skip to content

Markers Guide

Create, edit, organize, and collaborate on map markers with photos and descriptions.

Creating a Marker

You can create a marker using any of these methods:

  • Click the map — Tap any empty area on the map. A form opens with pre-filled coordinates.
  • Search a location — Use the geocoding search bar to find a place, then click the quick-create button on a result.

The creation form requires:

Field Limits Notes
Title Max 50 chars Required
Date Defaults to today
Rating 1–5 Defaults to 5
Description Max 10,000 chars Optional, rich text

See Your First Marker for a step-by-step walkthrough.

Adding Images

Images are compressed client-side before upload. See Image Upload for the full pipeline.

  • Max images per marker: configurable (default 5)
  • Accepted formats: JPEG, PNG, WebP
  • Pre-compression size limit: configurable (default 7 MB)
  • Output limit: configurable (default 10 MB)

You can add images during creation or after. Reorder images by drag-and-drop in the form. Delete individual images without removing the marker.

Viewing Markers

Markers appear on the map with unicorn icons. The sidebar lists all active markers sorted by date (newest first):

  • Click a marker on the map — opens the detail view
  • Click an item in the sidebar — flies to that marker on the map
  • Click the info button on a sidebar item — opens the detail view directly

The detail view shows the title, date, rating, description (sanitized rich text), and an image carousel.

Use the search bar in the sidebar to filter markers by title. Search is server-side with debounced input — it searches your group's markers only.

Editing a Marker

Open the detail view and click the edit button. You can modify:

  • Title, date, rating, description
  • Add, reorder, or delete images
  • Change the location (see below)

The edit form shows unsaved-changes detection — closing with unsaved changes prompts confirmation.

Moving a Marker

From the detail view, click Move. The marker becomes draggable on the map. Other markers fade to 35% opacity for visibility. A confirmation bar appears at the bottom — confirm the new position or cancel to revert.

This updates only the coordinates, leaving all other fields unchanged.

Deleting and Restoring

Soft Delete

Deleting a marker moves it to the trash — it is not permanently removed. Deleted markers:

  • Disappear from the map and active sidebar list
  • Appear in the sidebar's Trash view
  • Show a countdown of days until permanent deletion
  • Are permanently deleted after the retention period (configurable, default 30 days)

Images are preserved during soft delete so they are available on restore.

Restore

From the Trash view, click Restore on any deleted marker. The marker returns to the map and active list with all data and images intact.

Permanent Deletion

After the retention period expires, the CleanupJob permanently removes the marker and deletes its images from R2 storage. This cannot be undone.

See Background Jobs for the cleanup schedule.

Collaboration

All markers are group-scoped. Every member of your group can:

  • See all markers on the map
  • View marker details and images
  • Create new markers
  • Edit any marker (title, description, rating, images)
  • Move any marker
  • Delete and restore any marker

There are no per-marker permissions or private markers. The Map module must be enabled for your group.

Image Management

Adding Images

From the edit form, select images from your device. Compression happens automatically via a Web Worker. While images are processing, the form shows a "processing" state and prevents saving.

Reordering

Drag images within the upload grid to change their display order. Order is preserved after save.

Deleting

Remove individual images from the edit form. This deletes the image from R2 storage and removes the database record — it cannot be undone.

Upload Flow

  1. File validated client-side (type, size)
  2. Image compressed via browser-image-compression
  3. Compressed output validated against backend limit
  4. API returns a presigned URL for direct R2 upload
  5. File uploaded directly to R2
  6. Upload confirmed with API (backend verifies file exists and size is within limit)

See File Storage for the full architecture.

Rate Limits

Endpoint Limit
List markers (map) 30 requests / 60s
List markers (sidebar) 30 requests / 60s
Marker detail 60 requests / 60s
Create, Delete 10 requests / 60s
Update, Move, Images 20 requests / 60s