Synops
Skip to content
Mesh

A high-performance team collaboration platform built in Go. Real-time messaging, large file transfer, and workspaces that stay in sync across every client.

Generally availableGogRPCWebSocketPostgreSQLRedis
The problem

Collaboration tools buckle exactly when the team scales.

Most chat platforms are prototypes that got popular. They hold up in a ten-person workspace and fall apart at a thousand — messages arrive out of order, uploads time out, and every new client drifts a little further from the truth.

  • Message ordering that quietly breaks under concurrent writes.
  • File uploads that fail at exactly the size teams actually share.
  • Sync conflicts resolved by whichever client shouted last.
  • Per-seat pricing that punishes you for growing.
The solution

A collaboration core engineered like infrastructure.

Mesh treats a workspace as a replicated log, not a pile of rows. Every message is sequenced server-side before it fans out, so ordering is a property of the system rather than a hope. The transport is Go all the way down.

  • Server-assigned sequence numbers — total order per channel, always.
  • Resumable chunked uploads that survive a dropped connection.
  • Sub-50ms fan-out at p99 across regions.
  • Single-tenant deployments for teams that need the boundary.
Features

What Mesh does.

Real-time messaging

Persistent WebSocket fan-out with server-assigned ordering. Messages land once, in sequence, on every connected client.

Large file uploads

Chunked, resumable transfers straight to object storage. A dropped connection resumes at the last chunk, not the first byte.

Team workspaces

Nested channels, granular roles, and guest access that expires on its own instead of lingering forever.

Enterprise architecture

SSO via SAML and OIDC, audit logs on every mutation, and single-tenant deployment when the compliance team asks.

Fast synchronization

Clients reconnect with a cursor and replay only what they missed. Cold start on a year-old workspace is still instant.

Built for scale

Horizontally sharded by workspace. Adding capacity is adding nodes — there is no vertical ceiling to hit.

Architecture

How it's put together.

Every layer exists because a guarantee demanded it.

  1. Edge

    TLS termination and connection upgrade at the nearest region. Sticky routing keeps a session on one gateway for its lifetime.

    EnvoyWebSocket
  2. Gateway

    Stateless Go services holding the socket fan-out. Each gateway owns connections, never state — losing one costs a reconnect.

    GogRPC
  3. Sequencer

    The ordering authority. Assigns a monotonic sequence per channel before anything is durable or visible.

    GoRaft
  4. Storage

    Postgres for the message log and metadata, Redis for presence and cursors, object storage for file content.

    PostgreSQLRedisS3
Product

A look inside.

Interface walkthrough coming with the next release.

Workspace overviewScreenshot pending
Detail viewScreenshot pending
Pricing

Priced to be predictable.

Indicative pricing while we finalise plans. Nothing here is a surprise later.

Team

$12per user / month

For teams that have outgrown a group chat.

  • Unlimited channels
  • 10 GB per file
  • 90-day history
  • Community support
Get started

Business

Most popular
$28per user / month

For companies where downtime has a dollar figure.

  • Everything in Team
  • SSO (SAML, OIDC)
  • Unlimited history
  • Audit logs
  • 99.95% uptime SLA
Get started

Enterprise

Customannual

For teams that need the deployment inside their boundary.

  • Everything in Business
  • Single-tenant deployment
  • Bring your own cloud
  • Dedicated support engineer
Talk to us
FAQ

Questions, answered directly.

Why Go rather than Node or Elixir?

Connection fan-out is the whole workload, and Go's scheduler handles hundreds of thousands of concurrent goroutines with predictable memory. We get BEAM-class concurrency with a static binary and a boring deployment story.

How large can a file actually be?

10 GB per file on Team, unlimited on Business and Enterprise. Uploads are chunked and resumable, so size is bounded by your storage bill rather than by an HTTP timeout.

Can we self-host?

Yes, on Enterprise. Mesh ships as a set of containers with a Terraform module. It runs in your VPC, on your cloud account, with your key management.

What happens to message order during a partition?

The sequencer is Raft-backed, so it needs a quorum to assign sequence numbers. In a partition the minority side rejects writes rather than accepting messages it might have to reorder later. We chose consistency over availability here on purpose.

Is there an API?

A full gRPC and REST API covering every action the client can take, plus outbound webhooks. The Mesh client is written against the same public API you get.

Ready to try Mesh?

Tell us about your team and we'll get you set up.