Skip to content
Saim Hashmi

SkyTalk

2025-10

Encrypted push-to-talk walkie-talkie over Iridium Certus satellite (22 kbps, 500–1500 ms latency), built at the SKYTRAC Hackathon.

SkyTalk
ROLE
Built the client comms library (ForbiddenLANComms) on a 4-person team
RESULT
AES-256-GCM push-to-talk that stays responsive at satellite latency
STATUS
Hackathon build (SKYTRAC Hackathon)
STACK
React NativeExpoFastifyWebSocketPrismaPostgreSQLDigitalOcean

Quest briefing

Problem

Push-to-talk over satellite is hard. An Iridium Certus link gives about 22 kbps and 500–1500 ms of latency. A naive walkie-talkie app breaks down: two people press the button at once, and both think they have the floor.

What I built

  • A cross-platform Android/iOS walkie-talkie app (Expo) with AES-256-GCM encrypted push-to-talk over Iridium Certus.
  • The client comms library, ForbiddenLANComms, which handles the full push-to-talk connection over the unreliable satellite link. I owned this package in the monorepo. Teammates built the Fastify relay server and the mobile and web UI.
  • Timestamp-based floor control. When two presses collide, timestamps decide the winner before the server confirms, so audio stays responsive at satellite latency.

Result

Encrypted push-to-talk over Iridium Certus that holds up at satellite latency. The architecture, sequence diagrams and API contracts are on the project's docs site.

Loot (what was learned)

  • At 500+ ms round trips you can't wait for the server to decide. Decide locally with a rule everyone agrees on, then reconcile.
  • Bandwidth budgets change every design choice, from codec to message framing.
  • A shared comms library with a clear API let four people build in parallel without blocking each other.

That's the whole story.

Liked it?

Say hi, I'm open to new-grad roles from summer 2027.

Something off?

Tell me and it gets fixed tonight.

← All work