I used Python web framework Django. I added a couple minor features:

The first thing I had was a Python Twitter library posting a tweet with a link to the post as well as a small preview of it's content. I added this option to blog posts (on my site, so you could disable it if you just wanted to update the blog post, but not announce the re-publishing. ... I think that I can already see how I could have made it better. I'm rambling.

The site also has a language translator as an option which can be set from the site backend. I added a handful of languages, and I used Django's custom template tags to replace "tagged" sections of type from anywhere on the site. That feature is occasionally disabled for maintenance.

Other than that, this is just a custom publishing platform for: single images (with informational properties), projects (containing those images as well as much more information about that project), and finally blog posts (which include their own content as well as a link to any existing project).

Django is nice because it's familiar to me, and Python is a rather "token light" language. In my personal history of developing dynamic websites I have never had a need/requirement that I have not been able to solve within Django.