Notes

Continuing my website with Codex after hitting Claude Code's limit

After running out of Claude Code tokens, I switched to Codex to keep working on the same website. Mobile fixes, moderated comments, and clearer review emails made it a good experience.

In my previous post, I wrote about rebuilding this homepage with Claude Code. The main site was in place, and I still had features and details to work on when I ran out of Claude Code tokens.

I switched to Codex and continued in the same project. The experience was good. This post is the second half of that website rebuild.

Start by reading the project

My first request to Codex was simple: read the current state of the project.

It inspected the directory structure, README, content files, and Git status. It identified the pages already in place, the comment component that had not been enabled, and an uncommitted news item announcing the bookshelf. I then asked it to commit that item, deploy to GitHub Pages, and check the live site.

That gave us a clear starting point. The site was already a working Astro project, with its content in Markdown and YAML. The repository itself explained a lot, so I did not need to repeat the entire earlier conversation.

Two small problems on my phone

On my iPhone, I noticed that the navigation showed only Home and Blog. Adding the site to my Home Screen also produced a generic icon instead of the black LY tile.

I sent Codex screenshots. It found that the mobile styles deliberately hid Research, Life, and About, then changed the navigation to two rows so all five sections were visible. It also added the PNG used for the Home Screen icon. Afterward, it checked the layout at several screen widths, built the site, and deployed the changes.

This continued a useful habit from the previous post: show the problem in a screenshot, then describe the result I want. It makes the feedback concrete while keeping the existing design intact.

Connecting comments to my own server

Comments were the largest addition in this round.

I wanted the data stored on my Oracle server. New comments should wait for my approval, with an email reminding me to review them. The English and Chinese versions should share one discussion, and readers should not need a GitHub account.

Codex found the server details recorded locally, checked the actual running environment, and connected the Artalk component already in the project. The website stayed on GitHub Pages, while comments went into a database on the server with daily backups.

I then asked for a simpler form: nickname and comment required, email and website optional, with every field clearly labeled. Changing the labels alone would not have been enough, because the comment system required an email at the API level. It added support for anonymous visitors and tested a submission with both optional fields empty. I still received the review notification.

The verification helped me trust the result. Pending comments were hidden from public lists, approved comments became visible, the data survived a container restart, and the test emails actually arrived in Gmail. The comment section below these posts came out of that work.

Even the email needed another pass

The first review email worked, but the visitor’s words and the system instructions ran together. I sent another screenshot and said that I could not tell which text was the comment and which was system information.

The revised email puts the article, commenter, and comment ID at the top. The visitor’s original text sits in a gray card with a blue border. Review instructions and a button have their own section below. Opening the email now makes it easier to see who said what and what I should do next.

These small adjustments are a large part of how the experience feels in practice. Get the feature working, look at the result, then keep refining it until it is comfortable to use. Along the way, I also had Codex check both RSS feeds to confirm that they parsed correctly and linked to working articles.

How the handoff felt

For this website project, continuing with Codex was smooth. It worked from the existing code, handled specific interface problems from screenshots, and followed through with builds, deployment, and verification.

Claude Code did the initial rebuild; Codex added comments and worked through the remaining details. For me, it was a useful, practical experiment: reaching one tool’s usage limit did not mean I had to stop working on the project.

I also asked Codex to help draft this follow-up from our work together.

CommentEmail

Longwei Yang

Ph.D. student · NC State ECE

Comments

Nickname and comment are required. Email and website are optional. Leave an email to receive reply notifications; it is never displayed publicly. Comments are reviewed before publication and shared between both languages.