Back to works

Portfolio Site

My portfolio site built with Next.js + Cloudflare Workers.

Role
Requirements definition
Period
Early July 2026

Tech stack

Next.jsTypeScriptCloudflareTailwind CSS

Overview

I handled the requirements definition, and Fable 5 and Opus 4.8 did all of the implementation. This was actually my first project where I used Claude Code (Fable) heavily for development.

Role

Planning, requirements definition, and a bit of configuration.

Favorite Points

I especially like the fish swimming on the home page and the Fresh feature. Fresh was my idea: it is a stream where my short thoughts keep flowing endlessly. Since I made it possible to post from Discord, I can use it very much like X. I feel like I will only write blog posts when I really feel like it, so quick thoughts will go into Fresh instead. (I also really like the name.)

Technical highlights

According to Opus:

  • Next.js 16 (App Router) + React Server Components
  • Deployed to Cloudflare Workers with the OpenNext adapter
  • Japanese/English routing (/ja, /en) with next-intl
  • Content is converted from Markdown to HTML at build time (for Workers compatibility)

Apparently. Hmm.

Personally, the technical point for me was choosing an all-in Cloudflare setup because I wanted to feel how cost-effective Cloudflare can be. The free tier is genuinely generous (at a personal scale, it feels almost impossible to hit the limits), which helps a lot. Cloudflare also seems to be investing heavily around AI lately, so I am looking forward to what comes next.

Challenge & solution

According to Opus:

Cloudflare Workers prohibits dynamic code evaluation at runtime, so normal runtime MDX rendering could not be used. By switching to a setup that converts content to HTML at build time, the site achieved both Workers compatibility and fast rendering.

Apparently. Hmm, that is probably right. I did see it getting a little stuck around there too.

For the header, I wanted it to feel like Liquid Glass, but Opus was a little loose with the visibility checks, so I made a few adjustments.

Thoughts

I really only used natural language to make this portfolio site.

I used to think a portfolio site was a place where engineers showed their ability, but with the arrival of the generative AI era, I feel like it is not quite that simple anymore. If there is a wave worth riding, it is probably better to ride it. More than that, I think I would rather say: please look at the content.

Around 2023, I also tried to complete a web app project using ChatGPT, but back then I could not get anywhere near finishing it. Compared with that, it really feels like we are living in an incredible time now.