/// case study 020
macOS
Project 020

Relay

Meta retired the Messenger desktop app and shut down messenger.com, leaving the Mac with a browser tab or nothing — Relay is a real, first-class Mac app built to take its place. A SwiftUI front end (Liquid Glass on macOS 26, frosted material below) talks over stdio/JSON to a Go helper daemon that decodes Meta's actual Lightspeed and encrypted protocols. Reactions, replies, edit/unsend, scheduled send, global full-text search over SQLite-stored local history, on-device translation, Touch ID lock, and Siri/Shortcuts intents. Universal binaries, macOS 13+, signed in-app Sparkle updates; sessions live only in the macOS Keychain.

v1.0.7 · .dmg
Release
macOS 13+ · Universal
Platform
AGPL-3.0
License
macOS
Category
The Problem

What Wasn't Working

Meta killed the Messenger desktop app and shut down messenger.com, leaving Mac users a browser tab or nothing — and no native client exists for the Intel Macs everyone forgot.

The Solution

How I Fixed It

A SwiftUI app driven by a Go helper over a stdio/JSON pipe that speaks Meta's real Lightspeed + encrypted protocols, storing full history locally in SQLite with sessions kept only in the macOS Keychain.

Stack

Technologies Used

SwiftUI
Go
SQLite
mautrix-meta
Sparkle
XcodeGen
Results

Key Outcomes

Shipped v1.0.7 with .dmg + .zip release assets and a signed Sparkle appcast
Full messaging surface: reactions, replies, edit, unsend, forward, voice notes, scheduled send
Global full-text search over all local history — smooth even on slow Intel Macs
Universal Intel + Apple Silicon binaries for both the app and the Go backend, macOS 13 → 26

Want something like this?

Let's build it. I ship fast and I ship clean.