Chat is the most underestimated build in software. A message has to arrive once, in order, to someone whose phone is off. Agencies quote $40,000 to $180,000. We build a working core in one week for $5,000.
Not the screens. These are the parts that decide whether a real-time messaging app works or falls over:
Delivery guarantees. Sent, delivered, read. Messages must survive an offline recipient, arrive exactly once, and stay in order.
Persistent connections. Thousands of concurrent sockets with reconnection, backoff and a queue that drains correctly when a client comes back.
Presence and typing. High-frequency, low-value events. Treat them like messages and they will flood your infrastructure.
Group fanout. One message to 200 members is 200 deliveries and 200 receipt states to track.
Media out of band. Attachments upload separately from the message stream, or a photo blocks the conversation.
The specific decisions that make a real-time messaging app hold up, and that the obvious version gets wrong:
An inbox per device. Undelivered messages sit in an inbox row per device and clear on acknowledgement. That is what makes "my phone was off for two days" work, and it is why one account can run on several devices without losing messages.
Persist before you deliver. The message is written to durable storage first, then pushed. A crash between the two loses nothing, because delivery retries from the inbox.
Sockets with heartbeats. Clients hold a persistent connection and exchange heartbeats every few seconds, so a dead connection is detected in seconds instead of being discovered on the next send.
Pub/sub partitioned by user. Routing between chat servers runs over channels partitioned by user. Large groups switch to a per-chat channel, so one busy group does not explode into thousands of individual publishes.
Sequence numbers per chat. Each conversation numbers its messages, so a client that receives 5 after 3 knows it missed one and re-syncs rather than silently dropping it.
Media straight to storage. Attachments upload directly to blob storage with presigned URLs, so a 30MB video never blocks the message path.
The gap
A studio quote for a real-time messaging app usually lands at $40,000 to $180,000 over four to eight months. We build a launchable core in one week for a flat $5,000, deployed on your own accounts, with every line of code yours to keep.
A working product you can put in front of real users:
One-to-one and group chat over persistent connections
An offline queue with exactly-once, ordered delivery
Sent, delivered and read receipts
Presence and typing indicators, handled cheaply
Media attachments and push notifications
Native iOS and Android clients
And what we would leave out. Being straight about this is the only way a fixed price means anything:
End-to-end encryption, which we scope separately because it changes key handling, search and backup
Voice and video calling
Multi-device key synchronisation
Message reactions, threads and channels, unless you need them
You are getting the core of the same problem the big product solved, scoped to something launchable. Not a clone of the finished article.
Yes, but not as a checkbox in the same week. It changes how keys, backups, search and multi-device all work. We price it as its own piece of work and tell you honestly what it costs.
Yes. Messages queue server-side and deliver in order on reconnect, with receipts updating as they land. That queue is the core of the build.
A free 20 minute call. We will tell you if an app like WhatsApp is a fit for one week, and what it takes.
Start here: what it costs to build an app in 2026, or how the week works.