| Project | Notes |
|---|---|
| Atlas-Modernization | App stack rewrite — core, protocol, SDK, plugins, command UI, simulations |
| easymanet | Zero-touch OpenMANET provisioning and imaging |
| DCS | Small personal Codex skills library — external review skills, architecture-map (0.14.0) |
| sidc-kit | Compact TypeScript toolkit for Symbol Identification Codes |
| Meshtastic-WIFI-bridge | Chunked, reliable Meshtastic transport with browser-over-mesh UI |
| Atlas-Mesh | Radio transport & mesh-routing lab under Atlas |
I work on systems where the map, the radio, and the backend have to agree — Go/TypeScript services, map consoles, mesh transports, and the small libraries that keep those pieces interoperable. Prefer things you can run locally, measure, and replay.
Main effort. Two repos: the application rewrite, and the radio/mesh lab underneath it.
flowchart TB
subgraph UI["Command surface"]
CI["Command interface<br/>map console · Cloudflare / Vite"]
SIM["Simulations<br/>local scenario workbench"]
end
subgraph APP["Application stack — Atlas-Modernization"]
SDK["SDK + asset runtime<br/>typed client · sync · telemetry"]
PROTO["Protocol<br/>schemas · contracts · validators"]
CORE["Core<br/>Go API · storage · object store"]
end
subgraph MESH["Transport lab — Atlas-Mesh"]
WEB["Replay viewer"]
MSIM["Deterministic simulation"]
MP["MeshProtocol"]
RAD["Radio"]
end
CI --> SDK
SIM --> SDK
SDK --> PROTO
PROTO --> CORE
CORE -. uses .-> MESH
WEB --> MSIM
MSIM --> MP
MP --> RAD
Atlas-Modernization — one workspace for the rewrite:
| Layer | Role |
|---|---|
| Core | Go HTTP API, durable storage, object store |
| Protocol | Schemas, generated contracts, validators |
| SDK & asset runtime | Typed client, sync, telemetry / command path |
| Atlas Link | Meshtastic Link service/SDK — Shared Picture, Tasks, radio transport |
| Plugins | Authoring runtime, first-party catalog, catalog releases |
| Core CLI | Default Ink action-list TUI for single-host atlas-core lifecycle and Plugin updates |
| Command interface | Map console on Cloudflare Pages / Vite |
| Simulations | Local scenario workbench + browser UI |
Recent focus: ArduPilot flight tasking — a macOS Asset Host executing takeoff, go-to, return-to-launch, and land over MAVLink, with Protocol schemas, Core Task validation and ordering, and operator inputs in the command interface. The host waits for accepted starts, fresh telemetry, and Guided authority before dispatch, then reports observed outcomes; hardening covers recovery confirmation and stall detection, pilot takeover, battery readiness, and startup/input validation, exercised end to end against a fake aircraft over MAVLink TCP. Alongside it, a Core/Protocol/SDK simplification consolidated check-in behavior, validation ownership, error-payload sanitization, and CLI boundaries; the test suite dropped duplicate validation matrices while keeping behavioral, migration-checksum, and real-storage recovery coverage; and a TypeScript review pass fixed Compose parsing and SDK hydration bookkeeping and cut redundant map-navigation work within the bundle budget. Prior window: replaced Atlas Core release orchestration (tag reservation, a single publication path, immutable sealed Release assets, GHCR/npm reconcile), and hardened the default Ink atlas-core TUI with shared interruption/cancellation handling and typed Plugin recovery outcomes. Independent Plugin releases (schema 4), Asset/Track movement history, and Meshtastic Link as the sole radio stack continue from Core v0.2.1.
Atlas-Mesh — narrower question: how should bytes move between radios on an unreliable network?
Architecture is intentionally thin: Radio → MeshProtocol → Simulation → web replay viewer. Direct strategies (ack, stop-and-wait, …) sit beside routing experiments (gateway-tree, controlled flooding, on-demand, quality-tree). Simulator is seeded and deterministic, including a measured Heltec V3 LoRa airtime model.
Latest: consolidated radio verification lab.
Updated 28 Oct 2026



