🐦 Twitter Post Details

Viewing enriched Twitter post

@simonw

JustHTML by @EmilStenstrom is a new Python library (no dependencies) that parses HTML according to the HTML5 specification and passes the 9,200 test html5lib-tests suite It's 3,000 lines of code mostly written by coding agents over a couple of months https://t.co/raGQ88tlTg

Media 1

📊 Media Metadata

{
  "media": [
    {
      "url": "https://crmoxkoizveukayfjuyo.supabase.co/storage/v1/object/public/media/posts/2000252739058888721/media_0.jpg?",
      "media_url": "https://crmoxkoizveukayfjuyo.supabase.co/storage/v1/object/public/media/posts/2000252739058888721/media_0.jpg?",
      "type": "photo",
      "filename": "media_0.jpg"
    }
  ],
  "processed_at": "2025-12-17T20:59:55.044974",
  "pipeline_version": "2.0"
}

🔧 Raw API Response

{
  "type": "tweet",
  "id": "2000252739058888721",
  "url": "https://x.com/simonw/status/2000252739058888721",
  "twitterUrl": "https://twitter.com/simonw/status/2000252739058888721",
  "text": "JustHTML by @EmilStenstrom is a new Python library (no dependencies) that parses HTML according to the HTML5 specification and passes the 9,200 test html5lib-tests suite\n\nIt's 3,000 lines of code mostly written by coding agents over a couple of months https://t.co/raGQ88tlTg",
  "source": "Twitter for iPhone",
  "retweetCount": 96,
  "replyCount": 25,
  "likeCount": 1105,
  "quoteCount": 18,
  "viewCount": 140379,
  "createdAt": "Sun Dec 14 17:13:10 +0000 2025",
  "lang": "en",
  "bookmarkCount": 850,
  "isReply": false,
  "inReplyToId": null,
  "conversationId": "2000252739058888721",
  "displayTextRange": [
    0,
    275
  ],
  "inReplyToUserId": null,
  "inReplyToUsername": null,
  "author": {
    "type": "user",
    "userName": "simonw",
    "url": "https://x.com/simonw",
    "twitterUrl": "https://twitter.com/simonw",
    "id": "12497",
    "name": "Simon Willison",
    "isVerified": false,
    "isBlueVerified": true,
    "verifiedType": null,
    "profilePicture": "https://pbs.twimg.com/profile_images/378800000261649705/be9cc55e64014e6d7663c50d7cb9fc75_normal.jpeg",
    "coverPicture": "https://pbs.twimg.com/profile_banners/12497/1642751752",
    "description": "",
    "location": "San Francisco, CA",
    "followers": 125496,
    "following": 5598,
    "status": "",
    "canDm": true,
    "canMediaTag": true,
    "createdAt": "Wed Nov 15 13:18:50 +0000 2006",
    "entities": {
      "description": {
        "urls": []
      },
      "url": {}
    },
    "fastFollowersCount": 0,
    "favouritesCount": 62039,
    "hasCustomTimelines": true,
    "isTranslator": true,
    "mediaCount": 3807,
    "statusesCount": 59376,
    "withheldInCountries": [],
    "affiliatesHighlightedLabel": {},
    "possiblySensitive": false,
    "pinnedTweetIds": [],
    "profile_bio": {
      "description": "Creator @datasetteproj, co-creator Django. PSF board. Hangs out with @natbat. He/Him. Mastodon: https://t.co/t0MrmnJW0K Bsky: https://t.co/OnWIyhX4CH",
      "entities": {
        "description": {
          "urls": [
            {
              "display_url": "fedi.simonwillison.net/@simon",
              "expanded_url": "https://fedi.simonwillison.net/@simon",
              "indices": [
                96,
                119
              ],
              "url": "https://t.co/t0MrmnJW0K"
            },
            {
              "display_url": "simonwillison.net",
              "expanded_url": "http://simonwillison.net",
              "indices": [
                126,
                149
              ],
              "url": "https://t.co/OnWIyhX4CH"
            }
          ],
          "user_mentions": [
            {
              "id_str": "0",
              "indices": [
                8,
                22
              ],
              "name": "",
              "screen_name": "datasetteproj"
            },
            {
              "id_str": "0",
              "indices": [
                69,
                76
              ],
              "name": "",
              "screen_name": "natbat"
            }
          ]
        },
        "url": {
          "urls": [
            {
              "display_url": "simonwillison.net",
              "expanded_url": "https://simonwillison.net/",
              "indices": [
                0,
                23
              ],
              "url": "https://t.co/p4R0XiEYEc"
            }
          ]
        }
      }
    },
    "isAutomated": false,
    "automatedBy": null
  },
  "extendedEntities": {},
  "card": {
    "binding_values": [
      {
        "key": "thumbnail_image",
        "value": {
          "image_value": {
            "height": 144,
            "url": "https://pbs.twimg.com/card_img/2000569656134807560/Z3zTXxrd?format=jpg&name=144x144_2",
            "width": 144
          }
        }
      },
      {
        "key": "description",
        "value": {
          "string_value": "I recently came across JustHTML, a new Python library for parsing HTML released by Emil Stenström. It’s a very interesting piece of software, both as a useful library and as …"
        }
      },
      {
        "key": "domain",
        "value": {
          "string_value": "simonwillison.net"
        }
      },
      {
        "key": "thumbnail_image_large",
        "value": {
          "image_value": {
            "height": 420,
            "url": "https://pbs.twimg.com/card_img/2000569656134807560/Z3zTXxrd?format=jpg&name=420x420_2",
            "width": 420
          }
        }
      },
      {
        "key": "thumbnail_image_original",
        "value": {
          "image_value": {
            "height": 600,
            "url": "https://pbs.twimg.com/card_img/2000569656134807560/Z3zTXxrd?format=jpg&name=orig",
            "width": 1200
          }
        }
      },
      {
        "key": "thumbnail_image_small",
        "value": {
          "image_value": {
            "height": 100,
            "url": "https://pbs.twimg.com/card_img/2000569656134807560/Z3zTXxrd?format=jpg&name=100x100_2",
            "width": 100
          }
        }
      },
      {
        "key": "thumbnail_image_x_large",
        "value": {
          "image_value": {
            "height": 600,
            "url": "https://pbs.twimg.com/card_img/2000569656134807560/Z3zTXxrd?format=png&name=2048x2048_2_exp",
            "width": 1200
          }
        }
      },
      {
        "key": "vanity_url",
        "value": {
          "scribe_key": "vanity_url",
          "string_value": "simonwillison.net"
        }
      },
      {
        "key": "thumbnail_image_color",
        "value": {
          "image_color_value": {
            "palette": [
              {
                "percentage": 93.4,
                "rgb": {
                  "blue": 245,
                  "green": 245,
                  "red": 245
                }
              },
              {
                "percentage": 3.16,
                "rgb": {
                  "blue": 87,
                  "green": 155,
                  "red": 34
                }
              },
              {
                "percentage": 2.88,
                "rgb": {
                  "blue": 82,
                  "green": 63,
                  "red": 46
                }
              },
              {
                "percentage": 0.44,
                "rgb": {
                  "blue": 149,
                  "green": 189,
                  "red": 116
                }
              }
            ]
          }
        }
      },
      {
        "key": "title",
        "value": {
          "string_value": "JustHTML is a fascinating example of vibe engineering in action"
        }
      },
      {
        "key": "card_url",
        "value": {
          "scribe_key": "card_url",
          "string_value": "https://t.co/raGQ88tlTg"
        }
      }
    ],
    "card_platform": {
      "platform": {
        "audience": {
          "name": "production"
        },
        "device": {
          "name": "iPhone",
          "version": "13"
        }
      }
    },
    "name": "summary",
    "url": "https://t.co/raGQ88tlTg"
  },
  "place": {},
  "entities": {
    "urls": [
      {
        "display_url": "simonwillison.net/2025/Dec/14/ju…",
        "expanded_url": "https://simonwillison.net/2025/Dec/14/justhtml/",
        "indices": [
          252,
          275
        ],
        "url": "https://t.co/raGQ88tlTg"
      }
    ],
    "user_mentions": [
      {
        "id_str": "16038461",
        "indices": [
          12,
          26
        ],
        "name": "Emil Stenström 🎛️",
        "screen_name": "EmilStenstrom"
      }
    ]
  },
  "quoted_tweet": null,
  "retweeted_tweet": null,
  "isLimitedReply": false,
  "article": null
}