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.
{
"@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'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&utm_source=newsletter.csharpdigest.net&utm_medium=newsletter&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&utm_source=newsletter.csharpdigest.net&utm_medium=newsletter&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'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&utm_source=newsletter.csharpdigest.net&utm_medium=newsletter&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&utm_source=newsletter.csharpdigest.net&utm_medium=newsletter&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
}
}