Jun 2024

Personal and Photography portfolio

Personal website to showcase my journey as a web developer and to share one of my hobbies - photography.

GSAPNuxt.jsTailwindCSSTypescriptVue.js

About the project

My first portfolio website was created to showcase my early achievements as a web developer. It was built using HTML, CSS and vanilla JS. However, the website had several shortcomings. It had poor performance, was not optimised for mobile devices and, most importantly, lacked the functionality to add or edit data. In addition, I have a passion for photography and wanted a platform to showcase my work. This led me to the idea of creating a new portfolio website that would not only document my journey as a web developer but also serve as a platform for sharing my photography.

Technologies I used

I usually use Vue.js with Nuxt.js as my framework of choice. I also use Tailwind CSS for styles and GSAP for cool animations.

Developer portfolio

One of the main goals for the portfolio website is to have an easy-to-use data management system. I'm using Notion for my personal stuff, so I've gone for the Notion API as my CMS. It's got good documentation and an awesome user experience, so I can edit data whenever and wherever.

Projects database in Notion

Projects database in Notion

Projects on the website

Projects on the website

Photography portfolio

I needed to find a convenient way to store my photos for my photography portfolio. I'm an Apple user, so I often use iCloud share albums. I've found that there's an open source solution to scrape data from public iCloud albums. It's not the best solution for a CDN for a website because it's not really configurable. However, for me the most important thing was the ease of managing the data, and with iCloud shared albums I can easily manage the photos from any device at any time.

iCloud shared album in the Photos app on Mac

iCloud shared album in the Photos app on Mac

Screenshot of the photos page

Screenshot of the photos page

Design and Animations

I’m firm on the idea that you can’t have a good product without good design.

I do really enjoy creating visually appealing interfaces. My goal is to create web experiences that people love to use. For the photography website I drew inspiration from Pinterest mobile app, and also wanted to recreate Masonry layout grid and smooth, "native" photo-opening animation.

Pinterest mobile app

Pinterest mobile app

Photos page

Photos page