Mar 31st, 2022

Made a New Portfolio Site with Next.js

Moved my portfolio site from Django to Next.js

I was using Django for my portfolio site. Django was fine. But I didn't like having to deal with many different technologies. I always use JavaScript. So I kept forgetting how to handle python and Django and was getting frustrated every time I made changes to the site. Like many others, I love JavaScript and want to do everything in JavaScript. So I decided to replace Django with Next.js.

Next.js is great!

Overall, I'm pretty much satisfied with Next.js. The biggest advantage of Next.js is that it includes modern technologies such as static & server rendering, which would be a much work if you do it all by your self. In fact, I tried to do it myself before and spent many hours on it. Still, I couldn't make it work right. If you are thinking about going that route, please don't. Just use Next.js. It's already in there.

Switch from Dynamic to Static

After using Django for over a year, I realized that I didn't need a database at all for running a simple portfolio site. Sure, I sometimes edit the application list, but that can easily be managed by editing the JSON file directly. Having an admin page for that simple change seems like overkill. Also, I decided to use markdown files for the blog section instead of using CMS (Content Management System). This way, you have to build & deploy eachtime you add a new post. But it actually doesn't take much effort (it can be done less than a minute), and in return, you have full control over the content. Overall, by swithching from dynamic to static, I got everything (codebase and data) in one place, and have little reliance to third-party services.


The most of the design and the concept are borrowed from this portfolio site by Catnose (a software developer in Japan). For the blog part, this YouTube video Static Blog With Next.js and Markdown was very helpful.