A 9-Day Full-Stack Rebuild with Codex: From Vue 2 to Nuxt 4 and NestJS
This rebuild demonstrates a practical, disciplined workflow for using AI coding agents on a real production system, not a greenfield demo. The developer's domain expertise in frontend, UI, and infrastructure remained the critical decision-making layer; Codex accelerated execution but did not replace the judgment needed to keep a 36,000-line codebase coherent, secure, and visually consistent.
Hangzhan, a long-running Chinese developer community site, was migrated from a Vue 2 and ThinkPHP 5 stack to Nuxt 4, NestJS 11, and Prisma. The 36,000-line codebase was refactored feature by feature, with Codex reading the entire project to trace dependencies across pages, composables, controllers, and database models. The developer gave Codex bounded, specific tasks with explicit constraints on what not to change and how to verify completion, rather than open-ended prompts. Data migration scripts handled years of inconsistent historical content, while SSR smoke tests confirmed that search engines would receive complete, correct HTML. The entire core refactoring, from first baseline commit to production configuration, took nine days.
Codex's project-wide context window changes the task granularity from 'write this function' to 'resolve this feature across the stack,' which shifts the developer's role from code author to system reviewer and product decision-maker.
The developer's existing expertise became more critical with AI assistance, not less. Judging whether an SSR implementation is correct, whether component code is becoming disorganized, or whether a database operation is safe all required deep domain knowledge that Codex cannot supply.
Vague design feedback like 'make it look better' reliably produced generic, trend-chasing UI. Specific, observable critiques about whitespace, visual weight, border density, and typographic hierarchy produced results that matched the site's existing design language.
The most time-saving use of Codex was not component generation but the tedious, error-prone work of data cleaning, migration scripting, and link validation that a human would find draining and likely to miss edge cases in.
The only substantive exchange centers on a UI detail: the page's button click animation. One person calls the jump-and-shake behavior unacceptably bad for a frontend developer. The author replies that it's an intentional jelly effect. A third voice counters that the execution is too stiff and lacks proper transition. A fourth comment is a generic promotional plug for a visualization collection app, adding no engagement with the article's topic.
Page buttons jump and shake badly when clicked — as a frontend dev, that shouldn't happen.
Ah, I deliberately made a jelly effect [grin]
Too stiff, no transition.