← Back to Blog

2026-08-20 · 2 min read

Building guruprasad.tech

Why I decided to build my own corner of the internet instead of relying entirely on social platforms.

CareerPortfolioNext.jsLearning

For a long time, I had profiles on platforms like LinkedIn and GitHub, but I wanted a place on the internet that I could truly call my own.

That led me to build guruprasad.tech.

I didn't want it to be just another portfolio with my name, experience, skills, and a contact button. I wanted to build something that could grow with me throughout my career.

Why build a personal website?

Platforms like LinkedIn and GitHub are incredibly useful, but they serve specific purposes.

LinkedIn represents my professional profile. GitHub represents the code and projects I choose to share.

I wanted something that could bring different parts of my professional journey together in one place.

A place where I can share:

  • My professional experience
  • Projects I've worked on
  • Certifications
  • Technical articles
  • Things I've learned while solving real problems

Most importantly, I wanted to own the platform on which that content lives.

I decided to build it myself

There are plenty of portfolio templates and website builders available.

Using one of them would certainly have been faster.

But I decided to build the website myself using Next.js, TypeScript and Tailwind CSS.

The reason was simple: building the website itself could become a learning experience.

Instead of treating the portfolio only as an end product, I could use it to understand how a modern web application is structured.

Along the way, I worked with concepts such as:

  • Component-based architecture
  • Next.js App Router
  • Dynamic routing
  • TypeScript
  • Responsive design
  • SEO metadata
  • Security headers
  • Git and GitHub
  • MDX-based content

Some of these concepts were familiar to me. Others became much clearer only after implementing them.

Building the blog with MDX

One of the parts I enjoyed building was the blog system.

I didn't want to create a new React page every time I wanted to publish an article.

Instead, articles live inside:

content/blog/