Apron is a lightweight, open protocol for self-hosted chat, designed to make it easy to build a working server without adopting a large, centralized platform. It sends JSON over transports such as WebSockets and keeps the required core small; rooms, threads, direct messages, bots, replies, mentions, reactions, typing indicators, and presence are added as capabilities. Implementations can support features incrementally, with fallbacks when a server or client lacks a capability. A minimal server can fit in roughly 100 lines, while a fuller reference server supports the complete feature set.
The project demonstrates the protocol through a public server and web client, with examples ranging from team collaboration and private family rooms to a support desk where bots handle ticket threads. It provides implementations in Go, TypeScript, Python, and JavaScript, plus web, macOS, and terminal clients and a bot example. Developers can consult a JSON Schema, test fixtures, and agent-oriented documentation, or authenticate and post messages with only a few JSON frames. The central case for Apron is that useful chat does not require a complicated standard or a single vendor’s service: developers can host their own server and build only the functionality they need. The protocol is CC0-licensed, and its implementations use the MIT license.
Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.