ScriptsJul 18, 2026·2 min read

Tile38 — Real-Time Geospatial Database with Geofencing

A high-performance geospatial database and geofencing server written in Go.

Agent ready

Ready-to-run agent install

This asset can be installed after the agent chooses its runtime, checks the plan, and runs the matching command.

Native · 98/100Policy: allow
Agent surface
Any MCP/CLI agent
Kind
Skill
Install
Single
Trust
Trust: Established
Entrypoint
Tile38 Overview
Direct install command
npx -y tokrepo@latest install 75b21b74-82a5-11f1-9bc6-00163e2b0d79 --target codex

Run after dry-run confirms the install plan.

Introduction

Tile38 is an open-source in-memory geospatial database and geofencing server. It stores geographic objects (points, polygons, GeoJSON) and provides real-time spatial queries, geofencing with webhook notifications, and a Redis-compatible protocol. It is designed for IoT fleet tracking, logistics, and location-aware applications.

What Tile38 Does

  • Stores and indexes geographic points, lines, polygons, and GeoJSON objects
  • Runs spatial queries (NEARBY, WITHIN, INTERSECTS) with sub-millisecond latency
  • Triggers real-time geofence events via webhooks, gRPC, MQTT, or Kafka
  • Provides roaming geofences that move with tracked objects
  • Persists data to disk with append-only file durability

Architecture Overview

Tile38 uses an R-tree spatial index for fast range and proximity queries. It speaks the Redis RESP protocol, so any Redis client can connect. Data is stored in memory for speed and persisted to an append-only file on disk. Geofences are evaluated continuously as objects move, with events dispatched to configured endpoints in real time.

Self-Hosting & Configuration

  • Run via Docker or download a single binary for Linux, macOS, or Windows
  • Data directory defaults to ./data; configure with --dir flag
  • Set authentication with CONFIG SET requirepass
  • Configure max memory and eviction policies via CONFIG commands
  • Expose port 9851 (default) and optionally enable TLS

Key Features

  • Sub-millisecond spatial queries on millions of objects
  • Real-time geofencing with enter, exit, and cross notifications
  • Roaming geofences that track proximity between moving objects
  • GeoJSON, WKT, and simple point/bounds input formats
  • Redis-compatible protocol for easy client integration in any language

Comparison with Similar Tools

  • PostGIS — Full SQL power with PostgreSQL; Tile38 is faster for real-time geofencing
  • Redis (with geospatial) — Basic geo commands only; Tile38 adds polygons and geofences
  • MongoDB Geospatial — Document-oriented; Tile38 is purpose-built for spatial workloads
  • H3 (Uber) — Hexagonal indexing library; Tile38 is a full database server

FAQ

Q: How many objects can Tile38 handle? A: It comfortably handles millions of objects in memory with sub-ms query times.

Q: Does it support clustering? A: Tile38 supports leader-follower replication but not automatic sharding.

Q: Can I use it with existing Redis clients? A: Yes, it speaks the Redis RESP protocol natively.

Q: How does geofencing work? A: You create a fence query with SETHOOK; Tile38 continuously evaluates object movements and sends webhook notifications on enter/exit events.

Sources

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets