Venue-first event coordination on the AT Protocol.
hekate is a federated event-coordination protocol and reference implementation. It models venues as first-class records: a place exists in the system before any event is attached to it. Venues publish discrete time-slots and/or RFC-5545 RRULE-based recurrences that expand into slots; organizers claim a slot by publishing an event record. All state lives in user and venue PDSes — the indexer is read-only and replaceable.
docs/ROADMAP.md.Most event apps make the event primary and the venue a free-text field. That works for one-off conferences but breaks for the long tail: pubs with a Tuesday quiz, libraries with a monthly book club, makerspaces with weekly classes, gyms with open-mat hours. These places want a calendar of slots they can offer; organizers want to find a place that fits.
hekate flips the model. A venue exists once and offers slots forever. An event is what happens to claim a slot.
lexicons/ AT Protocol record schemas (the durable artifact)
server/ Go indexer + read API (M1)
cli/ Go CLI — the v0.1 reference client (M2)
web/ SvelteKit 2 web client (M3, off the critical path)
deploy/ Docker Compose for one-command self-hosting
docs/ Spec, architecture, self-host guide, roadmap, ADRs
git clone https://github.com/j4qfrost/hekate.git
cd hekate/deploy
docker compose up -d
Server on :8080, web on :5173, Postgres+PostGIS managed automatically. See docs/SELFHOST.md for production hardening.
Optional LGTM stack (Loki, Grafana, Tempo, Mimir) via OpenTelemetry — pre-provisioned dashboard for venue users and events processing. Bring up with make obs-up, point hekate-server at localhost:4317, open Grafana at http://localhost:3001/d/hekate-overview. See docs/OBSERVABILITY.md and ADR 0005. Stays out of the production self-host compose so the 5-minute promise holds.
Apache-2.0, DCO sign-off (no CLA). See CONTRIBUTING.md for the contributor ladder and good-first-issue map. Architecture decisions are documented in docs/adr/.
Smoke Signal is an established AT Protocol events application. hekate is venue-first where Smoke Signal is event-first; the two models can co-exist or align. See docs/adr/0002-smoke-signal-relationship.md for the active coordination.
Apache-2.0. See LICENSE.