Devlog

The Erotic Pose Catalog launches with 104 keypoint-mapped positions

A named catalog of sexual positions with keypoint skeletons and historical provenance, published as the open CC BY 4.0 dataset EthnicErotic/pose-catalog.

  • Poses
  • Data
  • Research

On July 16 the Erotic Pose Catalog opened at /poses. Every position has a name, an original clinical description and a keypoint skeleton diagram, and the same data shipped that night as the CC BY 4.0 dataset EthnicErotic/pose-catalog on Hugging Face.

It launched with 13 positions and reached 104 before the night was out, from Kama Sutra classics to internet-era names, across solo, pair and group families. Twenty-five positions are traced to seven historical manuals and literatures: the Kama Sutra and the Ananga Ranga from India, the Su Nü Jing and the Dongxuanzi from China as preserved in the Ishimpō, the Shijūhatte of Edo Japan, the Perfumed Garden of the Maghreb, and the Ars Amatoria of Rome.

Each traced position links its source culture to that region of the peoples catalog, and the regions with a registered manual list the positions first recorded there. The pose catalog and the peoples atlas now point at each other.

Under the hood

  • Four controlled vocabularies describe every position: pose structure, participant composition, presentation, and a keypoint schema, for 17 dimensions and 111 defined values. Participant composition uses the letter codes adult media already uses, such as MF, MMF and FFM, and records apparent presentation, never identity.
  • Keypoints use the 17-joint COCO layout, the common standard for 2D human pose, in normalized coordinates with a visibility code per joint, exported per participant as a flat array of 51 numbers. That makes the catalog a bridge: named-position vocabularies such as Wikidata carry names without geometry, and keypoint datasets carry geometry without names.
  • Each participant is composed from one of 17 base postures drawn in profile at about 7.5 heads tall, then placed by a transform applied in a set order: mirror, scale, rotate about the centroid, translate, and per-joint overrides for articulation a rigid transform cannot express.
  • The canonical source is a set of versioned vocabulary files, and both the site catalog and the dataset are generated from them. Positions carry Wikidata identifiers where one exists, aliases come from Wikidata alternate labels and common vernacular, and every description is original prose.
  • Provenance is its own layer: 40 links across 25 poses record each position's historical name in its source text, shipped in the dataset as a provenance config beside a registry of the seven sources.
positions on launch night
104
positions traced to historical texts
25
defined vocabulary values
111

See it on the site

Sources and open data

Read the full log