SpaceX System Design interview

SpaceX System Design interview

This blog shows how SpaceX expects you to approach System Design interviews—starting from real-world constraints, anticipating failures, and justifying every architectural choice based on physical and environmental realities, not abstractions.

Mar 10, 2026
Share
editor-page-cover

A SpaceX system design interview evaluates your ability to architect mission-critical systems under constraints that invalidate most terrestrial design assumptions, including radiation, intermittent connectivity, variable latency, and irreversible failure. The core challenge is not building scalable web services but reasoning from first principles about telemetry, fault tolerance, and autonomous safety in environments where physics dictates every architectural decision.

Key takeaways

  • Environment before architecture: Space introduces radiation-induced bit flips, communication blackouts, and irreversible failures that force correctness to take priority over availability.
  • Flight and ground separation: A strict contract between onboard and Earth-side systems ensures telemetry remains self-describing, verifiable, and replayable without real-time context requests.
  • Autonomous safety is non-negotiable: Variable latency and link loss mean the vehicle must protect itself through onboard veto logic, command validation, and replay protection.
  • Forward recovery over retransmission: Protocols like forward error correction replace acknowledgment-based reliability because retransmission windows may never arrive.
  • Design for verification: Simulation, hardware-in-the-loop testing, and mission replay infrastructure are first-class architectural components, not afterthoughts.


Most system design interviews test whether you can build something that scales. A SpaceX system design interview tests whether you can build something that survives. The difference is not cosmetic. It reshapes every layer of your architecture, from the transport protocol to the storage model to the safety logic that decides whether a command gets executed or vetoed 400 kilometers above Earth. If you walk into this interview thinking about load balancers and microservices, you have already lost the thread.

This guide reframes the classic Telemetry and Mission Control System design problem the way SpaceX interviewers expect you to approach it. We will work through the environmental constraints that invalidate standard patterns, the architectural separation between flight and ground segments, the protocols and redundancy models that keep data intact under hostile conditions, and the testing infrastructure that makes all of it trustworthy. Every design choice is justified by a physical or operational reality, not by convention.

Let us start where SpaceX expects you to start: with the environment itself.

The environment defines the system#

Before naming a single technology or drawing a single box, a strong SpaceX interview answer establishes the operating domain. Space is not a degraded version of a cloud data center. It is a fundamentally different regime that breaks assumptions engineers carry from terrestrial systems.

Three physical realities dominate every decision:

  • Radiation exposure: Charged particles routinely cause single event upsets (SEUs)transient bit flips in memory or logic circuits caused by ionizing radiation striking a semiconductor device. in both memory and logic circuits. A corrupted sensor reading or a flipped control bit can cascade into catastrophic outcomes if left undetected.
  • Intermittent connectivity: Orbital dynamics, line-of-sight limitations, and plasma blackout during atmospheric reentry create windows where no communication with Earth is possible. These windows are not bugs. They are physics.
  • Irreversible failure: You cannot SSH into a rocket mid-flight. You cannot hot-swap a failed component in orbit. Recovery options are limited, and many failures are permanent.

These realities invert the priority stack that most engineers internalize. Availability gives way to correctness. Fresh data becomes less important than verified data. And autonomous decision-making onboard becomes mandatory because the ground cannot always intervene in time.

Real-world context: During atmospheric reentry, plasma forms around the vehicle and blocks all radio communication for several minutes. This “blackout window” means the vehicle must operate with zero ground support during one of the most critical phases of flight.

The following comparison highlights how space constraints diverge from what most engineers encounter in cloud-native or enterprise system design.

Comparison of Design Assumptions: Terrestrial Cloud vs. Space Systems

Dimension

Terrestrial Cloud Systems

Space Systems

Network Reliability

High-bandwidth, redundant pathways; occasional transient latency or packet loss

Severely challenged by radiation, limited bandwidth, and long distances; higher disruption risk

Failure Recovery

Geographic redundancy, multi-region deployments, automated failover

Autonomous fault isolation, self-diagnostics, and redundant onboard systems; no physical maintenance possible

Latency Model

Generally low latency; increases with distance and network congestion

Extremely high latency; e.g., Earth–Mars delays up to 20 minutes one-way

Primary Design Priority

Scalability, flexibility, and cost-effectiveness

Ultra-reliability and long-term robustness with zero tolerance for failure

Human Intervention

Readily available; staffed data centers enable prompt troubleshooting and upgrades

Highly limited or impossible; systems must operate fully autonomously

Understanding why Earth-based architectures collapse under these constraints is essential. But understanding the constraints alone is not enough. You also need to frame the specific problem SpaceX cares about most: telemetry.

Framing the telemetry problem SpaceX-style#

Telemetry in spaceflight is not observability in the DevOps sense. It is the primary safety mechanism that allows engineers on the ground to understand vehicle state, detect anomalies, and make go/no-go decisions under extreme time pressure. If the telemetry system fails, the mission is effectively blind.

At a high level, the system must move a continuous stream of mission-critical data from the flight vehicle to mission control while guaranteeing three properties:

  1. Integrity. Every reading must arrive uncorrupted or be detectably corrupt.
  2. Ordering. Events must be reconstructable in the exact sequence they occurred, even if packets arrive out of order or with gaps.
  3. Survivability. No critical data should be permanently lost, even during total communication failure.

Notice what is absent from this list. Scalability in the horizontal-sharding, auto-scaling sense is not the primary concern. Neither is sub-millisecond latency to end users. The core challenge is reliability under constraint, and that distinction shapes every architectural layer.

Attention: Candidates who frame telemetry as a throughput optimization problem miss the point. SpaceX interviewers are evaluating whether you recognize that this is fundamentally a correctness problem under adversarial physical conditions.

With the problem framed correctly, the next step is quantifying the constraints that will drive component selection and protocol design.

Defining constraints before components#

In a SpaceX interview, constraints are not a section you rush through to reach the architecture diagram. They are the design input. Every component choice, every protocol decision, every redundancy trade-off must trace back to a specific physical or operational limitation.

Quantifying the telemetry flow#

A modern launch vehicle like Falcon 9 or Starship produces tens of thousands of sensor readings per second across propulsion, guidance, navigation, avionics, thermal management, and structural health systems. Raw telemetry throughput can easily exceed 5 to 10 megabytes per second before compression.

Downlink bandwidth, however, is tightly constrained. S-band and X-band links used for telemetry typically offer between 1 and 20 Mbps depending on distance, antenna orientation, and atmospheric conditions. This bandwidth fluctuates as the vehicle changes orientation and as ground station visibility windows open and close.

Latency compounds the challenge. In low Earth orbit, round-trip time sits around 50 to 200 milliseconds. For deep-space missions, it extends to minutes or even hours. Any protocol that relies on frequent acknowledgments or rapid retransmission becomes untenable when the acknowledgment might arrive after the contact window has already closed.

What these numbers rule out#

These constraints immediately eliminate several standard approaches:

  • TCP: Its acknowledgment-based reliability model assumes timely round trips. In space, congestion windows collapse and retransmission timers fire wastefully.
  • Stateless streaming (e.g., fire-and-forget UDP): Acceptable for video streaming where frame loss is tolerable. Unacceptable for safety-critical telemetry where loss is indistinguishable from failure.
  • Request-response APIs: Any design that assumes the ground can request missing context on demand fails the moment the link drops.

Instead, the architecture must think in terms of forward recoverya strategy where the system includes enough redundant information in each transmission to allow the receiver to reconstruct missing data without requesting retransmission., durable buffering, and eventual consistency rather than real-time guarantees.

Pro tip: When presenting constraints in a SpaceX interview, attach numbers. Saying “bandwidth is limited” is weak. Saying “we have roughly 10 Mbps downlink against 5 to 10 MB/s raw telemetry, requiring at minimum 4:1 compression plus prioritization” demonstrates engineering rigor.

The following diagram captures the quantitative flow from sensors to ground, illustrating where bandwidth bottlenecks and latency windows create architectural pressure.

Loading D2 diagram...
Telemetry bandwidth budget from vehicle to ground

With constraints quantified, the next structural decision is the most important one: cleanly separating what happens onboard from what happens on the ground.

Separating flight and ground segments#

A clean conceptual separation between the flight segment and the ground segment is not just organizational tidiness. It is the foundational architectural boundary that determines how the system behaves under partial failure, and SpaceX interviewers expect you to articulate why.

Each segment operates under fundamentally different failure modes, resource profiles, and optimization targets.

The flight segment prioritizes determinism, durability, and autonomy. Software runs on a real-time operating system (RTOS)an operating system that guarantees task completion within strict, deterministic time bounds, ensuring predictable response to sensor inputs and control commands. atop radiation-tolerant hardware. Processing budgets are fixed. Power is limited. And the system must continue functioning with zero external support for extended periods.

The ground segment prioritizes ingestion, validation, analysis, and human decision support. It can scale horizontally across distributed data centers. It has abundant compute and storage. But it must provide consistent, low-latency views of vehicle state to dozens of mission operators simultaneously.

This separation enforces a strict interface contract. The flight segment produces telemetry that must be:

  • Self-describing: Each packet carries enough metadata (sensor IDs, units, calibration references) to be interpreted without external context.
  • Verifiable: Checksums and sequence numbers allow the ground to detect corruption and gaps.
  • Replayable: The full telemetry stream can be reconstructed from onboard storage after the mission, independent of what was received in real time.
Historical note: The Columbia disaster investigation revealed that critical sensor data was not adequately preserved or analyzed in real time. Modern telemetry architectures treat the onboard buffer as an inviolable record, similar to an aircraft’s flight data recorder but streaming continuously.

The flight segment’s internal architecture is where the hardest engineering lives. Let us go inside the vehicle.

Deep dive into flight segment telemetry#

Onboard telemetry handling exists to answer one question: how do you guarantee that no critical data is lost, even when communication fails entirely?

Sensor acquisition and timestamping#

Sensor readings are collected through deterministic data acquisition modules that operate on fixed schedules. Each reading is stamped with a timestamp from a vehicle-wide master clock and assigned a monotonic sequence numbera counter that only increments, never resets or decreases, providing an absolute ordering guarantee even if timestamps experience drift or duplication..

Time and ordering are not metadata conveniences. They are the backbone of post-failure reconstruction. If a propulsion anomaly occurs at T+47.3 seconds, engineers need to correlate accelerometer data, chamber pressure readings, and valve positions at exactly that moment. Without reliable timestamps and sequence numbers, this correlation is impossible.

Packetization and compression#

Raw readings are structured into telemetry packets. Each packet includes a header with metadata (source sensor, timestamp, sequence number), a payload of one or more readings, and a trailing checksum for corruption detection.

Compression is applied conservatively. The algorithm must satisfy three properties simultaneously:

  • Deterministic: The same input must always produce the same output. Nondeterministic compression complicates verification.
  • Low complexity: CPU cycles on flight hardware are precious and shared with guidance and control loops.
  • Predictable execution time: A compression step that occasionally takes 10x longer could violate real-time scheduling constraints.

Delta encodinga compression technique that stores only the differences between consecutive sensor readings rather than absolute values, exploiting the fact that many physical measurements change slowly relative to sampling rate. is often preferred for telemetry because most sensor values, like temperature or pressure, change slowly relative to their sampling frequency. Storing a 2-byte delta instead of a 4-byte absolute value can halve the data volume with negligible CPU cost.

Transmission with forward error correction#

The transport layer is where space telemetry diverges most sharply from terrestrial networking. Instead of TCP’s acknowledgment-and-retransmit model, flight systems use a custom reliable transport layered on top of UDP that incorporates forward error correction (FEC)a technique that adds mathematically computed redundancy bits to transmitted data, allowing the receiver to detect and correct a bounded number of errors without needing retransmission..

FEC works by transmitting additional parity packets alongside data packets. If the ground receives enough of the combined set, it can reconstruct the original data even if some packets were lost in transit. The redundancy ratio is tunable. A typical configuration might add 20 to 30 percent overhead, enabling recovery from loss rates up to that threshold without any retransmission.

This trade-off is explicit: you spend bandwidth now to avoid spending time later. When contact windows are measured in minutes and the next window might be an orbit away, that trade-off is overwhelmingly favorable.

The mathematical relationship governing FEC recovery capacity can be expressed as:

$$P{recovery} = 1 - \\sum{i=k+1}^{n} \\binom{n}{i} p^i (1-p)^{n-i}$$

where $n$ is the total number of packets (data plus parity), $k$ is the minimum needed for reconstruction, and $p$ is the per-packet loss probability.

Real-world context: NASA’s Consultative Committee for Space Data Systems (CCSDS) defines standard telemetry and telecommand protocols used across agencies and commercial operators, including packet structures and FEC schemes like Reed-Solomon and LDPC codes.

Onboard durable storage#

When the link degrades or disappears, telemetry does not stop being generated. All packets are simultaneously written to durable onboard storage, typically radiation-hardened flash or MRAM. This buffer serves as the mission’s real-time flight data recorder.

Storage management follows a priority-based retention policy. Safety-critical channels (propulsion, guidance, structural) are never overwritten. Lower-priority channels (environmental monitoring, housekeeping) can be evicted under storage pressure. Sequence numbers ensure that the ground can later identify exactly which data was transmitted in real time vs. recovered from buffer playback.

Loading D2 diagram...
Flight segment telemetry architecture with dual output paths

The flight segment ensures data survives. But survival means nothing without the command path that keeps the vehicle safe. That path requires its own rigorous design.

Command and control safety#

Telemetry systems are inseparable from command and control. Any architecture that focuses solely on the downlink while ignoring uplink safety is incomplete, and SpaceX interviewers will probe this gap.

Commands sent to a vehicle can alter trajectory, throttle engines, deploy payloads, or trigger abort sequences. A single malformed, replayed, or unauthorized command can end a mission. As a result, the uplink path is treated as an adversarial surface even within trusted networks.

Three layers of protection are non-negotiable:

  • Command validation: Every command undergoes syntactic checks (is it well-formed?) and semantic checks (is it valid given the current mission phase and vehicle state?) before execution.
  • Authentication and replay protection: Commands carry cryptographic signatures and monotonic sequence numbers. The vehicle rejects any command with a sequence number it has already seen, preventing both accidental and malicious replay.
  • Onboard veto logic: Even if a command passes validation and authentication, the vehicle’s autonomous safety system can reject it. If current sensor readings indicate that executing the command would violate a safety constraint, for example firing an engine while chamber pressure is anomalous, the veto fires.
Attention: Candidates often place all safety logic in mission control. SpaceX interviewers specifically look for the recognition that safety authority must reside on the vehicle because latency makes ground-based intervention too slow during dynamic flight phases.

This autonomous safety layer reflects a deeper design philosophy. The vehicle is not a passive executor of ground commands. It is an active participant in its own survival, capable of overriding human judgment when physics demands it.

The following table contrasts command handling approaches across different trust and latency regimes.

Command Safety Architecture Comparison Across Communication Scenarios

Scenario

Validation Depth

Authentication Requirements

Autonomous Authority Shift

Low-Latency Trusted Ground Link

Comprehensive validation including encryption and authentication checks

Authenticated encryption (FIPS 140 Level 1); full command authority maintained

Minimal; ground control retains primary command authority

High-Latency Deep-Space Link

Robust validation with error correction to address signal degradation

Deep-space-tailored encryption and authentication accounting for signal delay

Increased; onboard systems handle critical decisions during communication delays

Communication Blackout

Pre-programmed sequences thoroughly validated prior to deployment

Commands authenticated and encrypted before blackout to prevent unauthorized access

Full; onboard autonomous systems assume complete operational authority

With both downlink and uplink paths secured, the architecture must address what happens once telemetry reaches Earth.

Deep dive into ground segment ingestion#

Once telemetry arrives at a ground station, the challenge shifts from survival to interpretation. Ground systems must validate, decode, and distribute data at high speed without introducing ambiguity or losing provenance.

Reception and verification#

The reception pipeline immediately verifies checksums and detects sequence gaps. Corrupted packets are flagged and routed to a quarantine queue for forensic analysis rather than silently dropped. Sequence gap detection triggers automated requests for buffer playback during the next available contact window.

Decommutation and engineering unit conversion#

Raw telemetry arrives as binary-encoded values. Decommutationthe process of extracting individual sensor measurements from a multiplexed binary telemetry stream and converting raw digital values into meaningful engineering units using calibration tables. parses these streams and converts raw values into engineering units (Newtons, Kelvin, PSI) using version-controlled telemetry dictionaries.

These dictionaries are critical for long-duration and multi-mission operations. Without them, historical telemetry becomes a stream of meaningless integers. Dictionary versioning ensures that if a sensor calibration changes between missions, analysts can still correctly interpret older data.

Fan-out through durable messaging#

Validated and decoded telemetry is published to a durable messaging layer, similar in concept to Apache Kafka topics, that supports fan-out to multiple consumers:

  • Real-time monitoring dashboards for mission operators
  • Automated anomaly detection pipelines that compare readings against expected envelopes
  • Time-series databases optimized for high-ingest, fast-range queries, and long-term retention
  • Archival storage for post-mission analysis and regulatory compliance

For live operations, low-latency visualization paths bypass storage layers when possible, pushing data directly to operator screens. This creates a deliberate split between the “live” path (optimized for freshness) and the “archival” path (optimized for integrity and queryability).

Pro tip: In your interview answer, explicitly name this split. Saying “we maintain separate hot and cold paths with different latency and durability guarantees” shows you understand that a single pipeline cannot optimize for both simultaneously.

Loading D2 diagram...
Ground segment telemetry ingestion and fan-out architecture

Validating all of this in production alone would be reckless. SpaceX’s engineering culture demands that these systems prove themselves long before a real launch.

Simulation, testing, and mission rehearsal#

SpaceX interviewers expect you to acknowledge that verification infrastructure is not a luxury. It is a core architectural component. A system you cannot test end-to-end is a system you cannot trust.

Three testing strategies form the backbone of mission assurance:

Hardware-in-the-loop (HIL) testing connects real flight software and, where possible, real flight computers to simulated sensor inputs and actuator feedback. The simulation runs under realistic timing constraints, including injected faults like SEUs, link dropouts, and sensor failures. HIL testing validates not just correctness but real-time performance under degraded conditions.

Telemetry replay feeds recorded data from previous missions back through the entire ground pipeline. This validates that analysis tools, anomaly detectors, and operator dashboards behave correctly against known scenarios. It also serves as a regression test when pipeline software is updated.

Shadow missions exercise the full operational stack, both flight and ground, using a simulated vehicle executing a complete mission profile. Operators follow real procedures. Anomalies are injected. Decisions are made under time pressure. These rehearsals expose operational gaps, from confusing dashboard layouts to ambiguous alert thresholds, that purely technical testing cannot reveal.

Real-world context: SpaceX’s rapid launch cadence, over 90 missions in 2023 alone, generates an enormous corpus of telemetry data. This data feeds directly back into simulation models, continuously improving the fidelity of HIL and shadow mission environments.

The key insight for your interview answer is that telemetry systems must be testable in isolation and in combination. If you cannot replay a mission end-to-end through both segments and verify that every alert, visualization, and archive entry matches expectations, your architecture has a verification gap.

Testing validates the design. But the design itself must anticipate failure at every layer. That brings us to redundancy.

Fault tolerance, redundancy, and trade-offs#

Fault tolerance in spaceflight is proactive, not reactive. You do not wait for a component to fail and then recover. You assume components will fail and design the system to continue operating correctly despite those failures.

Triple modular redundancy and voting#

The most common pattern for critical flight systems is triple modular redundancy (TMR)a fault-tolerance technique that runs three independent copies of a computation in parallel and uses majority voting to mask single-point failures, including transient radiation-induced errors.. Three independent instances of a critical subsystem, each potentially running on separate physical hardware, execute the same computation in parallel. A voter compares their outputs and selects the majority result.

TMR handles not just hardware failures but also Byzantine faultsfailures where a component does not simply stop working but produces arbitrary, potentially misleading outputs, making it harder to detect than a clean crash failure., where a radiation-struck processor does not crash cleanly but instead produces plausible-looking incorrect output. Without voting, this corrupted output could propagate through the system undetected.

Ground-side redundancy#

On the ground, redundancy takes a different form. Geographically distributed mission control centers ensure that no single facility failure eliminates mission visibility. Independent data paths from ground stations to control centers provide link diversity. And the durable messaging layer replicates telemetry across zones so that a regional outage does not create a data gap.

Explicit trade-off articulation#

Every redundancy decision involves trade-offs, and strong candidates articulate them explicitly rather than treating redundancy as universally good.

Redundancy Mechanisms Trade-Off Matrix

Mechanism

Key Benefit

Primary Cost

Most Critical Mission Phase

Triple Modular Redundancy (TMR)

Masks single-component failures via majority voting across three replicated components

Weight & power — 2× or more additional hardware resources

Deep-space or long-duration operations where component failure risk is high

Forward Error Correction (FEC)

Detects and corrects transmission errors without retransmission

Bandwidth & latency — extra redundant data overhead and processing delays

Interplanetary communications or high-radiation environment data links

Onboard Buffering

Smooths data flow and accommodates intermittent connectivity or variable transmission rates

Weight & latency — additional memory hardware and data retrieval delays

Planetary surface operations with limited or interrupted line-of-sight communication

Geographic Distribution

Mitigates localized failures through multi-site redundant deployment

Dollars & latency — higher infrastructure, operational coordination costs, and longer communication paths

Ground-based mission support and distributed sensor networks requiring high availability and disaster recovery

Additional integrity checks increase processing latency. Buffering improves data durability but delays ground-side insight. FEC consumes bandwidth that could carry more telemetry. TMR triples hardware mass, power, and cost. The right answer is not “add all of them everywhere” but rather “apply each where the risk profile of the current mission phase justifies the cost.”

Pro tip: In your interview, tie redundancy choices to mission phases. During launch and reentry, when risk is highest and communication is least reliable, you accept higher overhead for maximum protection. During stable orbital cruise, you can relax some protections to reclaim bandwidth for science data or Starlink traffic.

Fault tolerance keeps the mission alive. But the final measure of a telemetry architecture is what it teaches the organization after the mission ends.

Post-mission analysis and forensic reconstruction#

Telemetry does not stop being valuable when the engines shut down. In many ways, post-mission analysis is where the highest-leverage learning happens, and SpaceX’s rapid iteration model depends on it.

Immutable logs and reconstruction#

All telemetry, both real-time downlinked data and buffer-recovered data, is stored in immutable append-only logs. Immutability guarantees that historical records cannot be altered, whether accidentally or intentionally. This is not just good engineering practice. It is a regulatory requirement for launch licensees operating under FAA oversight.

Forensic reconstruction tools rebuild mission timelines by merging data from multiple sources: real-time telemetry, onboard buffer playback, ground-based tracking, and environmental data. Cross-correlation using timestamps and sequence numbers reveals the precise ordering of events, even when individual streams have gaps or jitter.

The learning loop#

Failure analysis from post-mission telemetry feeds directly into three outputs:

  • Design changes to hardware or software for future vehicles
  • New test scenarios added to HIL and shadow mission libraries
  • Updated operational procedures for mission controllers

This feedback loop is what transforms a telemetry system from a passive recording device into an organizational learning engine. SpaceX does not just launch rockets. It launches experiments, and telemetry is how those experiments produce knowledge.

Historical note: After the CRS-7 mission failure in 2015, SpaceX used telemetry data to identify a faulty strut in the second-stage liquid oxygen tank within hours. The speed of that root-cause analysis, enabled by comprehensive telemetry capture and replay infrastructure, allowed SpaceX to return to flight in just six months.

Loading D2 diagram...
Telemetry-driven organizational learning loop

With the full architecture now visible, from sensor to archive and back to design, we can step back and assess what this means for your interview performance.

Bringing it all together#

A SpaceX system design interview tests whether you can think like an engineer operating at the boundary between software and physics. The Telemetry and Mission Control System is the canonical problem for this evaluation because it forces you to confront latency, failure, irreversibility, and autonomous safety all at once.

The strongest answers share three qualities. First, they are grounded in environmental constraints. Every design choice traces back to a physical reality, whether radiation, bandwidth limits, or communication blackouts, rather than to convention or familiarity. Second, they emphasize data integrity over convenience. Correctness beats freshness. Verified data beats fast data. And the onboard buffer is sacred. Third, they demonstrate that safety authority belongs on the vehicle, not solely in mission control, because the laws of physics do not wait for a ground command to propagate.

Looking ahead, the demands on telemetry systems will only intensify. Starship’s fully reusable architecture means every vehicle must generate forensic-quality telemetry across dozens of flights, not just one. Starlink’s constellation of thousands of satellites creates a mesh communication layer that could fundamentally change how telemetry reaches the ground, enabling continuous contact but introducing new routing complexity. And as missions extend to Mars, latency stretches from seconds to 24 minutes, making onboard autonomy not just important but existential.

If you can explain not just what you would build but why simpler designs fail, you demonstrate the depth of reasoning SpaceX looks for in its engineers. That is what separates a system designer from a system thinker.


Written By:
Zarish Khalid