Design Satellite Imagery Platform

Hard45 min
1 / 30
understanding8 min read

Earth observation platform framing and capture lifecycle

How Earth observation platform framing and capture lifecycle (understanding) informs Satellite Imagery Platform architecture and interviewer depth.

Earth observation platform framing and capture lifecycle

Numbers to state early

  • Metric A: 200 EO satellites
  • Metric B: 3 m GSD
  • Metric C: daily revisit

Mechanism

Planet-style daily global coverage starts with constellation tasking: each satellite schedules nadir or off-nadir captures based on cloud forecasts and customer AOIs. Raw downlink hits ground stations, then ingest validates checksums, attaches orbit metadata, and enqueues L1 radiometric correction before any user sees a tile.

Failure and edge cases

If Downlink saturates during a pass, prioritize paid SLA AOIs and defer opportunistic captures. Partial files must land in quarantine with capture_id so reprocessing does not double-bill customers.

Open with capture → correct → tile → analyze—interviewers confuse imagery platforms with photo CDNs. Name ground resolution (GSD) and revisit cadence before drawing boxes.

Java

javaOne Dark Pro
1public final class ImageryCtx1 {
2 private final String captureId;
3 private final long epochMs;
4
5 public ImageryCtx1(String captureId, long epochMs) {
6 if (captureId == null || captureId.isBlank()) throw new IllegalArgumentException("id required");
7 this.captureId = captureId;
8 this.epochMs = epochMs;
9 }
10
11 public String partitionKey() {
12 return captureId + ":" + (epochMs / 86_400_000L);
13 }
14}

Python

pythonOne Dark Pro
1from dataclasses import dataclass
2
3@dataclass(frozen=True)
4class ImageryCtx1:
5 captureId: str
6 epoch_ms: int
7
8 def partition_key(self) -> str:
9 if not self.captureId:
10 raise ValueError("id required")
11 return f"{self.captureId}:{self.epoch_ms // 86_400_000}"

TypeScript

typescriptOne Dark Pro
1export interface ImageryCtx1 {
2 captureId: string;
3 epochMs: number;
4}
5
6export function partitionKey(key: ImageryCtx1): string {
7 if (!key.captureId) throw new Error("id required");
8 return `${key.captureId}:${Math.floor(key.epochMs / 86_400_000)}`;
9}

Why interviewers care

Satellite Imagery Platform interviews reward crisp scope, explicit trade-offs, and failure stories—not generic microservice diagrams.

Interview checkpoint

Name one failure story for Earth observation platform framing and capture lifecycle that proves you understand real outages, not happy-path diagrams.

Key Highlights

  • 200 EO satellites
  • Constellation → Downlink → Ingest
  • Planet-style **daily global coverage** starts with **constellation tasking**: ea
What interviewers want to hear
Lead Earth observation platform framing and capture lifecycle with numeric SLOs and explicit Constellation versus Ingest boundaries.
Pro tip
Separate catalog metadata QPS from COG byte throughput in sec-001.

Section Rescue Kit

Buzzwords to use:

200 IndexSTAC Item

Safe statements:

  • "For Earth observation platform framing and capture lifecycle, I anchor on 200 EO satellites and keep ingest idempotent before catalog publish."
  • "If Ingest saturates, I shed opportunistic mosaics before enterprise SLA AOIs."
Design Satellite Imagery Platform - System Design | WinJob | WinJob