Stelko
Frontend Web Developer 👻
My Updated Portfolio Site
Welcome to my updated portfolio site where I am showcasing my projects but also writing blogs about the stuff I learnt along my journey as web developer.
Challenges
Where do I start? Queries were the first battle. Usually for my page modules I would have different types of the same one, so like a layout module where sometimes it will be a image and content side by side, a carousel, or a just text. In those cases I had a type field and then in my queries I would just chain as many type == "carousel" => { ... }
.
This time it was different because I wanted to attach a blogType == "latest"=> *[_type=="blog"][0...4] { ... }
. And that's when I found out about the select()
GROQ function.
Another query that I had to figure out was when I wanted to use my reusable modules but mixing them with my non-referenced modules felt like trying to blend oil and water. But hey, after digging around the docs I found defined()
. It let me have two different queries for when I was using a reusable module to when I was not.
Cool Stuff Built
I am proud of my form builder which lets me select whatever fields I need, makes sure the right info is being typed in with Zod, and then receives it nicely over at Formspark. I am happy about the reusable modules as well as setting up ISR, that took way longer then it should of but now I know its tricks.
Things I Learnt
I levelled up my GROQ, started to rely less on looking back at old projects or notes and just type it out smoothly now. Another thing I learnt is that I still cannot decide on which icons to use in my list previews and desk structure.
What's Next
Not gonna lie, the projects page right now is a bit of a "before" photo. Gets the job done currently but I think it can definitely show off my project stories by adding a couple more modules.
Frontend Web Developer 👻