Crafting my portfolio

Here is a short story about building my portfolio. I wanted to build a personal portfolio website where I can showcase my notable projects, share my thoughts, and connect with the world.
Planning and technologies I wanted to create a simple and minimalistic site. I enjoy working on UI/UX, so I wanted the site to look good as well. I had to choose a framework. Something that matched my requirements. I knew that Next.js comes with too much stuff that I don't need for this kind of project. I decided to choose Astro.
In terms of technology stack, I utilized Astro for the framework, TailwindCSS for styling, and Netlify for deployment. For implementing the blog, I used Markdown and Content Collections. I decided to use daily builds, utilizing GitHub Actions and Netlify's Build Hooks.
Implementing the blog I wanted all blog posts to follow the same schema and syntax, so I decided to use TypeScript and Zod to make this happen. Here is a picture of the config.ts file where the magic is happening:
Screenshot of code Here is a utility function that filters all the drafts for production. The function reads the value of the isDraft property for a post. If the value is true, the post is visible only in the development environment. Screenshot of code Screenshot of code
Future I want to try out all the new features of Astro as they are released. That's why the project is regularly updated, and new features are added.
The code is available on GitHub.