내가 만든 앱이 AI가 만든 것처럼 보였다
"AI slop처럼 보이는 것들 좀 개선해줘." 그 말을 듣고 제 앱 화면을 처음으로 다시 봤어요. 보였습니다. 아주 잘 보였어요.

"디자인 좀 자세히 봐. AI가 만든 티 나는 것들 개선해줘. 특히 저장하기 버튼."
제 앱 화면을 두고 나온 말이었어요. 그리고 저는 그 화면을 매일 봤는데, 그 순간까지 아무것도 못 느끼고 있었습니다.
다시 봤어요. 보이더라고요. 아주 잘 보였습니다.
내 화면에서 제일 쨍한 게 뭐였냐면
한글 라벨 옆에 붙은 영문 개념 배지였어요. merge, pull, push, unstaged, staged 같은 것들이요.
그러니까 화면 전체에서 채도가 제일 높은 요소가, 아무 동작도 하지 않는 설명 딱지였던 거예요.
사용자 눈은 제일 쨍한 걸 먼저 봅니다. 제 앱은 사용자에게 "여기를 보세요"라고 말하면서 아무 데도 아닌 곳을 가리키고 있었어요.
그리고 그 저장하기 버튼
지적당한 버튼을 뜯어봤습니다. 이랬어요.
폼 가로를 꽉 채운 채도 높은 파란 덩어리. 라벨은 "저장하기 — 1개 파일". 버튼 하나에 대시가 들어가 있고, 문장이 들어가 있고, 바로 위 헤더가 이미 말한 개수를 한 번 더 말하고 있었어요. 포커스 링은 2px 파란색이었고요.
그 파란색이 어디서 왔냐면 — 앱 어디에도 없는 색이었습니다. 이 앱의 강조색은 따로 있는데, 이 버튼만 자기 혼자 파랬어요.
(어디서 많이 본 파랑이죠. 저도 어디서 봤는지는 모르겠는데, 분명히 어디서 많이 봤어요.)
세어 보니 더 있었어요
흰 카드가 세 겹으로 겹쳐 있었습니다. 테두리도 같고 모서리 곡률도 같은 카드가요. 뭐가 뭘 담고 있는지 구분이 안 됐어요.
파일이 두세 개일 때는 왼쪽에 500픽셀쯤 빈 공간이 남았어요. 목록이 화면 세로를 절반씩 고정으로 먹게 해놨거든요. 내용이 없어도요.
행 액션은 "변경 취소 (0)"처럼 항상 괄호 0을 달고 있었고, 헤더 버튼은 두 개만 테두리가 있고 나머지는 없었습니다. 규칙이 아니라 그냥 그때그때였던 거죠.
AI slop의 정체가 뭐냐면
저는 이게 "못 만든 화면"이라고 생각했는데, 다시 보니 아니었어요.
요소 하나하나는 다 멀쩡합니다. 배지도 예쁘고, 버튼도 또렷하고, 카드도 깔끔해요.
문제는 전부 다 "제가 제일 중요합니다"라고 말하고 있었다는 거예요. 위계가 없는 거죠. 그리고 위계가 없다는 건, 무엇이 더 중요한지 아무도 결정하지 않았다는 뜻이에요.
AI slop은 못 만든 게 아니라, 결정을 안 한 겁니다.
생성기는 결정을 안 해요. 요청받은 요소를 다 넣고, 다 잘 보이게 만들죠. 그게 기본값이고, 제가 그 기본값을 그냥 받아들이고 있었던 겁니다.
고친 방향은 한 문장이었어요
버튼은 전폭에서 자연폭으로, 위치는 오른쪽으로. 개수는 뺐어요 — 바로 위에서 이미 말했으니까요.
비활성일 때 흐린 파랑으로 두지 않고 회색으로 두되, 옆에 이유를 한 줄 적었습니다. "스테이지에 올린 파일이 없어요"처럼요.
이게 이번 정리의 핵심이었어요. 상태를 색으로 말하지 말고 문장으로 말하기. 색은 사람마다 다르게 읽히지만 문장은 안 그렇거든요.
그리고 목록은 내용만큼만 자리를 차지하게 했어요. 빈 섹션은 헤더 한 줄로 접히고요. 빈 상자는 아무것도 안 담고 있는데 자리는 다 차지하잖아요.
(카드 세 겹은 두 겹이 됐습니다. 하나는 그냥 구분선으로 충분했어요.)
배운 것
AI랑 개발하면 화면이 빨리 나와요. 진짜 빨리 나옵니다. 그리고 다 그럴듯해 보여요.
그런데 그럴듯함은 결정의 결과가 아니라 기본값의 결과예요. 기본값은 항상 "다 중요하다"입니다. 아무도 덜어내라고 말하지 않았으니까요.
덜어내는 일은 아직 사람 몫이더라고요. 적어도 지금은요. 무엇이 안 중요한지는, 만든 사람만 알거든요.
참고로 이 지적 하나가 어휘 전환까지 번졌어요. 화면을 뜯어보다가 "쉬운 말"이라는 정체성까지 다시 보게 됐거든요. 그 이야기는 "저장하기"를 버리고 "커밋"으로 돌아왔습니다에 따로 썼습니다.


