<< Home
man holding a camera
close-up, in-focus shot of a beach filled with pebbles and the bright sky in the background
body of water with a small village in the background
a pink rose in focus against the grass and ground underneath

photos.tunde.io

Mini photo-blog website I built to showcase some pictures. Made with Next.js because of the great image support and CMS integration with Payload.

This photo blogging website brings together two great passions of mine: photography and coding. I enjoy working on projects that feature a mix of my different interests. The original version of this website (under a different domain name) was built with Astro and its content fetched from markdown files. There was no CDN integration for images, and every single update — content or otherwise — had to be pushed to Github before it was visible on the website. I wanted to change that, desperately.

And so I opted for building this latest version with Next.JS and Payload. Utilising a CMS makes uploading and working with images so much easier. The additional benefit of choosing Payload is because of how straightforward it is to store those images in another location. I’ve moved them out of source code into their own dedicated S3 bucket, which itself integrates with Cloudflare Images allowing me to perform additional optimisations and transformations. No doubt overkill for a humble photographer’s amateur pictures, but that’s where the coding passion comes into play — I love this kind of stuff.

Eager for further customisations, I couldn’t stop there. After spending the last few years building almost every single project with Tailwind CSS, I finally decided to go back to vanilla. The layout for this latest version is simple by design and so it was a relatively enjoyable process writing pure CSS code again and making full use of features such as variables, nesting and modules. Lee Robinson wrote a great article about writing CSS, looking at new trends and frameworks. I’d highly recommend reading it.

Finally, fresh off the back of another Azure course, I was inspired to spin up my own VM to run as a dedicated Postgres server for the Payload backend of my website. This one really was complete overkill. So many options already exist for serverless, dev-friendly Postgres that could have done the job just as well (and also for free1). But I found joy in setting up something for myself to use — it’s a great practice for a full-stack developer and all for the love of code.

Footnotes

  1. If you’re interested in setting up your own virtual machines and exploring cloud infrastructure, I can only recommend Digital Ocean. Here’s $200 in credit to get you started by using my referral link. Happy hacking! 🤓

  • devops
  • next.js
  • payload cms
  • react