Home

Our technologies

SWeather turns data from spacecraft and observatories into space weather forecasts, automatically and around the clock. A small team builds it on a current .NET platform.

Architecture

The system is split into independent parts, so each can change without breaking the others.

  • A modular monolith: one service made of independent modules.
  • Each module has its own contracts, domain, data and API layers.
  • Modules talk through a source-generated in-process mediator and through integration events on a message bus.
  • Architecture tests fail the build when one module depends on another.

Modern platform

We build on current versions of our tools and keep the code strict.

  • .NET 11 with runtime async and nullable reference types everywhere.
  • ASP.NET Core with Minimal API, OpenAPI and versioned endpoints, as well as Blazor Server.
  • Microsoft Aspire for the local environment.
  • Entity Framework Core and Dapper for data access.
  • A strict build: every warning is an error, code style is checked in the build.
  • Multilingual: Russian, English, Chinese, Finnish and Norwegian.

Artificial intelligence

AI helps explain space weather, and AI agents can use our data.

  • Microsoft.Extensions.AI and OpenAI-compatible clients.
  • Microsoft Agent Framework.
  • DeepL.
  • Tesseract OCR.
  • An MCP server with tools for AI agents.

Storage and messaging

Each kind of data lives in the storage that suits it.

  • PostgreSQL with PostGIS.
  • ClickHouse.
  • Garnet and a two-level hybrid cache.
  • RustFS, an S3-compatible object storage.
  • RabbitMQ and Rebus.

Performance

Heavy calculations run fast and do not waste memory.

  • SIMD vectorization and FMA instructions in Geopack.
  • Geopack computations and data parsers without memory allocations.
  • NativeAOT: Geopack is a native library that Python uses without .NET.

Visualization

Charts and maps are drawn on the server automatically.

  • Our own library built on ScottPlot; charts in WebP.

Tests

Every change is checked automatically before it reaches users.

  • Unit tests in every repository.
  • Integration tests with PostgreSQL, RabbitMQ and S3 storage in containers.
  • Architecture tests and dependency container tests.
  • Chart rendering tests.
  • BenchmarkDotNet benchmarks against performance regressions.

Containers and operations

The system ships in containers and reports its own health.

  • Docker images built in stages; the build is automated with Fallout.
  • OpenTelemetry, Prometheus, Loki, Tempo and Grafana; health checks and business metrics.
  • A diagnostics sidecar collects memory dumps and traces without stopping the service.
  • CI checks style, builds, tests and publishes every change.

Open source

We support open source: our scientific and infrastructure libraries are published openly on GitHub, NuGet.org and PyPI.

Rejoining the server…

Rejoin failed. Trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please reload the page.