This article introduces an efficient approach for repetitive programming tasks at scale: organize tasks into a CSV, have Codex launch independent subagents for each row to process in parallel, then write the consolidated results back to an output CSV. Whether it's batch-generating unit tests, checking compatibility for React Query upgrades, or translating comments across an entire project, this pattern turns what would normally be done one-by-one into a process that finishes in minutes.
Treat Codex Subagents as dedicated parallel teammates that handle the most time-consuming and easily overlooked exploration and verification tasks in daily coding, boosting your efficiency.
In this part, we'll do three things: integrate a minimal login system (Auth.js / NextAuth style) into the project; require users to be logged in for creating new articles and posting comments in blog-demo; and in API Routes, retrieve the current user ID from the session instead of using a hardcoded authorId.
In previous parts, we took a backend-focused approach with Prisma to build the data model and business logic for blog-demo. In this part, we integrate that model into Next.js to create a minimal yet complete personal blog admin panel.
In the previous article, we designed a set of relational models for blog-demo: User / Profile / Post / Comment / Category. It's functional, but still at the "structural level." In this section, I want to take a different approach: instead of explaining by concepts, I'll walk through a complete business workflow.
Starting from this chapter, we move from a single-table world with only User to a multi-table world with real business semantics: the blog-demo blog system.
The goal of this article is to break down the Prisma schema from top to bottom — explaining datasource, generator, model, enum, and all the attributes: what they are and how to use them.
In this article, we jump straight into a real project: using Prisma 7 + Next.js 16.2.2 + PostgreSQL + pnpm, we go from an empty directory to displaying the first User record from the database on the page.