{"id":8095,"date":"2026-05-18T07:24:51","date_gmt":"2026-05-18T06:24:51","guid":{"rendered":"https:\/\/monocultured.com\/blog\/?p=8095"},"modified":"2026-05-18T10:46:41","modified_gmt":"2026-05-18T09:46:41","slug":"new-portfolio-up-and-running","status":"publish","type":"post","link":"https:\/\/monocultured.com\/blog\/new-portfolio-up-and-running\/","title":{"rendered":"New portfolio up and running"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1434\" height=\"1024\" src=\"https:\/\/monocultured.com\/blog\/wp-content\/uploads\/2026\/05\/sara-dj-1434x1024.jpg\" alt=\"\" class=\"wp-image-8188\" srcset=\"https:\/\/monocultured.com\/blog\/wp-content\/uploads\/2026\/05\/sara-dj-1434x1024.jpg 1434w, https:\/\/monocultured.com\/blog\/wp-content\/uploads\/2026\/05\/sara-dj-640x457.jpg 640w, https:\/\/monocultured.com\/blog\/wp-content\/uploads\/2026\/05\/sara-dj-768x548.jpg 768w, https:\/\/monocultured.com\/blog\/wp-content\/uploads\/2026\/05\/sara-dj-1536x1097.jpg 1536w, https:\/\/monocultured.com\/blog\/wp-content\/uploads\/2026\/05\/sara-dj.jpg 1920w\" sizes=\"auto, (max-width: 1434px) 100vw, 1434px\" \/><\/figure>\n\n\n\n<p>After an unscheduled hiatus I&#8217;ve activated the <a href=\"https:\/\/monocultured.com\/\">monocultured.com<\/a> portfolio again \u2013&nbsp;and this time I have something which is scalable and easy to maintain! It has categories! It also has a self-hosted shop!<\/p>\n\n\n\n<p>The goal is to add most of the stuff I&#8217;ve produced over the years \u2013 photo, audio, writing \u2013&nbsp;and have it as a repository and reference when I collaborate with others. It&#8217;s been awkward to curate what ends up on the page and what belongs somewhere else, but when in doubt I&#8217;m erring on the side of inclusion \u2013&nbsp;if for no other reason than that it gives me somewhere to point people when they ask me what I&#8217;ve done.<\/p>\n\n\n\n<p>Going through old projects I&#8217;m equally impressed with some of the ideas and projects, and disappointed that I haven&#8217;t done more. I have 30-odd years left in me, and I hope to add to my experiences and output until I croak. Hopefully I don&#8217;t have to update the infrastructure of the portfolio site for a few years now. Or until mandatory SSO age verification becomes a requirement for accessing the open Internet, I suppose.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1434\" height=\"1024\" src=\"https:\/\/monocultured.com\/blog\/wp-content\/uploads\/2026\/05\/mask-prylar-1434x1024.jpg\" alt=\"\" class=\"wp-image-8189\" srcset=\"https:\/\/monocultured.com\/blog\/wp-content\/uploads\/2026\/05\/mask-prylar-1434x1024.jpg 1434w, https:\/\/monocultured.com\/blog\/wp-content\/uploads\/2026\/05\/mask-prylar-640x457.jpg 640w, https:\/\/monocultured.com\/blog\/wp-content\/uploads\/2026\/05\/mask-prylar-768x548.jpg 768w, https:\/\/monocultured.com\/blog\/wp-content\/uploads\/2026\/05\/mask-prylar-1536x1097.jpg 1536w, https:\/\/monocultured.com\/blog\/wp-content\/uploads\/2026\/05\/mask-prylar.jpg 1920w\" sizes=\"auto, (max-width: 1434px) 100vw, 1434px\" \/><\/figure>\n\n\n\n<p><strong>On a technical note:<\/strong> I&#8217;ve migrated all my sites to Hetzner VPS, with the eager help of Claude to set up the migration of content, new Docker images and other installs. I could have done it all myself \u2013\u00a0since I&#8217;m lambasting AI so much I feel like I have to explain myself to you \u2013\u00a0but it would have taken <em>much<\/em> longer for me to klutz my way through, and some of the features I would just skipped since they&#8217;re so finicky. As it is, I can just drop a Github link into VSC and the clanker tells me if the repo does what I want it to do, and then deploy it to my server. Only occasionally breaking things.<\/p>\n\n\n\n<p>I wasn&#8217;t thrilled about Big Cartel (the shop interface for Hintlab) since I&#8217;m selling so little that fees ate up any profit \u2013\u00a0all the small features really add up \u2013\u00a0so I had Claude code me the shop frontend and tie it to Stripe as a payment processor. I&#8217;m selling stuff both on <a href=\"https:\/\/hintlab.org\">hintlab.org<\/a> and <a href=\"https:\/\/monocultured.com\">monocultured.com<\/a>, with the ambition of adding some photography and print stuff to the latter, and keep the former focused on foresight\/design.<\/p>\n\n\n\n<p>You might have noticed that I&#8217;ve redone the theme of this blog to match the main site as well. Yes, AI did that based on my design system, which was nifty. I&#8217;ve tried to <em>vibe<\/em> WordPress themes before, but until now (Sonnet 4.6) I&#8217;ve never succeeded. I still don&#8217;t think Claude managed to follow the design specifications of how a theme is supposed to be coded (the sidebar is hardcoded, for example) but I&#8217;m happy enough with it. I still have to go through all posts, find duplicates and switch over from Gutenberg and whatever came before (this blog is old!) but that&#8217;s not related to anything <em>AI-isch<\/em>. I can&#8217;t imagine that anyone will ever read what I wrote 15 years ago \u2013\u00a0unless I end up on the news in some freak accident \u2013\u00a0but for my own peace of mind I just want to clean this place up.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>After an unscheduled hiatus I&#8217;ve activated the monocultured.com portfolio again \u2013&nbsp;and this time I have something which is scalable and easy to maintain! It has categories! It also has a self-hosted shop! The goal is to add most of the stuff I&#8217;ve produced over the years \u2013 photo, audio, writing \u2013&nbsp;and have it as a [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-8095","post","type-post","status-publish","format-standard","hentry","category-doodles"],"_links":{"self":[{"href":"https:\/\/monocultured.com\/blog\/wp-json\/wp\/v2\/posts\/8095","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/monocultured.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/monocultured.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/monocultured.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/monocultured.com\/blog\/wp-json\/wp\/v2\/comments?post=8095"}],"version-history":[{"count":5,"href":"https:\/\/monocultured.com\/blog\/wp-json\/wp\/v2\/posts\/8095\/revisions"}],"predecessor-version":[{"id":8196,"href":"https:\/\/monocultured.com\/blog\/wp-json\/wp\/v2\/posts\/8095\/revisions\/8196"}],"wp:attachment":[{"href":"https:\/\/monocultured.com\/blog\/wp-json\/wp\/v2\/media?parent=8095"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/monocultured.com\/blog\/wp-json\/wp\/v2\/categories?post=8095"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/monocultured.com\/blog\/wp-json\/wp\/v2\/tags?post=8095"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}