[006]2026.03.20log

Migration Is Rearranging the Fridge

Making friends with unfamiliar words

Embedding. Migration. CORS. JWT. Async. DI.

These words kept appearing in conversations with the control tower. At first I let each one slide. Context gave me rough guesses. "CORS configuration is needed"—okay, something needs configuring, I'll figure out what CORS means later.

But as the words accumulated, the situation changed. One at a time was manageable. Ten, twenty, and the conversation itself became opaque. The AI's explanations lived in a state of "vaguely understood but not firmly grasped."

One evening, I told the control tower:

"For someone who's never experienced development or programming, your explanations are vaguely comprehensible but the concepts don't quite click."

I asked for three things. First, a visual map of every technology used in this project. Second, frequently used terminal commands and why they're used. Third, metaphorical explanations for the recurring terms.

What the AI produced exceeded expectations. It unified the entire tech stack under a single metaphor system. "This system is a restaurant." That was the starting point.

The frontend is the dining room. Where customers come in, see the menu, place orders. In our project, the web interface built with Next.js and Tailwind CSS. The backend is the kitchen. Invisible to customers, but when orders come in, this is where the cooking happens. FastAPI in Python serves as head chef. The database is the fridge and pantry. Where ingredients (raw data) and finished dishes (analysis results) are stored. Authentication is the entrance security. Deployment is the building itself.

Once this metaphor system clicked—remarkably—technical conversation became possible.

For instance, "should this feature be handled frontend or backend?" Previously, I couldn't even parse this question. But with the restaurant metaphor: "Do we show this directly to the customer in the dining room, or process it in the kitchen first?" Now I can make that judgment.

Migration made sense in this context too. Changing the database structure. Rearranging fridge shelves. Food (data) stays the same; only the shelf configuration (table structure) changes. Why needed? Because when you first set up the fridge, you planned for three side dishes, but the menu grew and you ran out of shelves.

Async was the buzzer pager. Food takes time. Waiting at the counter after ordering is "synchronous." Receiving a pager, sitting down, doing other things, and coming back when it buzzes is "asynchronous." Essential for time-consuming operations like AI analysis.

After that night, what changed was that I shifted from passively listening to actively judging in conversations with AI. Not because I could suddenly read code. Because I could read structure.

And the language for reading structure wasn't code. It was metaphor.


🔧 Technical Terms in This Episode

This episode is fundamentally about terminology, so supplementary terms not covered in the main text:

Frontend Everything the user sees and interacts with. Buttons, input fields, menus—anything visible. Built with Next.js + Tailwind CSS in this project.

Backend The server processing data invisibly behind the scenes. The kitchen that receives orders and cooks. Built with FastAPI (Python).

API (Application Programming Interface) The communication window between frontend and backend. Like a waiter passing order slips to the kitchen.

Migration Changing database structure. Rearranging fridge shelves. Data stays put; only the shelf layout (table structure) changes.

CORS (Cross-Origin Resource Sharing) A security setting allowing servers at different addresses to exchange data. If the frontend (Vercel) and backend (Railway) are at different addresses, communication is blocked without this.

JWT (JSON Web Token) A digital ID card. Issued by the server upon login; shown with each subsequent request to confirm "this person is logged in."

Async (Asynchronous) The buzzer pager system. Instead of waiting for immediate results, you receive a "processing" notice, do other things, and collect results when ready. Essential for time-intensive tasks like AI analysis.