{"repo":"dodopayments/chimely","free":true,"listed":false,"github":"https://github.com/dodopayments/chimely","clone":"git clone https://github.com/dodopayments/chimely.git","description":"Open-source, self-hostable in-app notification inbox infrastructure: one Rust binary + Postgres + Redis, a small HTTP API, and a drop-in <Inbox /> React component.","language":"Rust","stars":44,"topics":["axum","in-app-notifications","inbox","notification-inbox","notification-infrastructure","notifications","open-source","postgresql","react","redis"],"license":"AGPL-3.0","category":"databases-storage","readme_excerpt":"Chimely Open-source, self-hostable in-app notification inbox infrastructure . One Rust binary + Postgres + Redis, a deliberately small HTTP API, and a drop-in React component. No workflow engine: the inbox is the primitive. Your backend sends one POST: Your frontend renders one component: That is a live bell with unread counts, read state, tabs, archive, infinite scroll, per-category preferences, and SSE live updates. Nothing else to build. Quickstart Nothing to clone: the server runs from the published image and the component installs from npm. The restart policy covers the first seconds while Postgres is still initializing (the server fails fast when its database is unreachable). Then follow the quickstart: send a notification with curl and mount in your app, about five minutes end to end. How it works - Postgres is authoritative. Redis only carries real-time hints and recomputable caches; losing it delays updates but never loses data. - SSE is a hint, not a transport. Every hint triggers a conditional refetch (ETag, mostly 304 s), so missed hints are harmless by construction. - Single-org, multi-environment. Environments are the isolation unit; multi-tenancy is \"run another instance\". - The server embeds its migrations (run on boot under an advisory lock), an operator dashboard, Prometheus metrics, and OpenAPI docs at /docs . What Chimely is not These are deliberate. Chimely does the inbox and nothing else: - No workflows, steps, or conditional routing. - No email, SMS, or","default_branch":null,"files":null,"tree":[],"storefront":"/r/dodopayments","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/dodopayments/chimely/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}