🐦 Twitter Post Details

Viewing enriched Twitter post

@omarsar0

HTML Artifacts are a big part of how I work with agents now. Artifacts can be more than just static files. When combined with agents, they can take action or help you take action. This unlocks all kinds of interesting ways to work with agents. This is clearly the future. Check out this writing and scheduler artifact I built in a few minutes. It uses a bit of HTML and JS. All the data is in markdown (Obsidian vaults), so the agent can access and modify it at any time. No DB needed. No sophisticated functionalities. The agent decides all that for me based on the skills, context, and memory it has access to. The best part about this simple stack is that all the important information stays with me. This has allowed me to build a recursive self-improving system and automations that can better tap into coding agents like Codex or Claude Code. I could have paid or built an entire app for scheduling posts, and there are so many of them out there. But I don't need to. I've realized a simple artifact does the job. And the simplicity of it is actually an advantage. Very little maintenance for very high returns on personalization, time, and efficiency. The other benefit of this is that I can add features as I please. That level of personalization feels magical, and we should all be pursuing more of it. All of this just keeps compounding. Of course, this example is just about writing. But I have similar artifacts for research, design, experimentation, evaluation, and so much more. And no, I didn't actually publish the post example I shared in the clip. It was just for demonstration purposes. I actually spend more time than this when writing together with agents. Lastly, having built my own agent orchestrator tool has made me realize that simplifying the tool stack is a superpower. If you are curious about how all this works, I will do a live session next week: https://t.co/AAkfLJHVmS

📊 Media Metadata

{
  "media": [
    {
      "url": "https://video.twimg.com/amplify_video/2054603591890214913/vid/avc1/1264x720/kINeeSsGjW0_kYmU.mp4?tag=14",
      "type": "video"
    }
  ],
  "processed_at": "2026-05-13T16:55:44.832617",
  "pipeline_version": "2.0"
}

🔧 Raw API Response

{
  "type": "tweet",
  "id": "2054603647963865402",
  "url": "https://x.com/omarsar0/status/2054603647963865402",
  "twitterUrl": "https://twitter.com/omarsar0/status/2054603647963865402",
  "text": "HTML Artifacts are a big part of how I work with agents now.\n\nArtifacts can be more than just static files.\n\nWhen combined with agents, they can take action or help you take action.\n\nThis unlocks all kinds of interesting ways to work with agents.\n\nThis is clearly the future.\n\nCheck out this writing and scheduler artifact I built in a few minutes.\n\nIt uses a bit of HTML and JS.\n\nAll the data is in markdown (Obsidian vaults), so the agent can access and modify it at any time. No DB needed. No sophisticated functionalities. The agent decides all that for me based on the skills, context, and memory it has access to.\n\nThe best part about this simple stack is that all the important information stays with me. This has allowed me to build a recursive self-improving system and automations that can better tap into coding agents like Codex or Claude Code.\n\nI could have paid or built an entire app for scheduling posts, and there are so many of them out there. But I don't need to. I've realized a simple artifact does the job. And the simplicity of it is actually an advantage. Very little maintenance for very high returns on personalization, time, and efficiency.\n\nThe other benefit of this is that I can add features as I please. That level of personalization feels magical, and we should all be pursuing more of it.\n\nAll of this just keeps compounding.\n\nOf course, this example is just about writing. But I have similar artifacts for research, design, experimentation, evaluation, and so much more.\n\nAnd no, I didn't actually publish the post example I shared in the clip. It was just for demonstration purposes. I actually spend more time than this when writing together with agents.\n\nLastly, having built my own agent orchestrator tool has made me realize that simplifying the tool stack is a superpower.\n\nIf you are curious about how all this works, I will do a live session next week: https://t.co/AAkfLJHVmS",
  "source": "Twitter for iPhone",
  "retweetCount": 2,
  "replyCount": 2,
  "likeCount": 11,
  "quoteCount": 0,
  "viewCount": 551,
  "createdAt": "Wed May 13 16:44:17 +0000 2026",
  "lang": "en",
  "bookmarkCount": 3,
  "isReply": false,
  "inReplyToId": null,
  "conversationId": "2054603647963865402",
  "displayTextRange": [
    0,
    275
  ],
  "inReplyToUserId": null,
  "inReplyToUsername": null,
  "author": {
    "type": "user",
    "userName": "omarsar0",
    "url": "https://x.com/omarsar0",
    "twitterUrl": "https://twitter.com/omarsar0",
    "id": "3448284313",
    "name": "elvis",
    "isVerified": false,
    "isBlueVerified": true,
    "verifiedType": null,
    "profilePicture": "https://pbs.twimg.com/profile_images/939313677647282181/vZjFWtAn_normal.jpg",
    "coverPicture": "https://pbs.twimg.com/profile_banners/3448284313/1565974901",
    "description": "",
    "location": "DAIR.AI Academy",
    "followers": 303548,
    "following": 838,
    "status": "",
    "canDm": true,
    "canMediaTag": true,
    "createdAt": "Fri Sep 04 12:59:26 +0000 2015",
    "entities": {
      "description": {
        "urls": []
      },
      "url": {}
    },
    "fastFollowersCount": 0,
    "favouritesCount": 35872,
    "hasCustomTimelines": true,
    "isTranslator": true,
    "mediaCount": 4648,
    "statusesCount": 17842,
    "withheldInCountries": [],
    "affiliatesHighlightedLabel": {},
    "possiblySensitive": false,
    "pinnedTweetIds": [
      "2054603647963865402"
    ],
    "profile_bio": {
      "description": "Building @dair_ai • Prev: Meta AI, Elastic, PhD • New AI learning portal: https://t.co/1e8RZKs4uX",
      "entities": {
        "description": {
          "urls": [
            {
              "display_url": "academy.dair.ai",
              "expanded_url": "https://academy.dair.ai/",
              "indices": [
                74,
                97
              ],
              "url": "https://t.co/1e8RZKs4uX"
            }
          ],
          "user_mentions": [
            {
              "id_str": "",
              "indices": [
                9,
                17
              ],
              "name": "",
              "screen_name": "dair_ai"
            }
          ]
        },
        "url": {
          "urls": [
            {
              "display_url": "dair.ai",
              "expanded_url": "https://www.dair.ai/",
              "indices": [
                0,
                23
              ],
              "url": "https://t.co/XQto5ypSIk"
            }
          ]
        }
      }
    },
    "isAutomated": false,
    "automatedBy": null
  },
  "extendedEntities": {
    "media": [
      {
        "additional_media_info": {
          "monetizable": true
        },
        "display_url": "pic.twitter.com/w5mTOb2vxa",
        "expanded_url": "https://twitter.com/omarsar0/status/2054603647963865402/video/1",
        "ext_media_availability": {
          "status": "Available"
        },
        "id_str": "2054603591890214913",
        "indices": [
          276,
          299
        ],
        "media_key": "13_2054603591890214913",
        "media_results": {
          "id": "QXBpTWVkaWFSZXN1bHRzOgwABAoAARyDaxTA26ABAAA=",
          "result": {
            "__typename": "ApiMedia",
            "id": "QXBpTWVkaWE6DAAECgABHINrFMDboAEAAA==",
            "media_key": "13_2054603591890214913"
          }
        },
        "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/2054603591890214913/img/iR-ZRL4CbftXXVuo.jpg",
        "original_info": {
          "focus_rects": [],
          "height": 1080,
          "width": 1896
        },
        "sizes": {
          "large": {
            "h": 1080,
            "w": 1896
          }
        },
        "type": "video",
        "url": "https://t.co/w5mTOb2vxa",
        "video_info": {
          "aspect_ratio": [
            79,
            45
          ],
          "duration_millis": 16583,
          "variants": [
            {
              "content_type": "application/x-mpegURL",
              "url": "https://video.twimg.com/amplify_video/2054603591890214913/pl/gxbLldsEhmwv7Gnl.m3u8?tag=14"
            },
            {
              "bitrate": 288000,
              "content_type": "video/mp4",
              "url": "https://video.twimg.com/amplify_video/2054603591890214913/vid/avc1/474x270/c_lPEzudfZjbDojj.mp4?tag=14"
            },
            {
              "bitrate": 832000,
              "content_type": "video/mp4",
              "url": "https://video.twimg.com/amplify_video/2054603591890214913/vid/avc1/632x360/l_zkse69bUqk-QTL.mp4?tag=14"
            },
            {
              "bitrate": 2176000,
              "content_type": "video/mp4",
              "url": "https://video.twimg.com/amplify_video/2054603591890214913/vid/avc1/1264x720/kINeeSsGjW0_kYmU.mp4?tag=14"
            }
          ]
        }
      }
    ]
  },
  "card": null,
  "place": {},
  "entities": {
    "hashtags": [],
    "symbols": [],
    "timestamps": [],
    "urls": [
      {
        "display_url": "academy.dair.ai/events/cmovobp…",
        "expanded_url": "https://academy.dair.ai/events/cmovobp97000904l5h0n9a2yz",
        "indices": [
          1895,
          1918
        ],
        "url": "https://t.co/AAkfLJHVmS"
      }
    ],
    "user_mentions": []
  },
  "quoted_tweet": null,
  "retweeted_tweet": null,
  "isLimitedReply": false,
  "communityInfo": null,
  "article": null
}