Rebuilding My Personal Site, Part II: A Theme System That Breathes with Time
In my previous post, “Rebuilding My Personal Site: Cyber, Sakura & Pixels”, I brought my blog, CV, and landing page together in a single Next.js project. I also created four themes—Dark Rust, Light Cyber, Sakura · Fuji, and FFX Pixel—each with its own complete color and typographic identity.
After that version went live, the site would display a different theme each day. But the system lacked any meaningful underlying logic.
After living with it for two months, I realized that the four themes had no real relationship with one another. Which theme appeared on a given day was arbitrary, and the choice itself communicated nothing.
So over the past month, I rebuilt the entire theme system from the ground up. This is the second post in the series.
From Choosing a Theme to Letting the Theme Find You
The biggest change is that theme switching now follows a clear set of rules. It responds to both the day of the week and the time of day:
| Time | Theme | Narrative |
|---|---|---|
| Weekday · Daytime | ink | I come from China |
| Weekday · Nighttime | ori | A game I love |
| Weekend · Daytime | sakura | I live and work in Tokyo |
| Weekend · Nighttime | rust | I am a programmer |
The themes are no longer selected through a random rotation. Instead, they are arranged around the rhythm of the week.
Weekdays are more restrained and focused; weekends are a little more relaxed. Daytime feels calm and clear, while nighttime becomes darker and more atmospheric. The theme a visitor sees now carries information about the moment in which they arrive.
Each theme has its own color palette, typography, background textures, and component-level details. This is not simply a matter of swapping a few color values. Code blocks, highlighted tags, border radii, spacing, and layout rhythm all adapt to the active theme.
It continues the principle established in the previous version: a theme should be a complete typographic and visual identity, not just a different coat of paint.

Four Themes, Four Stories
ink is a new theme introduced in this version. It combines elements of traditional Chinese aesthetics with terminal interfaces and macOS-inspired design.
It originally began as a small experiment, but the result worked far better than I expected. It represents one part of my identity:
I come from China.
ori is also new. It was redesigned around the atmosphere of the game Ori and now occupies weekday nights.
It is one of my favorite games, and I wanted the theme’s colors, lighting, and sense of depth to evoke as much of its world as possible. It represents another part of me:
A game I love.
sakura continues the Sakura · Fuji imagery from the previous version. Cherry blossoms and Mount Fuji reflect the fact that I currently live and work in Tokyo.
For this iteration, I refined the theme with more detailed component-level adaptations.
rust is the original Dark Rust theme. I kept it, but moved it to weekend nights.
Its traditional cyberpunk aesthetic represents my professional identity:
I am a programmer.
The four themes differ visually, but they also represent four dimensions of who I am: where I come from, what I love, where I am now, and what I do.
That was the original motivation behind the entire theme system.
A person is not a single label.
A résumé might say, “Full-stack engineer based in Tokyo.” That sentence is accurate, but it does not tell you anything real. It does not tell you where I grew up, what I care about, or what I do when I am not working.
Together, these four themes come closer to representing an actual person—someone with a background, interests, a present life, and a profession.
Depending on when you visit the site, you encounter a different side of me rather than a self-introduction flattened into a single line of text.
FFX Moved Behind the Scenes
In the previous version, FFX Pixel was one of the four primary themes.
This time, it has been removed from the regular rotation and turned into a hidden Easter egg. It is not part of the automatic theme-switching logic anymore, so visitors will have to look for it themselves.
It has not disappeared. It has simply moved to a place that suits it better.
Light Cyber, meanwhile, is the only theme that was removed entirely.
It was originally created as a brighter counterpart to Dark Rust. It was clean, structured, and visually polished—but it did not correspond to any part of my identity. It was simply a good-looking light theme.
Once the system adopted the rule that every theme should tell a story about me, Light Cyber became the only one with nothing to say.
So it had to leave.

Final Thoughts
This redesign took roughly a month of iteration and detail work.
At its core, it pushes the idea of “theme as identity” one step further. What began as four independent visual skins has become a system that breathes with time, with each of its states communicating something different.