TCALVET.SYS ▂▄▆█ -- --- ---- --:--:-- UTC

> GCS BOOT SEQ v7.1 .......... OK > TELEMETRY LINK @ 10 Hz ..... OK > OPERATOR IDENTIFIED:

TYLER CALVET

Software Engineer Autonomous Systems // Satcom // Ground Control

SCROLL TO ACQUIRE SIGNAL ▼

// About the operator

I build the software that keeps uncrewed vehicles on mission — ground control stations, satellite comm links, and real-time telemetry pipelines for machines in the air, on the water, and in the field.

Day to day that means Python backends (FastAPI, Flask) speaking MAVLink to autopilots, Android apps driving Iridium modems over USB serial, and Raspberry Pis doing serious work in places with no cell coverage. If it moves without a person on board, I've probably written a console for it.

Tyler Calvet at a marina launch ramp beside the BOATIE unmanned surface vehicle
Operator file — T. Calvet
Status: in the field
Last fix: marina launch ramp
3Domains: air / sea / ground
10 HzLive telemetry standard
20+Satcom command types coded
6Systems fielded & running

// Mission log

Select an entry to open the case file

Drone-in-a-Box field kit: camera turret, GPS puck and display panel on a rugged case DIB case and towed sensor body staged on a dock Regent console control view: primary flight display, satellite map, live camera feed, and outpost module status grid
Fig 01A — DIB autonomy kit in its field case
1 / 3

Overview

A FastAPI mission-control server that rides on a Raspberry Pi strapped to the autopilot — the brain inside GreyCliff's Drone-in-a-Box kit. A supervised module system owns the MAVLink connection, broadcasts telemetry at 10 Hz over WebSocket, handles mission upload/download with progress tracking, streams live video over RTSP, drives an e-ink status dashboard, and reads joystick input with deadzones and exponential curves. It also publishes typed client packages that the ground server consumes by version.

Role

  • Design & build

Stack

  • Python / FastAPI
  • MAVSDK / MAVLink
  • Docker + mediamtx
  • gpiozero / pygame
SIDEARM Iridium communicator PCB held in a bench vise SIDEARM enclosure CAD renders, four views
Fig 02A — SIDEARM board on the bench
1 / 2

Overview

The software half of SIDEARM, GreyCliff's operational Iridium SATCOM gateway: an HTTP API that bridges a satellite modem to a ground control station for when the vehicle is far past the last cell tower. Encrypted bi-directional messaging, a binary codec that packs waypoints, telemetry and 20+ command types into tiny satellite frames, a beacon mode that schedules transmissions around satellite passes using ephemeris data, and an async transaction queue so nothing gets lost over a flaky link.

Role

  • Design & build

Stack

  • Python / Flask
  • Iridium SBD
  • pymavlink / WebSockets
  • SQLite + cryptography
Regent dashboard: world map of Iridium message clusters, message inspector, server log, and device manager Regent coordinate view: fleet map over Florida with an 18-vehicle roster of live and offline platforms
Fig 03A — global Iridium message traffic
1 / 2

Overview

The Battlespace Server — the ground end of the satellite link, where PiShieldLight and ShieldFRNT are the field ends. A Vue 3 + MapLibre operator console talks REST and WebSocket to a FastAPI backend with a separate worker process, visualizing device positions and routing encrypted message traffic over Iridium SBD for platforms like BOATIE. Postgres sits behind Alembic migrations, satellite pass windows come from ephemeris math, and the frontend's TypeScript types are generated straight from the backend's OpenAPI schema. It consumes OUTPOST's published client packages by version, so the two systems evolve in lockstep.

Role

  • Design & build

Stack

  • Python / FastAPI
  • Vue 3 + MapLibre
  • PostgreSQL + Alembic
  • Iridium SBD
SideArm operator app running on a ruggedized Android handset Companion radio head-unit app: CIV/MIL bands, frequency presets, volume and squelch controls, Iridium status
Fig 04A — operator app on the field handset
1 / 2

Overview

The operator's end of the SIDEARM gateway: an Android controller for Iridium satellite modems in the field. Compose a message, it gets encrypted, queued, and transmitted over a USB serial link to the modem — with background services draining the outbound queue and babysitting the hardware connection. GPS tracking, inbox, device configuration and session management across eight fragments, all backed by a Room database in a clean MVVM architecture.

Role

  • Design & build

Stack

  • Android / MVVM
  • Room + RxJava
  • USB CDC serial
  • Mapbox
FinalPoint mission planner on an Android tablet: dark Mapbox map with waypoint, search pattern, marker, and drone command tools
Fig 05 — FinalPoint mission planner on the field tablet

Overview

A real-time air and sea traffic monitor for Android. Three concurrent WebSocket feeds — ADS-B aircraft, AIS vessels, and server status — run through a priority queue onto a live Mapbox display, with filtering, detail panels, and route history persisted in Room. A companion planning mode — FinalPoint — handles waypoints, search patterns, and drop-point selection for airdrop missions.

Role

  • Design & build

Stack

  • Android (Kotlin/Java)
  • ADS-B + AIS feeds
  • OkHttp WebSockets
  • Mapbox + Room

Overview

A real-time transcription daemon for the Raspberry Pi 5: one process records audio in ten-second chunks, another runs them through OpenAI Whisper on-device — no cloud, no connectivity required. Model sizes scale from tiny.en up to medium.en depending on how much latency the mission can tolerate.

Role

  • Design & build

Stack

  • Python / Whisper
  • Raspberry Pi 5
  • ALSA audio capture
GreyCliff Industries dashboard page: logo, status ticker, and what-we-build grid in the Battlespace console theme BOATIE product page with capabilities list, spec cards, demo video, and photos GreyCliff landing splash with logo and tagline on a dotted grid
Fig 07A — dashboard in the Battlespace theme
1 / 3

Overview

The public face of GreyCliff Industries, live at gcliffindustries.com — a Vue 3 single-page app styled as the company's own Battlespace Server console. Product pages are fully data-driven: every platform and radio is a plain object in a data file, rendered through one shared ProductCard component, so adding a product never touches layout code. Design tokens drive the whole theme, routes are lazy-loaded, and the site ships as a containerized nginx build deployed to Google Cloud Run through GitLab CI.

Role

  • Design & build

Stack

  • Vue 3 + Vite
  • CSS design tokens
  • Docker + nginx
  • Cloud Run + GitLab CI
PYTHON//FASTAPI//MAVLINK//DOCKER//KOTLIN//ANDROID//WEBSOCKETS//IRIDIUM SBD//GO//SQLITE//MAPBOX//RASPBERRY PI//

// Field-tested capabilities

CAP-01

SATELLITE COMMS

Iridium SBD links end to end: binary codecs, encrypted store-and-forward queues, and beacons scheduled around satellite passes.

CAP-02

VEHICLE AUTONOMY

MAVLink and MAVSDK mission control for drones and boats — upload, track, pause, return, kill.

CAP-03

REAL-TIME TELEMETRY

10 Hz WebSocket pipelines from autopilot to browser and Android, with priority queues when the data firehose gets loud.

CAP-04

EDGE HARDWARE

Raspberry Pi field servers, USB serial modems, e-ink dashboards, kiosk touchscreens — deployed with Docker and systemd.

// Open a channel

MAKE CONTACT

Go ahead — the link is up and the queue is empty

tbugaj444@gmail.com Transmit