Claude, ChatGPT, Gemini. 우리 앱 아키텍처를 세 번 설명했다. 😤
조사는 Gemini, 구현 계획은 Codex, 코드는 Claude Code. 창을 바꿀 때마다 앱이 어떤 구조인지, 어디까지 했는지부터 설명했다.
jo***@gmail.com
이 스토리는 한국어로 번역되었습니다.
입사 후 처음 맡은 일 중 하나가 ‘Google로 로그인’ 버튼이었다. 로그인하고 홈 화면으로 이동하기. 간단해 보였다.
처음 해보는 부분이 많아서 AI를 꽤 열심히 썼다. Gemini에서 구현 방법을 찾아보고, 찾아본 방법이 우리 앱 구조에 맞는지는 Codex와 얘기했다. 실제 코드는 Claude Code에서 고쳤다.
그런데 창을 바꿀 때마다 이런 말을 쓰고 있었다.
화면은 React로 만들었고, 로그인 처리는 서버에서 해. 지금 구글 로그인을 붙이는 중이야. 버튼은 만들었고, 로그인 후 홈으로 이동하는 부분을 보고 있어. 지금 궁금한 건…
아까도 쓴 설명이었다. 다른 AI에게.
아키텍처도, 하기로 한 일도 다시 설명했다
Gemini에서 찾은 방법을 Codex에게 보여줬다. 우리 앱에서는 프론트와 서버를 각각 어디까지 고치면 될지 물었다. 기존 코드도 같이 보면서 순서를 정했다.
어느 부분부터 손대면 될지 좀 알 것 같았다. 이제 Claude Code에서 해보면 되겠다.
그런데 Claude Code는 방금 Codex와 나눈 얘기를 몰랐다. 어느 방법으로 하기로 했는지, 무엇까지 이해했는지, 오늘 어디까지 해보려는지. 다시 써야 했다.
코드를 고치다 새 문제가 나오면 반대 방향으로 돌아갔다. Codex에게 질문하려고 지금 상태를 또 설명했다.
AI한테 물으면 금방 답이 왔다. 정작 질문을 시작하기까지 내가 쓰는 말이 길었다. (처음엔 원래 다 이렇게 쓰는 줄 알았다.)
다음 날에는 나도 헷갈렸다
한참 고치고 나니 구글 로그인 후 홈으로 넘어가는 것까지 됐다. 꽤 뿌듯했다.
그런데 다음 날 다시 앉으니 어디부터 할지 잠깐 멈췄다.
새로고침해도 로그인 상태가 유지되는 건 확인했나? 글을 읽다가 로그인하면 다시 그 글로 돌아오게 했던가? Codex가 마지막에 확인해보라고 한 게 있었는데 뭐였지?
Gemini 답변을 열고, Codex 대화를 스크롤하고, Claude Code에서 어제 작업을 찾았다.
대화는 세 군데서 잘 진행되고 있었다. 내가 맡은 로그인 기능은 하나였는데.
뭘 할지 정하는 곳부터 따로 뒀다
돌아보면 두 가지 일을 섞어서 하고 있었다. 무엇을 어떤 순서로 만들지 정하는 일, 그리고 실제로 코드를 고치고 확인하는 일.
앞의 일부터 thrw에 모으기로 했다. ‘구글 로그인 붙이기’ 목록을 만들고, 어디를 고치기로 했는지와 남은 확인 사항을 적었다. 끝낸 일도 같이 뒀다. AI 답변을 전부 옮기는 대신, 결정한 내용과 진행 상황을 남겼다.
구글 로그인 붙이기
[x] 로그인 후 홈 화면으로 이동
[ ] 새로고침해도 로그인 상태가 유지되는지 확인
[ ] 로그인 후 홈 대신 읽던 글로 돌아오도록 수정
관련 할 일의 설명에는 ‘React 화면 → 서버 로그인 처리 → 홈 이동’이라는 구조와, 어느 부분을 수정하기로 했는지도 짧게 남겼다. 첫 번째 항목에는 ‘테스트 계정으로 로그인 → 홈 이동까지 확인’이라고 적었다. 새로고침 확인은 아직 하지 않았고, 읽던 글로 돌아오는 동작은 아직 구현하지 않았다고 남겼다.
할 일을 적은 것뿐인데 다음 날 볼 게 분명해졌다. 어제 어느 대화에서 무슨 얘기를 했는지 기억하는 대신, 이 목록을 보면 됐다.
그다음 Claude Code와 Codex에 thrw를 MCP로 연결했다. 두 AI가 내 thrw 목록과 설명을 읽고 수정할 수 있게 해주는 연결이다.
새 대화에서 이렇게 시작했다.
thrw에서 구글 로그인 붙이기 목록이랑 각 항목의 설명 읽어줘. 어디까지 했는지 확인하고, 아직 안 한 것부터 같이 하자.
이제 앱 구조와 하기로 한 일을 길게 다시 쓰는 대신, 남겨둔 내용을 먼저 읽게 했다. Claude Code가 그 목록을 확인한 다음 실제 프로젝트 코드를 보고 작업을 이어갔다.
Claude Code에서 끝낸 일을 Codex도 알고 있었다
새로고침 후에도 로그인 상태가 유지되는지 확인했다. 다음 항목으로 넘어가기 전에 Claude Code에 부탁했다.
새로고침 후 로그인 유지되는 건 확인했어. 그 항목 완료로 바꾸고, 설명에 테스트 계정으로 확인했다고 남겨줘. 로그인 후 읽던 글로 돌아오는 건 아직 못 고쳤어.
Claude Code가 반영한 내용을 확인했다. 두 항목은 완료, 로그인 후 읽던 글로 돌아오게 하는 일은 미완료로 남겼다.
이번에는 thrw가 연결된 Codex에서 물었다.
구글 로그인, 이제 뭐 확인하면 돼?
Codex가 같은 목록을 읽고, 로그인 후 읽던 글로 돌아오는 동작이 아직 남았다고 짚었다. 내가 방금 Claude Code에서 어디까지 했는지 여기서 다시 설명하지 않아도 됐다.
Claude Code가 남긴 테스트 메모를 Codex도 읽고 있었다. 아, 이건 내가 보는 할 일 앱이면서 AI들이 함께 읽고 쓰는 데이터베이스이기도 하구나.
각 AI의 대화 안에 따로 있던 결정과 진행 상황을, 이제 같은 곳에서 꺼내 쓸 수 있었다.
기분이 좋았다. 한 AI와 한 작업을, 다른 AI에서도 다시 설명하지 않고 이어갈 수 있었다.
맥북을 두고 나왔는데, 하던 일이 폰에 있었다
UX의 진가는 오히려 책상 밖에서 느꼈다.
얼마 뒤에는 회사 채용 페이지를 고치는 일을 맡았다. 팀 사진을 바꾸고, 채용 공고와 지원 버튼을 넣는 작은 작업이었다. 오전에 Claude Code와 작업하고 점심을 사러 나왔는데 메시지가 왔다. “채용 페이지, 오늘 공유해도 될까요?”
사진은 바꿨고, 지원 링크도 연결했다. 그런데 폰 화면까지 확인했던가? 공유해도 된다고 답하기 전에 상태를 보고 싶었다.
맥북은 책상에 있었다. 폰으로 Claude Code의 긴 작업 대화를 다시 훑고 싶지는 않았다.
대신 thrw를 열었다.
- 팀 사진 교체 — 완료.
- 지원 버튼 연결 — 완료. 테스트 페이지에서 지원 폼이 열리는 것 확인.
- 모바일 화면 확인 — 미완료.
아, 맞다. 이 상태였지.
“사진이랑 지원 링크는 됐어요. 모바일만 확인하고 공유할게요.” 바로 답했다.
그날 오전에는 맥북에서 thrw를 열지도 않았다. Claude Code와 코드를 고치고, 진행 상황을 남겨달라고 했을 뿐이다. AI가 MCP로 갱신한 내용이 폰에서는 이렇게 읽기 좋은 목록으로 보였다.
AI 대화 안에서는 코드와 수정 기록 사이에 있던 얘기였다. 여기서는 끝낸 일과 남은 일이 한눈에 들어왔다. 동료에게 답하는 데 필요한 건 그것뿐이었다.
다음 변경은 폰에서 남겼다
음식을 기다리며 테스트 페이지를 폰으로 열어봤다. 긴 공고 제목이 지원 버튼을 화면 밖으로 밀어내고 있었다. 맥북에서는 멀쩡했는데.
thrw의 AI 채팅에 바로 남겼다.
채용 페이지 모바일 확인 항목에 남겨줘. 폰에서 공고 제목이 길면 지원 버튼이 오른쪽으로 잘려. 오늘 3시부터 3시 반까지 수정할게. 수정 후에는 가장 긴 공고 제목으로 다시 확인해야 해.
맥북은 여전히 사무실에 있었다. 그렇다고 머릿속에 담아뒀다가 돌아가서 설명하고 싶지도 않았다. 폰으로 본 문제를 그 자리에서 남겼다.
변경 내용을 확인하고 반영했다. 모바일 확인 항목에 문제와 재확인 방법이 남고, 수정할 시간도 붙었다.
(연결해둔 구글 캘린더에도 작업 시간이 들어갔다. 팀과 공유해둔 캘린더라, 오후에 언제 마저 할지도 보였다.)
오후 3시, 책상으로 돌아와 맥북에서 Codex를 켰다. 이번에는 Claude Code 대신이었다.
thrw에서 채용 페이지 목록과 설명 읽고, 오늘 3시에 하기로 한 작업부터 같이 하자.
Codex가 긴 공고 제목에서 지원 버튼이 잘리는 문제와 재확인 방법을 읽었다. 점심에 폰으로 남긴 내용이었다. 실제 페이지 코드를 열고, 제목과 버튼을 배치하는 부분부터 살펴봤다.
맥북에서는 thrw를 따로 열지 않았다. 폰의 내용을 복사하지도, 점심에 무슨 생각을 했는지 다시 설명하지도 않았다.
오전에는 Claude Code에서 남긴 일을 내가 밖에서 읽었다. 오후에는 밖에서 내가 남긴 일을 Codex가 읽었다.
앱을 열심히 챙겨 써야 이어지는 게 아니라, 일하던 곳에서 남기고 필요한 곳에서 꺼내 볼 수 있다는 게 좋았다.
내게 필요했던 컨트롤 타워였다
그제야 thrw가 내 작업의 컨트롤 타워처럼 느껴졌다. 무엇을 할지 정하고, 한 일을 확인하고, 남은 일을 언제 할지 잡는 곳.
내가 느낀 thrw는 여러 AI를 쓰는 내 작업의 인터페이스 계층이었다. 나는 폰에서 목록과 일정으로 보고, 연결한 AI는 맥북에서 같은 정보를 읽고 고친다.
계획하고 구상한 내용은 thrw에 남고, 실제 구현은 Codex나 Claude Code에서 이어간다. 구현하다 끝낸 일이나 새로 발견한 문제는 다시 같은 목록에 남긴다.
항상 thrw 화면을 켜두고 있어야 하는 것도 아니었다. 내가 폰을 보고 있든, 맥북에서 다른 AI와 일하고 있든, 다음에 이어갈 내용이 같은 곳에 있었다.
AI를 바꿔도, 하던 일은 그대로 있었다
지금도 Gemini에서 자료를 찾는다. 써보기로 정한 방법이나 다음에 확인할 건 thrw에 짧게 남긴다. (Gemini는 웹에서만 쓴다. MCP는 안 붙였고, CLI 연결도 아직 안 해봤다.)
그러고 Claude Code나 Codex로 돌아오면 같은 목록을 읽게 한다. 어느 쪽을 켜든 끝낸 일은 끝나 있고, 남은 일은 남아 있다. 거기에 내가 확인한 내용까지 붙어 있다.
이게 생각보다 좋았다. AI 창을 바꾸는 게 더는 작업을 처음부터 시작하는 느낌이 아니었다. 어제 다른 AI와 해둔 일이 오늘의 출발점이 됐다.
맥북을 두고 나와도 진행 상황은 폰에 있었다. 책상으로 돌아오면, 밖에서 정한 다음 일이 AI에게도 있었다.
‘우리 앱은 React로 만들었고…’를 또 쓰고 있지는 않았다.

