efelant efelant
Public preview PostgreSQL is the API

The communication layer for PostgreSQL applications.

Chat, a thread on a ticket, an activity feed, and status that commits with your write. Clients call SQL. There is no Node, Nest, or Kafka in Core.

cp .env.example .env && ./scripts/up.sh

GitHub AGPL-3.0 Public preview
Alice
Bob

In-memory SDK. Type in one window; the other shows it. Point the Flutter app at a real host in settings.

Also

cp .env.example .env && ./scripts/up.sh
# open http://localhost:8080

Why it looks like this

A strong focus on the database.

efelant

PostgreSQL is the API

Clients call stored functions. RLS owns authorization. Sync is conversation_id + last_sequence.

Flutter client on Efelant Core
efelant-conversation web component

Embed, don’t remodel

Pass tenant_id + type + external_id. Status events can share the host transaction.

Comparison

Your Postgres. No broker in Core.

Efelant Redis pub/sub Socket.IO Stream / Pusher / Ably Supabase Realtime
Your PostgreSQL Yes No No No Theirs, or you operate it
Authorization RLS + functions You build it You build it Vendor rules RLS
Transactional status publish_status in the same write No No No You compose it
Broker in Core No Redis Yes Vendor Realtime service
Catch-up conversation_id + last_sequence Ephemeral You build it Vendor history CDC / replay

Fair reading: those tools are good at what they are. Efelant is for teams that already run PostgreSQL and want conversations next to that data.

Sync

LISTEN wakes. SQL catches up.

Client calls SQL functions under RLS, appends a sequence, LISTEN wakes peers, catch-up is conversation_id plus last_sequence Client Flutter / JS SQL + RLS stored functions sequence durable events LISTEN wake then catch-up id + last_sequence

One core

Several product shapes.

Ticket embed

open_context on type + external_id. Embedding

Activity feed

Status and humans share one sequence. Use cases

Standalone DM

The Flutter app on the standalone tenant. Quickstart

4

Transactional status

efelant.publish_status commits with your UPDATE. Rollback hides the event.

5

REST & gRPC

PostgreSQL extensions. Same SQL. No FastAPI sidecar. Tokens scoped per tenant.

6

B2B tenants

Each org is a platform.tenants row. The Flutter app can set the host. It still cannot switch tenants.

efelant

Honest

Local preview is usable. B2B product is not finished.

Tenancy exists in SQL. The Flutter app can set the host. No tenant switcher, invites, or SSO. E2EE is a first step, not Signal. Self-host under AGPL. Hosted product and paid support are not offered yet — there is no cloud signup. Read readiness and security.

Honorable mention

Fireship: I replaced my entire tech stack with Postgres…

Fireship

I replaced my entire tech stack with Postgres…

The case for keeping work in PostgreSQL. We built Efelant on that argument.