Skip to content
Launch Rail
Design-partner pilot · flagship pilot

Make conversation a product capability you control.

Launch Rail Chat combines a source-owned Go backend, serious messaging workflows, recoverable realtime, and proposed React and Flutter visual kits—deployed in your cloud and shaped around your product.

Need a workflow the pilot does not cover? Scope it with the product team.

Component system previewProposed pilot UI

Launch room

Product team · 8 members

MK

Maya

10:24

The release checklist is ready. I linked the deployment notes in the thread.
3 replies 4 reactions
Great. @Maya, I’ll review the recovery steps before the pilot.

Read

Jordan is typing

Write a message…
Lifecycle
Design-partner pilot
Clients
React + Flutter
Interfaces
REST · Connect/gRPC · WebSocket · MCP via Agent Gateway
Commercial basis
Design-partner pilot terms

01 / Product surface

The hard parts of chat, connected as one product domain.

The pilot goes beyond a message table and a socket. Conversation UX, policy, operational controls, and delivery semantics share one explicit contract.
01

Conversation primitives

Direct and group conversations, channels, threads, replies, mentions, reactions, edits, and soft deletion.

02

Recoverable realtime

WebSocket delivery designed around reconnects, cursors, unread state, typing, presence, and missed-event recovery.

03

Product discovery

Conversation and message search, stable pagination, filters, and a model prepared for high-traffic product surfaces.

04

Safety controls

Roles, mute, block, report, moderation actions, and authorization checks designed into the domain contract.

05

Rich messaging

Attachment references, structured metadata, delivery state, read state, and notification handoff.

02 / React + Flutter

Start coherent. Keep every layer replaceable.

The proposed kits cover conversation lists, threads, messages, composers, unread state, and attachment surfaces without forcing your visual language.
Proposed React component APITSX
import {
  ChatProvider,
  ConversationList,
  MessageThread,
  MessageComposer,
} from "@launchrail/chat-react";

export function WorkspaceChat({ session }) {
  return (
    <ChatProvider session={session}>
      <ConversationList />
      <MessageThread conversationId="support" />
      <MessageComposer conversationId="support" />
    </ChatProvider>
  );
}
Proposed Flutter widget APIDart
LaunchRailChat(
  session: chatSession,
  child: ChatShell(
    conversations: ConversationList(),
    thread: MessageThread(conversationId: "support"),
    composer: MessageComposer(conversationId: "support"),
  ),
)

03 / Customer-cloud architecture

A durable model beneath the realtime experience.

The first target is a single-region, multi-availability-zone AWS topology in the customer account. Broader topologies follow validation and qualified demand.
01

Product clients

React, Flutter, backend clients, and operator tools.

02

API + realtime edge

Durable commands plus scoped WebSocket delivery.

03

Chat domain

Tenant-aware state, outbox events, policy checks, and horizontal workers.

PostgreSQL

Durable state + transactional outbox

NATS JetStream

Events + worker coordination

Redis

Presence + connection state

Search adapter

Replaceable indexing contract

01

Durable before acknowledgement

The target write path commits a message and its outbox record before acknowledging the client.

02

Ordered inside a conversation

Each conversation receives a monotonic sequence so clients can reconcile gaps without assuming global ordering.

03

Safe client retries

A client_message_id idempotency key is planned to make reconnect and retry behaviour explicit.

04

At-least-once events

Consumers deduplicate event deliveries; the contract does not pretend distributed delivery is exactly once.

05

Realtime is recoverable

WebSocket events accelerate delivery while durable history and cursors remain the recovery source of truth.

06

Ephemeral stays ephemeral

Presence and typing signals stay separate from durable messages and audit records.

05 / Pilot boundaries

A focused first release with visible gates.

Support is guided design-partner support. The module remains a pilot until isolation, recovery, load, compatibility, and operational documentation pass review.

Targeted in the first pilot

  • Direct, group, and channel conversations
  • Threads, mentions, reactions, edits, and attachments
  • Typing, presence, unread, delivery, and read state
  • Search, moderation, and product-level policy
  • React and Flutter component previews

Outside the first pilot

  • Active-active multi-region topology
  • End-to-end encryption
  • Voice and video calling
  • Federation and marketplace bots
  • Autonomous agent posting without approval

Release gates

01

Tenant isolation

02

Reconnect + replay

03

Load profile

04

SDK compatibility

05

Operational evidence

Chat private pilot

Build conversation into your product—not into another dependency.

Bring your workflow, client requirements, and expected scale. We will map the module, ecosystem dependencies, custom gaps, and customer-cloud path before either side commits.