Turning “will it fit my machine?” into set intersection
Problem
A buyer looking at an attachment has a singularly important question that is not answered in the industry: will it work on my machine? Heavy equipment has no fitment standard like automotive’s ACES and PIES. We had 4,586 machine configurations and 37,638 product variants: about 173 million possible pairs. Most of the industry just doesn’t even have a catalog and is largely driven by tribal knowledge and phone calls. Hand-kept fitment tables can’t keep up, and they certainly couldn’t say why a pair fits or doesn’t fit. This is also a mechanical interaction - it adheres to the laws of physics. So it stands to reason that a physics-based approach would solve this problem (and expose entirely new categories of information).
First principles
Physical-world fitment follows the laws of physics, which can be derived to three mutually exclusive physical relationships. Further, each relationship is only relevant to a specific part of a complete product - not the entire thing. So we can extrapolate the responsible components, standardize their relevant specifications, and calculate subsets and supersets of compatibility from each:
- Connect: does the machine’s interface match the attachment’s mount?
- Power: can the hydraulic flow and pressure of the machine power the attachment’s motor?
- Lift: can the machine lift the attachment’s weight?
So compatibility is set intersection. Each machine group g needs a subset Req(g) of the three relations, and
Compatible(g) = ⋂ { R_f : f ∈ Req(g) }, R_f ⊆ Configurations × Variants
Approach
I split machines into components and configurations, and products into variants. Step Functions fan out the three relations in parallel from component facts. Every edge keeps its margins (flow, pressure, lift), so each “fits” carries its reason. Results bulk-load into Neptune and Neptune Analytics. Upstream, an LLM reads spec sheets into facts, and validator functions reject any fact that fails a check. Doing it this way allows for a self-healing architecture (changing any machine recomputes for all attachments from that machine, changing any attachment recomputes for all machines from that attachment), and allowed for sharding and high-concurrency (component-based subsets i.e. power, lift, connect are mutually exclusive, so can run in parallel. Each “side” is mutually exclusive, so machines and attachments can run in parallel). Used Neptune Analytics for reads for latency, Neptune Graph for traversal calculations with bulk loads – database of 25M nodes and 100M edges had single-run speed of <1 minute for entire recompute of one machine or attachment. Apps and agents got the answers over REST, MCP and a CLI, all generated from one OpenAPI contract.
The five figures below show the full design, as specified for the Dev environment.

Skills I taught myself
- Graph modeling and Neptune (Gremlin, OpenCypher bulk loads). Fit is a relation, and a graph stores relations directly.
- AWS orchestration (Step Functions, SQS, Lambda, DynamoDB, CDK), to compute the relations in parallel.
- LLM fact extraction with validators (Bedrock), to turn spec sheets into facts a check can reject.
- Heavy Machinery Specifications learned from operating Attachments King and selling the equipment myself.
Result
25M nodes, 100M edges and 13.99M validated compatibility edges. The code is private; I can walk through the design on a call.
Next → Storefront fitment filter




