Tile38 is an in-memory geospatial database and realtime geofencing server that indexes and queries location data.
Tile38 solves the problem of efficiently storing, indexing, and querying geographic data at scale. It maintains spatial indexes in memory and provides search methods including Nearby, Within, and Intersects queries to find objects based on their geographic relationships. The tool supports multiple object types—lat/lon points, bounding boxes, GeoJSON, Geohashes, XYZ tiles, and QuadKeys—allowing flexible representation of location data. Realtime geofencing capabilities trigger webhooks or pub/sub notifications when objects enter or leave defined geographic regions, including support for roaming geofences that move dynamically.
The tool persists data to disk while maintaining an in-memory index for performance, and it supports leader-follower replication for high availability. It offers multiple access protocols including HTTP, WebSockets, Telnet, and Redis RESP, making it compatible with existing Redis client libraries across many programming languages. The command-line interface and included benchmark tool support development and performance testing.
The project maintains active communication channels through Slack and Discord. Development activity shows consistent engagement with the codebase, with regular updates addressing functionality and stability. The tool is written entirely in Go, enabling compilation across Linux, macOS, Windows, FreeBSD, and other platforms in both 32-bit and 64-bit architectures. Pre-built binaries are available for major operating systems, and Docker images provide containerized deployment options.