Remix.run Logo
Show HN: Sidereon: GNSS and Astrodynamics (Python, Rust, JavaScript, C, Elixir)(sidereon.dev)
3 points by nberkman 18 hours ago

I’ve been building Sidereon, an MIT-licensed GNSS positioning and astrodynamics engine.

The submission is a browser demo running the Rust core client-side through WASM. Source for this:

https://github.com/neilberkman/sidereon

The idea is one engine for both the receiver and spacecraft sides: SPP/RTK/PPP, RINEX/RTCM/NTRIP, Galileo HAS/SSR, GNSS/INS fusion, SGP4 and numerical propagation, orbit determination, conjunction screening, pass prediction, reference frames, and time systems. Python, Rust, JavaScript/WASM, C, and Elixir all use the same core.

Several features came directly from open issues in widely used GNSS and astrodynamics libraries: multi-constellation ARAIM, Galileo state-space corrections, station-displacement corrections, sidereal multipath filtering, and track cleanup without an IMU.

Tests compare results with RTKLIB, the 33-satellite Vallado/CelesTrak SGP4 verification corpus, pinned Skyfield frame vectors, Karney’s test set, and the published WG-C ARAIM example. The Vallado corpus and Skyfield vectors match at 0 ULP.

The language-specific interfaces are here:

Python: https://github.com/neilberkman/sidereon-python

JavaScript/WASM: https://github.com/neilberkman/sidereon-wasm

C: https://github.com/neilberkman/sidereon-c

Elixir: https://github.com/neilberkman/sidereon-ex

Much of the code was written with AI coding agents, with me very much in the loop.

I'd really appreciate any feedback!