Dauntless · Systems
Prototypetoolinginfraaerospace

Design Graph

A Neo4j-backed digital thread for effectivity-aware design traceability across spacecraft and hardware programs.

Public corpus
Apollo · 67 nodes
Schema
Typed · effectivity-aware
Stack
Neo4j · FastAPI · Next
Access
Cloudflare Tunnel

Premise

Aerospace programs lose more value to broken traceability than to broken engineering. A requirement gets refined, a part number gets revised, a test result gets entered against the old part — and by the time anyone notices, the program has been quietly designing against two different versions of itself for six months.

Digital-thread tools exist (Teamcenter, Windchill, 3DEXPERIENCE) but they're heavy, expensive, and structured around large-team configuration management rather than around how a small engineering team actually thinks. The premise here is that a graph database with the right schema — not just any node cloud — can deliver the part of the digital thread that matters at two orders of magnitude less weight.

One graph, several architectures

The database underneath is unremarkable: nodes and edges. What makes it a design tool rather than a diagram is the framework on top. Every node is typed by what it is in the design — a Function, a Component, a Requirement, a Risk — and every edge is typed by the semantic relationship it carriesCONTAINS, PERFORMED_BY, DRIVES, VERIFIES. Those types let the same graph hold several architectures at once, woven over the same parts:

  • a functional architecture — what the system must do
  • a physical architecture — what the system is
  • the allocation between them — every function mapped to the hardware that performs it

…plus the requirements that constrain it, the decisions that shaped it, the evidence that verifies it, and the risks that threaten it — all under a single effectivity. That weave is the whole point. A flat node cloud is just the database; the architecture is the value.

Nodes
67
Relationships
98
Node types
8
Relationship types
8
mission: 4function: 8component: 28requirement: 10decision: 6evidence: 4risk: 6failuremode: 1

Below is the Apollo program rendered through the same lenses the working tool uses. Switch between the physical product tree, the functional architecture, and the allocation that binds one to the other — then click any node to trace it: where it sits physically, what function it performs, what requirements drive it, what verifies it.

What the system is — the as-designed product tree, linked by CONTAINS.

Inspector

Click any node to read its description, citations, and — the point of the whole thing — its traceability: where it sits physically, what function it performs, what requirements drive it, and what verifies it.

The schema is the point

A node isn't a generic dot and an edge isn't a generic line. Each one carries meaning, and that meaning is what lets a single query answer "what performs this function," "what's physically inside this assembly," or "what evidence closes this requirement." Here is the working vocabulary the Apollo corpus uses — typed nodes grouped by the architecture they belong to, and the semantic relationships that connect them.

Typed nodes · what things are

Functionalwhat the system must do

  • Mission×4A flight the design must satisfy — the demand side of the graph.
  • Function×8A capability the system must deliver, independent of how.

Physicalwhat the system is

  • Component×28A physical element of the as-designed product tree.

Intent & verificationwhy, and how we know

  • Requirement×10A constraint the design is held to, traceable to its source.
  • Decision×6A recorded design choice, with its rationale and evidence.
  • Evidence×4A test or analysis result that verifies or supports a claim.

Reliabilitywhat can go wrong

  • Risk×6A way the design could fail to meet intent.
  • FailureMode×1A specific physical mechanism by which a part fails.

Semantic relationships · how they connect

Decomposition

  • CONTAINS×27physical parent → child in the product tree
  • REFINES×4a finer statement of a coarser one

Allocation

  • PERFORMED_BY×14a function is allocated to the component that realizes it

Intent & traceability

  • DRIVES×47this node imposes intent on its target

Verification

  • VERIFIES×2evidence that closes a requirement or component
  • SUPPORTS×2evidence backing a decision

Reliability

  • CAUSES×1drives a risk or failure
  • HAS_FAILURE_MODE×1a way this component physically fails

Effectivity is what makes it engineering

The trick that elevates this above diagram-drawing is effectivity: every node and edge carries the configuration range it applies to. A requirement that changed between Apollo 11 and Apollo 15 doesn't get overwritten; it gets a new effectivity. Querying "the requirements that applied to Apollo 13" returns exactly the set that was active on that mission — not the latest baseline, not yesterday's revision. The Apollo graph above is pinned to one effectivity (Apollo Program); the working tool slices the same nodes by mission, block, and serialized configuration. This is what real digital-thread tools spend hundreds of thousands of dollars per seat to provide.

The raw graph

Underneath every structured view above is one graph. Here it is with the framework stripped away — just typed nodes and typed edges, the database the architecture sits on. Useful for seeing the whole shape at once; drag to pan, scroll to zoom, filter node types in the chip row.

filter:
Apollo Guidance Computer (CM)Apollo Guidance Computer (LM)Apollo SpacecraftAscent Propulsion SystemCommand Module Heat ShieldCM Parachute Recovery SystemCommand ModuleCommand and Service ModuleCSM Reaction Control SystemDescent Propulsion SystemRocketdyne F-1 EngineF-1 Thrust Chamber AssemblyF-1 Mark 10 TurbopumpInstrument UnitRocketdyne J-2 EngineLunar ModuleLM Abort Guidance System (AGS)LM Ascent StageLM Descent StageLM Landing GearLM Primary Guidance, Navigati…LM Reaction Control SystemS-IC First StageS-II Second StageS-IVB Third StageSaturn V Launch VehicleService ModuleService Propulsion SystemAblative heat shield (vs acti…Same Apollo Guidance Computer…Adopt Block II CM redesign af…J-2 engine commonality across…LM as a separate dedicated sp…Adopt Lunar Orbit Rendezvous …Apollo 11 DPS performance, de…Apollo 13 SM oxygen tank 2 an…Houbolt's 1961 letter advocat…NASA selection of LOR (June 1…SM O2 tank 2 heater-wire arc,…Perform Earth Atmospheric Re-…Perform Lunar Ascent and Rend…Perform crewed lunar landing …Perform Lunar Orbit InsertionPerform Powered Descent to Lu…Perform Trans-Earth InjectionPerform Trans-Lunar InjectionProvide Saturn V Lift to TLIApollo 11Apollo 13Apollo 17Apollo 8Survive 11 km/s lunar-return …APS engine single-burn ascent…Continuous abort capability d…CSM and LM must dock and tran…DPS engine throttleable 10-65…Free-return trajectory capabi…LM landed mass must close aga…Land a man on the Moon and re…Saturn V payload to TLI ≥ 48,…SPS engine restart capability…APS engine failure to start a…CM heat shield breach during …LOR rendezvous failure betwee…Service Module oxygen tank ru…SPS engine failure at Lunar O…SPS engine failure at Trans-E…

drag · scroll · click

Detail panel

Click any node to see its description, properties, citations, and traversable connections.

Hover to preview a node's neighborhood. Toggle node types in the filter row above to focus the view.

Public showcase vs private working tool

This page renders a public reference dataset (Apollo) exported from a running instance of the design graph, using the same schema that powers the private working instance used for active project work. The two are deliberately separated:

Public face
design.dauntless.systems
Public data
Apollo reference graph (read-only)
Private face
studio.dauntless.systems
Private data
Active project graphs
Public auth
None — view-only
Private auth
Cloudflare Access
This page
Static snapshot · zero attack surface
Schema
schema_v2 · effectivity-aware

The snapshot on this page is fully static: a JSON manifest exported from the live graph at publish time, so there's no database behind the website and nothing to attack. The same graph also runs as a live, read-only instance — destined for design.dauntless.systems — with editing gated behind Cloudflare Access at studio.*, so the public can explore but only I can build. Read-only there isn't cosmetic: the API rejects every write at the door.

How it works internally

The private working instance is what gets used for active work:

Graph
Neo4j (Docker)
API
FastAPI · read/write + agent contract
UI
Next.js · physical/functional/library nav
Domains
Core · reliability · analysis · config · ERP · MES
Effectivity
Per-node + per-edge versioning
Verification
FMEA · RBD · evidence rollup
AI integration
Documented read/write data contract
Remote access
Cloudflare Tunnel

A documented AI data contract lets agents read and write to the graph through a constrained interface — relevant because the long-term play is to have design agents reason about the graph directly rather than scrape READMEs.

What's next

Three threads. Stand up the live read-only instance — point design.dauntless.systems at an Apollo-seeded graph in a read-only serving mode and move the working tool behind Cloudflare Access at studio.*, so this page can link straight into a live, explorable graph instead of a snapshot. Expand the Apollo corpus — the current graph is the architecture spine; thermal, GN&C, and life-support subgraphs would round out the public reference. Open the corpus on GitHub — the export pipeline is well-suited to community contributions of specific components or sub-mission events.

Related work