ActivityPub Viewer

A small tool to view real-world ActivityPub objects as JSON! Enter a URL or username from Mastodon or a similar service below, and we'll send a request with the right Accept header to the server to view the underlying object.

Open in browser →
{ "@context": [ "https://www.w3.org/ns/activitystreams", { "ostatus": "http://ostatus.org#", "atomUri": "ostatus:atomUri", "inReplyToAtomUri": "ostatus:inReplyToAtomUri", "conversation": "ostatus:conversation", "sensitive": "as:sensitive", "toot": "http://joinmastodon.org/ns#", "votersCount": "toot:votersCount", "blurhash": "toot:blurhash", "focalPoint": { "@container": "@list", "@id": "toot:focalPoint" }, "Hashtag": "as:Hashtag" } ], "id": "https://fosstodon.org/users/WetHat/statuses/114262957138403731", "type": "Note", "summary": null, "inReplyTo": null, "published": "2025-04-01T13:32:40Z", "url": "https://fosstodon.org/@WetHat/114262957138403731", "attributedTo": "https://fosstodon.org/users/WetHat", "to": [ "https://www.w3.org/ns/activitystreams#Public" ], "cc": [ "https://fosstodon.org/users/WetHat/followers" ], "sensitive": false, "atomUri": "https://fosstodon.org/users/WetHat/statuses/114262957138403731", "inReplyToAtomUri": null, "conversation": "tag:fosstodon.org,2025-04-01:objectId=303299370:objectType=Conversation", "content": "<p>Over-engineering takeaways:<br />➡️ Misjudging future requirements can lead to inappropriate abstractions.<br />➡️ Avoiding over-engineering can be as impactful as achieving technical brilliance.<br />➡️Simplicity is key to maintainability.<br />➡️Avoid predicting needs that aren&#39;t certain.<br />➡️Create abstractions that align with current and reasonable future requirements.</p><p><a href=\"https://www.16elt.com/2024/09/07/future-proof-code/?_bhlid=684eaf1d61f0ce4a2732e0b8746f17c6e77724f4&amp;utm_source=newsletter.csharpdigest.net&amp;utm_medium=newsletter&amp;utm_campaign=on-over-engineering\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://www.</span><span class=\"ellipsis\">16elt.com/2024/09/07/future-pr</span><span class=\"invisible\">oof-code/?_bhlid=684eaf1d61f0ce4a2732e0b8746f17c6e77724f4&amp;utm_source=newsletter.csharpdigest.net&amp;utm_medium=newsletter&amp;utm_campaign=on-over-engineering</span></a></p><p><a href=\"https://fosstodon.org/tags/Programming\" class=\"mention hashtag\" rel=\"tag\">#<span>Programming</span></a> <a href=\"https://fosstodon.org/tags/SoftwareDesign\" class=\"mention hashtag\" rel=\"tag\">#<span>SoftwareDesign</span></a> <a href=\"https://fosstodon.org/tags/BestPractices\" class=\"mention hashtag\" rel=\"tag\">#<span>BestPractices</span></a> <a href=\"https://fosstodon.org/tags/OverEngineering\" class=\"mention hashtag\" rel=\"tag\">#<span>OverEngineering</span></a> <a href=\"https://fosstodon.org/tags/Refactoring\" class=\"mention hashtag\" rel=\"tag\">#<span>Refactoring</span></a></p>", "contentMap": { "en": "<p>Over-engineering takeaways:<br />➡️ Misjudging future requirements can lead to inappropriate abstractions.<br />➡️ Avoiding over-engineering can be as impactful as achieving technical brilliance.<br />➡️Simplicity is key to maintainability.<br />➡️Avoid predicting needs that aren&#39;t certain.<br />➡️Create abstractions that align with current and reasonable future requirements.</p><p><a href=\"https://www.16elt.com/2024/09/07/future-proof-code/?_bhlid=684eaf1d61f0ce4a2732e0b8746f17c6e77724f4&amp;utm_source=newsletter.csharpdigest.net&amp;utm_medium=newsletter&amp;utm_campaign=on-over-engineering\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" translate=\"no\"><span class=\"invisible\">https://www.</span><span class=\"ellipsis\">16elt.com/2024/09/07/future-pr</span><span class=\"invisible\">oof-code/?_bhlid=684eaf1d61f0ce4a2732e0b8746f17c6e77724f4&amp;utm_source=newsletter.csharpdigest.net&amp;utm_medium=newsletter&amp;utm_campaign=on-over-engineering</span></a></p><p><a href=\"https://fosstodon.org/tags/Programming\" class=\"mention hashtag\" rel=\"tag\">#<span>Programming</span></a> <a href=\"https://fosstodon.org/tags/SoftwareDesign\" class=\"mention hashtag\" rel=\"tag\">#<span>SoftwareDesign</span></a> <a href=\"https://fosstodon.org/tags/BestPractices\" class=\"mention hashtag\" rel=\"tag\">#<span>BestPractices</span></a> <a href=\"https://fosstodon.org/tags/OverEngineering\" class=\"mention hashtag\" rel=\"tag\">#<span>OverEngineering</span></a> <a href=\"https://fosstodon.org/tags/Refactoring\" class=\"mention hashtag\" rel=\"tag\">#<span>Refactoring</span></a></p>" }, "attachment": [ { "type": "Document", "mediaType": "image/png", "url": "https://cdn.fosstodon.org/media_attachments/files/114/262/918/000/424/629/original/340df0fe0effbea0.png", "name": "An illustration of the concept of balancing simplicity and complexity in software engineering. ", "blurhash": "UELg^LS$?G$%~ps.R*bIElxY%LS4s8R+IVoK", "focalPoint": [ 0, 0 ], "width": 1024, "height": 1024 } ], "tag": [ { "type": "Hashtag", "href": "https://fosstodon.org/tags/programming", "name": "#programming" }, { "type": "Hashtag", "href": "https://fosstodon.org/tags/softwaredesign", "name": "#softwaredesign" }, { "type": "Hashtag", "href": "https://fosstodon.org/tags/bestpractices", "name": "#bestpractices" }, { "type": "Hashtag", "href": "https://fosstodon.org/tags/overengineering", "name": "#overengineering" }, { "type": "Hashtag", "href": "https://fosstodon.org/tags/refactoring", "name": "#refactoring" } ], "replies": { "id": "https://fosstodon.org/users/WetHat/statuses/114262957138403731/replies", "type": "Collection", "first": { "type": "CollectionPage", "next": "https://fosstodon.org/users/WetHat/statuses/114262957138403731/replies?only_other_accounts=true&page=true", "partOf": "https://fosstodon.org/users/WetHat/statuses/114262957138403731/replies", "items": [] } }, "likes": { "id": "https://fosstodon.org/users/WetHat/statuses/114262957138403731/likes", "type": "Collection", "totalItems": 1 }, "shares": { "id": "https://fosstodon.org/users/WetHat/statuses/114262957138403731/shares", "type": "Collection", "totalItems": 1 } }