Felix Perron-Brault Photographe


Welcome to my blog!

Thu Dec 21 2023

In this post, I want to share my goals and thoughts regarding this portfolio site I've created.

The motivation

Since I've started doing photography actively again, I have been thinking about the best way to easily show my art to friends, but also to new people I meet. Instagram has served as my main tool for that, but some of its restrictions (only 10 images in a post, having to crop my images, limited ability to zoom) have made me want a better solution.

Additionally, I've been looking for a way to share my thoughts and add context to my art. In parallel, I have worked hard on improving my coding skills, especially on the front-end side.

This has led me on a project to create my own website. I made a first attempt at this about six months ago, with a simple one page photo gallery of my images. It wasn't bad looking, but the images where slow to load (due to the thumbnail images not being optimized), and it wasn't easy to add new images because I had to add them to a S3 bucket manually.

More importantly, it did not provide a simple way to share a specific photo/album, which is something I needed relatively often.

The implementation

I put this project on hold until a month ago, when I found the motivation to work on this after getting a bit "annoyed" while trying to show specific photos to someone. Also, the scope of the project expanded a little bit as I decided to not only make a site for me, but also for friends or local artists that may not be comfortable with creating their own site, or finding it too expensive.

This meant that in addition to meeting my own objectives, I had new requirements:

  • The site should be easy to deploy
  • It should be easy for new content to be added without modifying code
  • The costs should be as low as possible while still offering good performance
  • The site design should work for multiple types of artists, not just photographers

The logical solution to these requirements is to use a headless CMS, since It allows people to edit the content easily while not limiting how complex my code/design can be.

The next step was to decide which tools/libraries where the best fit for my project. In a future post, I'll go in more details on my decisions, and also how you can deploy your own site based on my template.

Here is the approach I chose:

  • Next.js app with Static Site Generation and ISR (Incremental Static Regeneration)
  • Sanity CMS
  • Tailwind CSS

The results

After a couple weeks of working hard whenever I had some free time, I ended up with a result that like, and that you are currently seeing! There are still things I need to fix/improve, but the core functionality is there. Additionally, one of my friends helped test the template, and this revealed many issues that I had not seen. I fixed them right away, and new improvements for the next came to mind.

However, I will take a break from developing new features and instead focus on my content, as this is still the main reason why I created this site after all!

I don't plan on posting on my blog super often, but If you are interested in reading my future musings I recommend you follow me on Instagram or my facebook photographer page. I will share on these platforms whenever I publish a new article.

Thank you for taking the time to read this, and I hope you had a good time.