🐦 Twitter Post Details
Viewing enriched Twitter post
📊 Media Metadata
{
"media": [
{
"type": "photo",
"url": "https://crmoxkoizveukayfjuyo.supabase.co/storage/v1/object/public/media/posts/1959310794623209686/media_0.png?",
"filename": "media_0.png"
}
],
"processed_at": "2025-08-24T10:00:27.275431",
"pipeline_version": "2.0"
} 🔧 Raw API Response
{
"type": "tweet",
"id": "1959310794623209686",
"url": "https://x.com/HamelHusain/status/1959310794623209686",
"twitterUrl": "https://twitter.com/HamelHusain/status/1959310794623209686",
"text": "Its true. @ttorres is the singularity https://t.co/wDWvwnYQOC",
"source": "Twitter for iPhone",
"retweetCount": 0,
"replyCount": 0,
"likeCount": 9,
"quoteCount": 0,
"viewCount": 2647,
"createdAt": "Sat Aug 23 17:44:30 +0000 2025",
"lang": "en",
"bookmarkCount": 11,
"isReply": false,
"inReplyToId": null,
"conversationId": "1959310794623209686",
"displayTextRange": [
0,
37
],
"inReplyToUserId": null,
"inReplyToUsername": null,
"author": {
"type": "user",
"userName": "HamelHusain",
"url": "https://x.com/HamelHusain",
"twitterUrl": "https://twitter.com/HamelHusain",
"id": "825766640",
"name": "Hamel Husain",
"isVerified": false,
"isBlueVerified": true,
"verifiedType": null,
"profilePicture": "https://pbs.twimg.com/profile_images/1287206199088173057/ixE4fKy1_normal.jpg",
"coverPicture": "https://pbs.twimg.com/profile_banners/825766640/1735797063",
"description": "",
"location": "Looking at the data",
"followers": 37801,
"following": 2194,
"status": "",
"canDm": true,
"canMediaTag": false,
"createdAt": "Sat Sep 15 18:45:02 +0000 2012",
"entities": {
"description": {
"urls": []
},
"url": {}
},
"fastFollowersCount": 0,
"favouritesCount": 15157,
"hasCustomTimelines": true,
"isTranslator": false,
"mediaCount": 1372,
"statusesCount": 14544,
"withheldInCountries": [],
"affiliatesHighlightedLabel": {},
"possiblySensitive": false,
"pinnedTweetIds": [
"1953244495430205585"
],
"profile_bio": {
"description": "Evals evals evals https://t.co/Zrmp6LRd9c\n\nAbout Me: https://t.co/P6WyeKkyTa",
"entities": {
"description": {
"urls": [
{
"display_url": "evals.info",
"expanded_url": "http://evals.info",
"indices": [
18,
41
],
"url": "https://t.co/Zrmp6LRd9c"
},
{
"display_url": "hamel.dev",
"expanded_url": "https://hamel.dev",
"indices": [
53,
76
],
"url": "https://t.co/P6WyeKkyTa"
}
]
},
"url": {
"urls": [
{
"display_url": "evals.info",
"expanded_url": "http://evals.info",
"indices": [
0,
23
],
"url": "https://t.co/Zrmp6LRd9c"
}
]
}
}
},
"isAutomated": false,
"automatedBy": null
},
"extendedEntities": {
"media": [
{
"display_url": "pic.twitter.com/wDWvwnYQOC",
"expanded_url": "https://twitter.com/HamelHusain/status/1959310794623209686/photo/1",
"ext_media_availability": {
"status": "Available"
},
"features": {
"large": {
"faces": [
{
"h": 76,
"w": 76,
"x": 7,
"y": 21
}
]
},
"orig": {
"faces": [
{
"h": 76,
"w": 76,
"x": 7,
"y": 21
}
]
}
},
"id_str": "1959310602356301824",
"indices": [
38,
61
],
"media_key": "3_1959310602356301824",
"media_results": {
"id": "QXBpTWVkaWFSZXN1bHRzOgwAAQoAARsw3pyqGqAACgACGzDeyW4a0NYAAA==",
"result": {
"__typename": "ApiMedia",
"id": "QXBpTWVkaWE6DAABCgABGzDenKoaoAAKAAIbMN7JbhrQ1gAA",
"media_key": "3_1959310602356301824"
}
},
"media_url_https": "https://pbs.twimg.com/media/GzDenKoaoAAPjuB.png",
"original_info": {
"focus_rects": [
{
"h": 204,
"w": 364,
"x": 0,
"y": 0
},
{
"h": 204,
"w": 204,
"x": 77,
"y": 0
},
{
"h": 204,
"w": 179,
"x": 90,
"y": 0
},
{
"h": 204,
"w": 102,
"x": 128,
"y": 0
},
{
"h": 204,
"w": 654,
"x": 0,
"y": 0
}
],
"height": 204,
"width": 654
},
"sizes": {
"large": {
"h": 204,
"w": 654
}
},
"type": "photo",
"url": "https://t.co/wDWvwnYQOC"
}
]
},
"card": null,
"place": {},
"entities": {
"user_mentions": [
{
"id_str": "2728761",
"indices": [
10,
18
],
"name": "Teresa Torres",
"screen_name": "ttorres"
}
]
},
"quoted_tweet": {
"type": "tweet",
"id": "1956371273858314397",
"url": "https://x.com/HamelHusain/status/1956371273858314397",
"twitterUrl": "https://twitter.com/HamelHusain/status/1956371273858314397",
"text": "I'm often asked for the best public example of AI evals done right for a real, production product.\n\nI finally have an answer.\n\n@ttorres shares how she shipped an AI interview coach, and used evals to rapidly squash bugs and improve the product.\n\nTeresa shows how she:\n\n1. did error analysis FIRST to find real issues (instead of using generic metrics) 😍\n2. used Jupyter notebooks to analyze errors\n3. built custom annotation tools + custom widgets in notebooks\n4. built a LLM-judge and assertions to test for specific errors\n5. iterated through this feedback loop until it worked.\n6. kept things simple the whole time\n\nIt's also probably the best commercial for Jupyter notebooks you can imagine. 🥰\n\nChapter summary below. Link to YT in next thread\n\n00:00:00 - Intro\n00:01:45 - The Product: Building an AI Interview Coach\n00:06:34 - The Problem: How Do I Know if My AI Coach is Any Good?\n00:10:15 - Using Airtable for Traces and Annotation\n00:12:15 - Discovering Jupyter Notebooks and Designing the First Evals\n00:15:15 - Example Evals: LLM-as-Judge vs. Code-Based Assertions\n00:21:00 - Learning Python with ChatGPT to Analyze Eval Results\n00:31:00 - VS Code, Custom Tools, and an Eval Investigation Notebook\n00:39:45 - Building a Custom Annotation Tool with Claude\n00:41:00 - From Personal Project to Production App\n00:46:02 - How Should PMs and Engineers Collaborate on AI Products?\n00:55:45 - Q&A: Capturing Feedback and Annotations from End Users\n00:58:11 - Q&A: Is a Technical Background Necessary to Build AI?\n01:02:28 - Q&A: What's Next for Teresa?\n01:03:13 - Q&A: Unpacking the Micro-Decisions of Building an AI App",
"source": "Twitter for iPhone",
"retweetCount": 59,
"replyCount": 14,
"likeCount": 417,
"quoteCount": 9,
"viewCount": 48908,
"createdAt": "Fri Aug 15 15:03:53 +0000 2025",
"lang": "en",
"bookmarkCount": 897,
"isReply": false,
"inReplyToId": null,
"conversationId": "1956371273858314397",
"displayTextRange": [
0,
276
],
"inReplyToUserId": null,
"inReplyToUsername": null,
"author": {
"type": "user",
"userName": "HamelHusain",
"url": "https://x.com/HamelHusain",
"twitterUrl": "https://twitter.com/HamelHusain",
"id": "825766640",
"name": "Hamel Husain",
"isVerified": false,
"isBlueVerified": true,
"verifiedType": null,
"profilePicture": "https://pbs.twimg.com/profile_images/1287206199088173057/ixE4fKy1_normal.jpg",
"coverPicture": "https://pbs.twimg.com/profile_banners/825766640/1735797063",
"description": "",
"location": "Looking at the data",
"followers": 37801,
"following": 2194,
"status": "",
"canDm": true,
"canMediaTag": false,
"createdAt": "Sat Sep 15 18:45:02 +0000 2012",
"entities": {
"description": {
"urls": []
},
"url": {}
},
"fastFollowersCount": 0,
"favouritesCount": 15157,
"hasCustomTimelines": true,
"isTranslator": false,
"mediaCount": 1372,
"statusesCount": 14544,
"withheldInCountries": [],
"affiliatesHighlightedLabel": {},
"possiblySensitive": false,
"pinnedTweetIds": [
"1953244495430205585"
],
"profile_bio": {
"description": "Evals evals evals https://t.co/Zrmp6LRd9c\n\nAbout Me: https://t.co/P6WyeKkyTa",
"entities": {
"description": {
"urls": [
{
"display_url": "evals.info",
"expanded_url": "http://evals.info",
"indices": [
18,
41
],
"url": "https://t.co/Zrmp6LRd9c"
},
{
"display_url": "hamel.dev",
"expanded_url": "https://hamel.dev",
"indices": [
53,
76
],
"url": "https://t.co/P6WyeKkyTa"
}
]
},
"url": {
"urls": [
{
"display_url": "evals.info",
"expanded_url": "http://evals.info",
"indices": [
0,
23
],
"url": "https://t.co/Zrmp6LRd9c"
}
]
}
}
},
"isAutomated": false,
"automatedBy": null
},
"extendedEntities": {
"media": [
{
"additional_media_info": {
"monetizable": false
},
"display_url": "pic.twitter.com/oADG5uEGfk",
"expanded_url": "https://twitter.com/HamelHusain/status/1956371273858314397/video/1",
"ext_media_availability": {
"status": "Available"
},
"id_str": "1956368978412253184",
"indices": [
277,
300
],
"media_key": "13_1956368978412253184",
"media_results": {
"id": "QXBpTWVkaWFSZXN1bHRzOgwABAoAARsmazh32zAAAAA=",
"result": {
"__typename": "ApiMedia",
"id": "QXBpTWVkaWE6DAAECgABGyZrOHfbMAAAAA==",
"media_key": "13_1956368978412253184"
}
},
"media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1956368978412253184/img/3NCgTmSFj7cK4hO7.jpg",
"original_info": {
"focus_rects": [],
"height": 1080,
"width": 1920
},
"sizes": {
"large": {
"h": 1080,
"w": 1920
}
},
"type": "video",
"url": "https://t.co/oADG5uEGfk",
"video_info": {
"aspect_ratio": [
16,
9
],
"duration_millis": 4222100,
"variants": [
{
"content_type": "application/x-mpegURL",
"url": "https://video-s.twimg.com/amplify_video/1956368978412253184/pl/umE-gI2B2yzL-Rs1.m3u8?tag=21&v=614"
},
{
"bitrate": 256000,
"content_type": "video/mp4",
"url": "https://video-s.twimg.com/amplify_video/1956368978412253184/vid/avc1/480x270/JXrcbr7KIqcUtfAT.mp4?tag=21"
},
{
"bitrate": 832000,
"content_type": "video/mp4",
"url": "https://video-s.twimg.com/amplify_video/1956368978412253184/vid/avc1/640x360/-L2Z0EkNLyDpeHY5.mp4?tag=21"
},
{
"bitrate": 2176000,
"content_type": "video/mp4",
"url": "https://video-s.twimg.com/amplify_video/1956368978412253184/vid/avc1/1280x720/HyaE6uhqGMtDj0hq.mp4?tag=21"
},
{
"bitrate": 10368000,
"content_type": "video/mp4",
"url": "https://video-s.twimg.com/amplify_video/1956368978412253184/vid/avc1/1920x1080/6xWeulJJ3h8z0ftB.mp4?tag=21"
}
]
}
}
]
},
"card": null,
"place": {},
"entities": {
"user_mentions": [
{
"id_str": "2728761",
"indices": [
127,
135
],
"name": "Teresa Torres",
"screen_name": "ttorres"
}
],
"timestamps": [
{
"indices": [
750,
758
],
"text": "00:00:00",
"seconds": 0
},
{
"indices": [
767,
775
],
"text": "00:01:45",
"seconds": 105
},
{
"indices": [
822,
830
],
"text": "00:06:34",
"seconds": 394
},
{
"indices": [
888,
896
],
"text": "00:10:15",
"seconds": 615
},
{
"indices": [
940,
948
],
"text": "00:12:15",
"seconds": 735
},
{
"indices": [
1011,
1019
],
"text": "00:15:15",
"seconds": 915
},
{
"indices": [
1076,
1084
],
"text": "00:21:00",
"seconds": 1260
},
{
"indices": [
1140,
1148
],
"text": "00:31:00",
"seconds": 1860
},
{
"indices": [
1209,
1217
],
"text": "00:39:45",
"seconds": 2385
},
{
"indices": [
1266,
1274
],
"text": "00:41:00",
"seconds": 2460
},
{
"indices": [
1317,
1325
],
"text": "00:46:02",
"seconds": 2762
},
{
"indices": [
1385,
1393
],
"text": "00:55:45",
"seconds": 3345
},
{
"indices": [
1451,
1459
],
"text": "00:58:11",
"seconds": 3491
},
{
"indices": [
1516,
1524
],
"text": "01:02:28",
"seconds": 3748
},
{
"indices": [
1556,
1564
],
"text": "01:03:13",
"seconds": 3793
}
]
},
"quoted_tweet": null,
"retweeted_tweet": null,
"isLimitedReply": false,
"article": null
},
"retweeted_tweet": null,
"isLimitedReply": false,
"article": null
}