My Personal Site-CMS (This one)

Portolio overview


This website you are visiting was planned and developed by me. The main idea behind this project was to create it as CMS where I could manage content, rather than writing HTML and so far it is working fine.

It has two main sections: the first one is the blog area, where I like to share my learnings and results of recent experiments. The other one is the portfolio, where I showcase some nice open projects.

The blog is basically a media engine that parses markdown files carrying the post content and displays it as an HTML page. I implemented it using Contentlayer, which has excellent support for Next.js. Thanks to such a built tool, posting or editing a blog post is a rather easy task, similar to creating a README.md section for a GitHub project..

The portfolio section has the same idea; the difference is that the content of portfolio projects (including this text you are reading) is simply an object in JSON. Similar to blogs, adding a new portfolio item is just a matter of appending a new object to this static file. Currently, the content is kept in a JSON because the amount of content is small, but if it grows, I will definitely consider a more sophisticated way to manage it, perhaps an editor section... who knows :)

Tech stack

  • Next.js;
  • TypeScript;
  • Vercel;
  • Contentlayer;