{
  "spec_version": 2,
  "extractor_version": "0.2.0",
  "url": "https://tuple.app/",
  "final_url": "https://tuple.app/",
  "slug": "tuple.app",
  "captured_at": "2026-11-12T15:18:54.807Z",
  "title": "Tuple: Screen sharing for people who build software",
  "meta": {
    "description": "Screen sharing for people who build software. Because better discussion leads to faster production. On macOS and Windows.",
    "og_image": "https://tuple.app/assets/og.BOQj_J1R.jpg",
    "og_title": "Tuple: Screen sharing for people who build software",
    "theme_color": "white",
    "lang": "en"
  },
  "capture": {
    "variants": [
      {
        "name": "desktop-light",
        "width": 1440,
        "height": 900,
        "scheme": "light",
        "page_height": 8842,
        "full": "screens/desktop-light-full.png",
        "fold": "screens/desktop-light-fold.png"
      },
      {
        "name": "desktop-dark",
        "width": 1440,
        "height": 900,
        "scheme": "dark",
        "page_height": 8842,
        "full": "screens/desktop-dark-full.png",
        "fold": "screens/desktop-dark-fold.png"
      },
      {
        "name": "mobile-light",
        "width": 390,
        "height": 844,
        "scheme": "light",
        "page_height": 11269,
        "full": "screens/mobile-light-full.png",
        "fold": "screens/mobile-light-fold.png"
      },
      {
        "name": "mobile-dark",
        "width": 390,
        "height": 844,
        "scheme": "dark",
        "page_height": 11269,
        "full": "screens/mobile-dark-full.png",
        "fold": "screens/mobile-dark-fold.png"
      }
    ],
    "status": 200,
    "warnings": [],
    "element_count": 819,
    "render_quality": {
      "status": "ok",
      "reasons": [],
      "screenshot": "ok",
      "screenshot_reasons": []
    },
    "worker_os": "macos"
  },
  "color": {
    "scheme": "light",
    "palette": [
      {
        "hex": "#FFFFFF",
        "oklch": [
          1,
          0,
          0
        ],
        "role": "bg",
        "area": 0.6573,
        "uses": {
          "bg": 0.93,
          "text": 0.009,
          "border": 0.002,
          "fill": 0.059
        },
        "css_var": "--tw-ring-offset-color",
        "variants": [
          "#FAFAFA",
          "#FDFDFD"
        ]
      },
      {
        "hex": "#27272A",
        "oklch": [
          0.274,
          0.005,
          286
        ],
        "role": "text",
        "area": 0.1226,
        "uses": {
          "bg": 0.672,
          "text": 0.248,
          "border": 0,
          "fill": 0.081
        },
        "variants": [
          "#24292E"
        ]
      },
      {
        "hex": "#09090B",
        "oklch": [
          0.141,
          0.004,
          285.8
        ],
        "role": "other",
        "area": 0.0944,
        "uses": {
          "bg": 1,
          "text": 0,
          "border": 0,
          "fill": 0
        }
      },
      {
        "hex": "#71717A",
        "oklch": [
          0.552,
          0.014,
          285.9
        ],
        "role": "muted",
        "area": 0.03,
        "uses": {
          "bg": 0.156,
          "text": 0.841,
          "border": 0,
          "fill": 0.002
        }
      },
      {
        "hex": "#EDEFF2",
        "oklch": [
          0.951,
          0.005,
          258.3
        ],
        "role": "other",
        "area": 0.0272,
        "uses": {
          "bg": 0.045,
          "text": 0,
          "border": 0.005,
          "fill": 0.951
        },
        "variants": [
          "#F4F4F5"
        ]
      },
      {
        "hex": "#E4E4E7",
        "oklch": [
          0.92,
          0.004,
          286.3
        ],
        "role": "surface",
        "area": 0.0177,
        "uses": {
          "bg": 0.956,
          "text": 0.041,
          "border": 0.001,
          "fill": 0.002
        },
        "variants": [
          "#E1E4E8"
        ]
      },
      {
        "hex": "#35353B",
        "oklch": [
          0.331,
          0.01,
          285.8
        ],
        "role": "other",
        "area": 0.0139,
        "uses": {
          "bg": 1,
          "text": 0,
          "border": 0,
          "fill": 0
        }
      },
      {
        "hex": "#DB5434",
        "oklch": [
          0.62,
          0.176,
          34.6
        ],
        "role": "other",
        "area": 0.007,
        "uses": {
          "bg": 0.001,
          "text": 0.226,
          "border": 0,
          "fill": 0.773
        }
      },
      {
        "hex": "#D4D4D8",
        "oklch": [
          0.871,
          0.005,
          286.3
        ],
        "role": "other",
        "area": 0.0066,
        "uses": {
          "bg": 0,
          "text": 0.978,
          "border": 0,
          "fill": 0.022
        }
      },
      {
        "hex": "#3F3F46",
        "oklch": [
          0.37,
          0.012,
          285.8
        ],
        "role": "other",
        "area": 0.0051,
        "uses": {
          "bg": 0.881,
          "text": 0.022,
          "border": 0.042,
          "fill": 0.056
        }
      },
      {
        "hex": "#6A5ED9",
        "oklch": [
          0.559,
          0.182,
          283.2
        ],
        "role": "accent",
        "area": 0.0036,
        "uses": {
          "bg": 0.727,
          "text": 0.268,
          "border": 0,
          "fill": 0.005
        }
      },
      {
        "hex": "#A1A1AA",
        "oklch": [
          0.712,
          0.013,
          286.1
        ],
        "role": "other",
        "area": 0.0035,
        "uses": {
          "bg": 0,
          "text": 0.202,
          "border": 0,
          "fill": 0.798
        }
      },
      {
        "hex": "#52525B",
        "oklch": [
          0.442,
          0.015,
          285.8
        ],
        "role": "border",
        "area": 0.001,
        "uses": {
          "bg": 0.075,
          "text": 0,
          "border": 0.496,
          "fill": 0.429
        }
      }
    ],
    "roles": {
      "bg": "#FFFFFF",
      "text": "#27272A",
      "muted": "#71717A",
      "surface": "#E4E4E7",
      "accent": "#6A5ED9",
      "border": "#52525B"
    },
    "accent_strategy": "single-accent",
    "contrast": {
      "text_on_bg": 14.89,
      "muted_on_bg": 4.83,
      "accent_on_bg": 4.98
    },
    "gradients": [
      "radial-gradient(closest-corner, rgb(237, 239, 242) 0%, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, 0) 100%)",
      "linear-gradient(rgb(255, 255, 255), rgb(250, 250, 250), rgb(250, 250, 250))",
      "radial-gradient(closest-side, rgba(39, 39, 42, 0) 75%, rgb(39, 39, 42) 100%)",
      "linear-gradient(to right, rgb(215, 173, 218), rgb(181, 184, 244), rgb(139, 150, 241), rgb(105, 138, 254))"
    ],
    "theme_color": "white",
    "dark_mode": {
      "responds_to_prefers_color_scheme": false
    },
    "declared_accents": [],
    "accent_detail": {
      "method": "cta-chromatic",
      "cta": "#6A5ED9",
      "candidates": [
        {
          "hex": "#6A5ED9",
          "controls": 2,
          "links": 0,
          "text": 2,
          "elements": 4,
          "fills": 3,
          "area": 0.00356,
          "score": 28.7,
          "strong": true
        },
        {
          "hex": "#DB5434",
          "controls": 0,
          "links": 0,
          "text": 5,
          "elements": 6,
          "fills": 8,
          "area": 0.00701,
          "score": 24.5,
          "strong": false
        },
        {
          "hex": "#1BB152",
          "controls": 0,
          "links": 0,
          "text": 5,
          "elements": 5,
          "fills": 0,
          "area": 0.00198,
          "score": 21.2,
          "strong": false
        },
        {
          "hex": "#ADB6F4",
          "controls": 0,
          "links": 0,
          "text": 0,
          "elements": 13,
          "fills": 1,
          "area": 0.00064,
          "score": 20.9,
          "strong": false
        },
        {
          "hex": "#4ADE80",
          "controls": 0,
          "links": 0,
          "text": 4,
          "elements": 4,
          "fills": 1,
          "area": 0.00183,
          "score": 18.8,
          "strong": false
        },
        {
          "hex": "#A0C8F0",
          "controls": 0,
          "links": 0,
          "text": 0,
          "elements": 9,
          "fills": 0,
          "area": 0.00024,
          "score": 15.9,
          "strong": false
        }
      ]
    },
    "highlights": [
      {
        "hex": "#DB5434",
        "elements": 14
      },
      {
        "hex": "#1BB152",
        "elements": 5
      },
      {
        "hex": "#ADB6F4",
        "elements": 14
      },
      {
        "hex": "#4ADE80",
        "elements": 5
      }
    ]
  },
  "type": {
    "families": [
      {
        "family": "Inter",
        "css_family": "Inter Variable",
        "role": "display",
        "roles": [
          "display",
          "body"
        ],
        "weights": [
          400,
          500,
          600
        ],
        "share": 0.854,
        "kind": "webfont",
        "classification": "sans",
        "foundry": null,
        "stack": "\"Inter Variable\", ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"",
        "files": [
          "https://tuple.app/fonts/InterVariable.woff2",
          "https://tuple.app/fonts/InterVariable-Italic.woff2"
        ],
        "internal_names": [
          "Inter Variable"
        ]
      },
      {
        "family": "DM Mono",
        "css_family": "DM Mono",
        "role": "mono",
        "roles": [
          "mono"
        ],
        "weights": [
          400,
          500
        ],
        "share": 0.145,
        "kind": "webfont",
        "classification": "mono",
        "foundry": null,
        "stack": "\"DM Mono\", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace",
        "files": [
          "https://tuple.app/fonts/DMMono-Regular.woff2",
          "https://tuple.app/fonts/DMMono-Medium.woff2"
        ],
        "internal_names": [
          "DM Mono",
          "DM Mono Medium"
        ]
      }
    ],
    "declared_unused": [],
    "scale_px": [
      12,
      13,
      14,
      16,
      18,
      20,
      24,
      48,
      60
    ],
    "ratio": 1.303,
    "body_size": 16,
    "root_size": 16,
    "line_height": 1.625,
    "display_size": 60,
    "tracking_display": "0em",
    "case": "sentence",
    "styles": [
      {
        "name": "display",
        "family": "Inter",
        "size_px": 60,
        "weight": 600,
        "line_height": 1.2,
        "letter_spacing_em": 0,
        "sample": "Screen sharing for people who build soft"
      },
      {
        "name": "headline",
        "family": "Inter",
        "size_px": 48,
        "weight": 600,
        "line_height": 1,
        "letter_spacing_em": 0,
        "sample": "Built for working, not for meetings"
      },
      {
        "name": "title",
        "family": "Inter",
        "size_px": 16,
        "weight": 600,
        "line_height": 1.625,
        "letter_spacing_em": 0,
        "sample": "One click to swap who’s sharing"
      },
      {
        "name": "body",
        "family": "Inter",
        "size_px": 16,
        "weight": 400,
        "line_height": 1.625,
        "letter_spacing_em": 0,
        "sample": "It just takes one click to switch who's "
      },
      {
        "name": "body-sm",
        "family": "DM Mono",
        "size_px": 13,
        "weight": 400,
        "line_height": 1.625,
        "letter_spacing_em": 0,
        "sample": "PaidUsersList.tsx"
      },
      {
        "name": "label",
        "family": "Inter",
        "size_px": 14,
        "weight": 400,
        "line_height": 1.429,
        "letter_spacing_em": 0,
        "sample": "Pricing"
      }
    ],
    "mobile": {
      "body_size": 16,
      "display_size": 30
    }
  },
  "space": {
    "scale_px": [
      4,
      6,
      8,
      10,
      12,
      16,
      24,
      32,
      40,
      48,
      64,
      112,
      128
    ],
    "base": 4,
    "base_fit": 0.93,
    "density": 0.076,
    "section_padding_px": 128
  },
  "shape": {
    "radii_px": [
      6,
      8,
      12,
      9999
    ],
    "dominant_radius": 9999,
    "border_usage": "hairline",
    "border_width_px": 1
  },
  "depth": {
    "shadows": [
      "rgba(0, 0, 0, 0.05) 0px 1px 2px 0px",
      "rgba(0, 0, 0, 0.25) 0px 25px 50px -12px",
      "rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.1) 0px 1px 2px -1px",
      "rgba(0, 0, 0, 0.1) 0px 20px 25px -5px, rgba(0, 0, 0, 0.1) 0px 8px 10px -6px",
      "rgba(0, 0, 0, 0.25) 0px 6px 20px 0px"
    ],
    "style": "subtle"
  },
  "layout": {
    "container_px": 1152,
    "columns": 3,
    "hero": "centered+media-below",
    "nav": "top-sticky+transparent",
    "page_height_px": 8842,
    "section_count": 8
  },
  "motion": {
    "transitions": 91,
    "easing": "cubic-bezier(0.4, 0, 0.2, 1)",
    "durations_ms": [
      150,
      300,
      500,
      1000
    ],
    "animations": [
      "slide-fade-in",
      "fade-in",
      "hero",
      "hero-border"
    ]
  },
  "components": {
    "button-primary": {
      "backgroundColor": "#6A5ED9",
      "textColor": "#FFFFFF",
      "rounded": "12px",
      "padding": "16px 32px",
      "height": "60px",
      "fontFamily": "Inter",
      "fontSize": "18px",
      "fontWeight": 500,
      "sample": "Download the app"
    },
    "button-secondary": {
      "textColor": "#27272A",
      "rounded": "8px",
      "padding": "7px 20px",
      "height": "40px",
      "fontFamily": "Inter",
      "fontSize": "16px",
      "fontWeight": 500,
      "border": "1px solid #E4E4E7",
      "shadow": "rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px",
      "sample": "Sign up"
    },
    "card": {
      "rounded": "12px",
      "padding": "48px",
      "count": 6,
      "backgroundColor": "#FFFFFF",
      "shadow": "rgb(255, 255, 255) 0px 0px 0px 0px, rgba(0, 0, 0, 0.05) 0px 0px 0px 1px, rgba(0, 0, 0, 0.05) 0px 1px 2px 0px"
    }
  },
  "imagery": {
    "media_share": 0.345,
    "dominant_colors": [
      {
        "hex": "#F9FEF5",
        "share": 0.244
      },
      {
        "hex": "#252929",
        "share": 0.24
      },
      {
        "hex": "#5D6461",
        "share": 0.097
      },
      {
        "hex": "#130C12",
        "share": 0.071
      },
      {
        "hex": "#3B3B3A",
        "share": 0.042
      },
      {
        "hex": "#5668C6",
        "share": 0.042
      }
    ],
    "has_photography": null,
    "has_illustration": null
  },
  "stack": [
    "astro",
    "tailwind",
    "posthog",
    "google-tag-manager",
    "netlify"
  ],
  "sections": [
    {
      "index": 0,
      "kind": "nav",
      "kind_source": "dom",
      "confidence": 0.9,
      "bbox": {
        "x": 0,
        "y": 0,
        "w": 1440,
        "h": 91
      },
      "heading": "Tuple",
      "bg": "#FFFFFF",
      "crop": "img/section-00-nav.webp"
    },
    {
      "index": 1,
      "kind": "hero",
      "kind_source": "dom",
      "confidence": 0.9,
      "bbox": {
        "x": -780,
        "y": 91,
        "w": 3000,
        "h": 1618
      },
      "heading": "Screen sharing for people who build software.",
      "bg": "#FFFFFF",
      "crop": "img/section-01-hero.webp"
    },
    {
      "index": 2,
      "kind": "features",
      "kind_source": "dom",
      "confidence": 0.5,
      "bbox": {
        "x": -780,
        "y": 1709,
        "w": 3000,
        "h": 2423
      },
      "heading": "Built for working, not for meetings",
      "bg": "#FFFFFF",
      "crop": "img/section-02-features.webp"
    },
    {
      "index": 3,
      "kind": "feature-detail",
      "kind_source": "dom",
      "confidence": 0.45,
      "bbox": {
        "x": 0,
        "y": 4132,
        "w": 1440,
        "h": 1154
      },
      "heading": "Don't take our word for it",
      "bg": "#FFFFFF",
      "crop": "img/section-03-feature-detail.webp"
    },
    {
      "index": 4,
      "kind": "code-sample",
      "kind_source": "dom",
      "confidence": 0.6,
      "bbox": {
        "x": 144,
        "y": 5285,
        "w": 1152,
        "h": 1646
      },
      "heading": "Plug your calls into your agents",
      "bg": "#09090B",
      "crop": "img/section-04-code-sample.webp"
    },
    {
      "index": 5,
      "kind": "features",
      "kind_source": "dom",
      "confidence": 0.5,
      "bbox": {
        "x": 0,
        "y": 6931,
        "w": 1440,
        "h": 1084
      },
      "heading": "Liven up your working sessions",
      "bg": "#FAFAFA",
      "crop": "img/section-05-features.webp"
    },
    {
      "index": 6,
      "kind": "feature-detail",
      "kind_source": "dom",
      "confidence": 0.45,
      "bbox": {
        "x": 0,
        "y": 8015,
        "w": 1440,
        "h": 504
      },
      "heading": "Ready to get started?",
      "bg": "#FFFFFF",
      "crop": "img/section-06-feature-detail.webp"
    },
    {
      "index": 7,
      "kind": "footer",
      "kind_source": "dom",
      "confidence": 0.75,
      "bbox": {
        "x": 144,
        "y": 8519,
        "w": 1152,
        "h": 323
      },
      "heading": "Tuple",
      "bg": "#FFFFFF",
      "crop": "img/section-07-footer.webp"
    }
  ],
  "images": {
    "manifest": "img/manifest.json",
    "count": 12
  },
  "review": {
    "threshold": 0.7,
    "needs_review": [
      "color.accent_strategy",
      "layout.columns",
      "layout.hero",
      "layout.section_count",
      "sections[].kind",
      "space.section_padding_px"
    ],
    "vision": "not-run"
  },
  "provenance": {
    "color.roles.bg": {
      "source": "dom",
      "confidence": 0.95
    },
    "color.roles.text": {
      "source": "dom",
      "confidence": 0.92
    },
    "color.roles.muted": {
      "source": "dom",
      "confidence": 0.82
    },
    "color.roles.surface": {
      "source": "dom",
      "confidence": 0.78
    },
    "color.roles.border": {
      "source": "dom",
      "confidence": 0.75
    },
    "color.roles.accent": {
      "source": "dom",
      "confidence": 0.9,
      "note": "fill of the primary button"
    },
    "color.accent_strategy": {
      "source": "dom",
      "confidence": 0.6,
      "note": "hue count over chromatic colors; product mockups rendered in the DOM inflate it",
      "needs_review": true
    },
    "color.palette": {
      "source": "dom",
      "confidence": 0.9
    },
    "color.declared_accents": {
      "source": "dom",
      "confidence": 0.95
    },
    "color.dark_mode": {
      "source": "dom",
      "confidence": 0.9
    },
    "color.contrast": {
      "source": "dom",
      "confidence": 0.9
    },
    "color.gradients": {
      "source": "dom",
      "confidence": 0.85
    },
    "type.families": {
      "source": "dom",
      "confidence": 0.95,
      "note": "named from the @font-face rule that rendered (CDP platform fonts)"
    },
    "type.families[].roles": {
      "source": "dom",
      "confidence": 0.85
    },
    "type.declared_unused": {
      "source": "dom",
      "confidence": 0.95
    },
    "type.scale_px": {
      "source": "dom",
      "confidence": 0.9
    },
    "type.body_size": {
      "source": "dom",
      "confidence": 0.85
    },
    "type.display_size": {
      "source": "dom",
      "confidence": 0.85
    },
    "type.styles": {
      "source": "dom",
      "confidence": 0.8
    },
    "type.ratio": {
      "source": "dom",
      "confidence": 0.7,
      "note": "geometric fit over the scale above body size"
    },
    "type.case": {
      "source": "dom",
      "confidence": 0.75
    },
    "type.line_height": {
      "source": "dom",
      "confidence": 0.85
    },
    "type.tracking_display": {
      "source": "dom",
      "confidence": 0.85
    },
    "space.base": {
      "source": "dom",
      "confidence": 0.92,
      "note": "share of paddings/margins/gaps on the base: 0.93"
    },
    "space.scale_px": {
      "source": "dom",
      "confidence": 0.85
    },
    "space.section_padding_px": {
      "source": "dom",
      "confidence": 0.65,
      "needs_review": true
    },
    "space.density": {
      "source": "dom",
      "confidence": 0.85
    },
    "shape.radii_px": {
      "source": "dom",
      "confidence": 0.88
    },
    "shape.dominant_radius": {
      "source": "dom",
      "confidence": 0.8
    },
    "shape.border_usage": {
      "source": "dom",
      "confidence": 0.8
    },
    "depth.shadows": {
      "source": "dom",
      "confidence": 0.9
    },
    "depth.style": {
      "source": "dom",
      "confidence": 0.75
    },
    "layout.container_px": {
      "source": "dom",
      "confidence": 0.8
    },
    "layout.columns": {
      "source": "dom",
      "confidence": 0.6,
      "note": "most common grid track count; layout grids and card grids are not separated",
      "needs_review": true
    },
    "layout.nav": {
      "source": "dom",
      "confidence": 0.78
    },
    "layout.hero": {
      "source": "dom",
      "confidence": 0.6,
      "note": "geometric heuristic over the h1 and nearby media",
      "needs_review": true
    },
    "layout.section_count": {
      "source": "dom",
      "confidence": 0.6,
      "needs_review": true
    },
    "motion": {
      "source": "dom",
      "confidence": 0.8
    },
    "components": {
      "source": "dom",
      "confidence": 0.78
    },
    "stack": {
      "source": "dom",
      "confidence": 0.85,
      "note": "globals, script URLs and response headers"
    },
    "meta": {
      "source": "dom",
      "confidence": 0.99
    },
    "sections[].bbox": {
      "source": "dom",
      "confidence": 0.8
    },
    "sections[].kind": {
      "source": "dom",
      "confidence": 0.63,
      "note": "class-name and content-count heuristics; per-section confidence in sections[].confidence",
      "needs_review": true
    },
    "imagery.media_share": {
      "source": "dom",
      "confidence": 0.8
    },
    "imagery.dominant_colors": {
      "source": "pixels",
      "confidence": 0.7,
      "note": "clustered screenshot pixels inside media boxes (approximate, OKLab ΔE 0.06 clusters)"
    }
  }
}