“Nagle’s algorithm for texting. Every message under 40 characters gets buffered for 200 ms while we sniff for follow-ups, then five back-to-back ‘lol’s fuse into one atomic lol lol lol lol lol — one packet, one notification, one shred of dignity restored. When your thumb starts typing in all caps we auto-set TCP_NODELAYand let the fragments fly. Enterprise: MTU tuning for your marriage.”
The Problem
You text like a fax machine that has been stung by a wasp. Twelve packets, six of them just “wait”, one of them just a period. Your best friend’s phone buzzes so many times an hour that her partner has started calling you “the outage.”
tcpdump -i imessage012 pkts · 47 B payload · 480 B overhead
20:41:12.001SEND “hey”
20:41:12.140SEND “sooo”
20:41:12.312SEND “u kno”
20:41:12.488SEND “the thing”
20:41:12.661SEND “we talked”
20:41:12.802SEND “about”
20:41:13.011SEND “last”
20:41:13.202SEND “sat”
20:41:13.394SEND “?”
20:41:13.588SEND “...”
20:41:13.771SEND “nvm”
20:41:13.910SEND “lol”
recipient’s phone: 12 buzzes in 1.9s. recipient: not answering.
The Solution
A userspace shim between your thumb and iMessage. Tiny sends get parked in a send buffer; we wait 200 ms for a friend, coalesce everything into a single MTU-sized emotion, and ship one polite, complete-sentence packet.
nagle-shim · coalescer1 pkt out · 92% overhead saved
in-buffer
“hey”
“sooo”
“u kno”
“the thing”
“we talked about”
“last sat”
“?”
wire
“Hey — so, you know the thing we talked about last Saturday? Never mind, lol.”
recipient’s phone: 1 buzz. recipient: replies in 40s. relationship SLA: green.
The Buffer, In Motion
send windowMTU 280 chars · ⌛ 178 ms remaining
Failure Modes
HEAD_OF_LINE_BLOCK
You typed ‘hey’ and then went to make toast. Your friend sees ‘typing…’ for 40 minutes and moves.
COALESCE_MISFIRE
Two unrelated threads got fused: ‘happy birthday grandma we broke up’. Grandma is now the emergency contact.
NODELAY_STORM
Autocorrect confused rage with excitement. TCP_NODELAY engaged. 47 packets sent in 3 seconds. All-caps. Some rhyming.
SILLY_WINDOW
You keep opening the app just to read your own draft. The window shrinks to 1 character. All you can send is ‘k’.
Pricing
TCP_DEFAULT
$0
200 ms buffer. Coalesces up to 5 fragments. You still send “wait” on its own line 4x/day.
TCP_TUNED
$12 / mo
Adaptive timer, per-contact MTU (Mom gets 90 chars, boss gets 280), automatic period insertion.
TCP_MARRIAGE
$149 / mo
Split TCP proxy runs at your therapist’s office. Retransmits with context. Nightly WAL replay.
TAM
addressable market · humans who have sent “.” as its own message
3.1B smartphone users × 41 stray fragments / day × $0.004 / spared notification
= $186B / yr in unbuzzed vibrations
Methodology: our CTO’s wife stopped speaking to him during pitch prep. Signal validated.
The Ask
$3M seed. 50% to a real-time NLP model that can distinguish a natural pause from a bad thought getting caught mid-air. 30% to lawyers, because buffering someone’s text messages is either wiretapping or a Series B, we’re not sure yet. 20% to a giant screensaver in the office that says DO NOT PING. Series A pitch: “We’re Grammarly, but for the space between two people.”