January 14, 2026
Version me, maybe?
I Designed a Custom Protocol for My App
Dev builds Kurdish-friendly protocol, comments chant “add a version”
TLDR: A developer built a fast Kurdish text checker with a custom 8‑bit code and a two‑way streaming protocol. The top comment demands a version number in the header, igniting debate over homegrown formats vs future‑proof design—everyone’s watching to see if versioning lands next.
Meet Rast, a bold new project aiming to catch spelling mistakes in Central Kurdish by streaming text to a server and getting mistakes sent back in real time. The creator didn’t just make an app—he invented K8, a compact “8‑bit alphabet” so Kurdish letters don’t take extra space like they do in UTF‑8 (a common text format). It’s all wired over WebSockets (think: a live two‑way chat with the server), with clever caching so repeated error messages don’t clog the line.
The community’s reaction? A mix of applause and side‑eye. Some cheered the language‑first innovation: “Finally, Kurdish gets VIP treatment.” Others warned about the classic tech pitfall: versioning. The top vibe was a chorus of “please add a version number to your header” so future updates don’t break old apps. Cue the drama: Is this a slick custom format or another case of reinventing the wheel? Folks joked about “Sorani sorcery,” teased the “footer that saves the day,” and dropped memes like “Always be versioning.”
While the dev admits bit‑level streaming was too costly to ship (relatable!), the crowd wants guardrails before this protocol goes big. The real story isn’t the bytes—it’s the battle over best practices vs pragmatic speed. Will K8 become a community darling or a cautionary tale? Grab your popcorn.
Key Points
- •Rast targets orthographical error detection for Central Kurdish and is optimized for duplex streaming.
- •K8 is an 8-bit Kurdish encoding created to reduce transport overhead versus UTF-8 for non-ASCII characters.
- •K8 provides optional footer-based compatibility for non-covered UTF-8 characters; footerless variant is used in transport.
- •The transport protocol sends error_count and detail_count headers, error positions (offset and length), then detail headers and payloads.
- •Error details (title, description) are sent once per session and thereafter referenced by index over a WebSocket connection.