“옷 입는 법을 전혀 모르는 사람을 위한 앱은 없나요”에서 시작했습니다
글은 r/Advice 서브레딧에 올라왔습니다. 옷을 어떻게 입어야 할지 전혀 모르겠다는 사람이 — 특정한 스타일을 찾는 게 아니라, 아침마다 옷장 앞에서 뭐가 뭐랑 어울리는지 몰라 서 있는 일을 그만두고 싶다며 — 그런 앱이 있느냐고 물었습니다. 흔하고 솔직한 질문입니다. 옷은 이미 있고 더 살 필요는 없으니, 가진 것을 보고 “이거에 이거, 신발은 저거”라고 말해 주고 초보자가 따라갈 수 있는 이유까지 붙여 주는 무언가가 필요한 것입니다.
답으로 올라온 것들을 보면 같은 무늬가 반복됩니다. 사람들이 가리킨 옷장 앱들은 첫 사진을 넣기 전에 계정부터 만들게 하고, 무료 단계를 아이템 백 개쯤에서 막고 그 위는 유료 단계 뒤에 두며, 화면은 영어뿐이라 한국어·일본어·독일어가 없고, 몇몇은 AI가 골라 준다고 약속하는데 그것은 아무도 확인할 수 없는 약속입니다. 내일 뭘 입을지 알고 싶을 뿐인 사람에게는, 옷장이 생기기도 전에 로그인하고 결제할 일이 너무 많습니다.
아웃핏패드는 그 질문에 대한 다른 답입니다. 내 옷을 찍어 이 기기의 브라우저 안에 있는 옷장에 넣고, 옷마다 색과 태그 몇 개를 붙이면, 아침마다 내가 가진 것에서 공정하게 뽑힌 조합이 있습니다 — 마음에 드는 칸은 잡아 두고 나머지는 다시 뽑고 — 그 아래에는 누구나 읽고 반박할 수 있는 단순한 색 규칙인 솔직한 팁 몇 줄이 붙습니다. 스타일리스트도 AI도 없고, 계정도 아이템 수 제한도 없고, 사진은 기기를 떠나지 않습니다. 화면은 한국어·영어·일본어·독일어입니다.
아웃핏패드가 하는 일
옷장은 사진으로 채웁니다. ‘옷장에 넣기’에서 먼저 분류 — 상의·하의·아우터·원피스·신발·가방·액세서리 — 를 고른 뒤 ‘사진 찍기’로 카메라를 열거나 ‘사진 고르기’로 이미지 파일을 여러 장 한 번에 넣습니다. 사진은 저장 전에 기기 안에서 작게 줄여지므로 옷 수백 벌의 옷장도 가볍습니다. 넣은 뒤 옷을 누르면 ‘옷 정보’ 대화상자에서 색 칩(검정·흰색·회색·네이비·데님·베이지·갈색은 무채색, 파랑·초록·빨강·분홍·주황·노랑·보라는 색, 무늬가 있으면 ‘패턴’), “흰 리넨 셔츠” 같은 선택 사항인 이름, 그리고 태그 — 캐주얼·출근·데이트·운동·격식·더울 때·추울 때·비 오는 날, 또는 내가 적은 어떤 말이든 — 를 붙입니다. 같은 대화상자에서 분류를 옮기고, 사진을 바꾸고, 옷을 지웁니다.
‘오늘의 조합’이 페이지 맨 위입니다. 상의, 하의, 신발이 하나씩만 있으면 날짜를 기준으로 옷장에서 조합이 뽑힙니다: 상의+하의 또는 원피스, 신발, 그리고 ‘아우터 포함’이나 ‘가방·액세서리 포함’이 켜져 있으면 그것들까지. 같은 날은 새로 고쳐도 같은 조합입니다. 칸마다 ‘잡아 두기’는 그 옷을 그대로 두고 ‘다시 뽑기’는 잡아 두지 않은 칸만 새로 뽑으며, “3번째 뽑기”처럼 몇 번 다시 뽑았는지가 보입니다. ‘상황’은 출근·데이트·운동 등 고른 태그가 붙은 옷으로 후보를 좁히고, ‘기본’은 상의+하의나 원피스로 정하거나 뽑기에 맡깁니다. 조합 아래에는 팁 — 내가 붙인 색 칩 위의 단순한 색 규칙이며 아래에 전부 적혀 있습니다 — 과 버튼 둘이 있습니다: ‘코디로 저장’은 조합에 이름을 붙여 코디 보드에 올리고, ‘오늘 입었어요’는 착용을 기록합니다.
나머지는 보드와 백업입니다. ‘코디 보드’에는 ‘직접 고르기’ — 분류별 줄에서 한 줄에 하나씩 누르고 필요 없는 줄은 건너뛰기 — 와 ‘저장한 코디’가 있고, 코디마다 이름, 옷 수, 착용 횟수, 마지막 착용일이 보입니다. ‘불러오기’는 저장한 코디를 위로 다시 올리고, ‘오늘 입었어요’는 착용을 남기고, ‘지우기’는 코디만 지우고 옷은 옷장에 남깁니다. ‘옷장’의 모든 옷에는 “3회 착용”이나 “미착용”이 붙고, 아직 안 입은 옷과 오래 안 입은 옷 팁은 그것을 읽습니다. ‘백업’은 ‘JSON 내보내기’로 옷장 전체 — 옷, 코디, 사진 — 를 JSON 파일 하나로 내려받고, ‘JSON 불러오기’는 확인 한 번 뒤에 다른 브라우저에서 그것을 읽으며, ‘옷장 비우기’는 같은 확인 뒤에 이 브라우저를 비웁니다.
뽑기와 팁이 실제로 정해지는 방식
뽑기는 씨앗을 가지며, 매초 무작위가 아닙니다. 씨앗은 오늘 날짜와 다시 뽑은 횟수(그리고 상황·기본·포함 설정)이고, 그것이 작은 결정적 생성기로 들어가므로 같은 날 같은 횟수면 항상 같은 조합입니다 — 페이지를 새로 고쳐도 바뀌지 않고, ‘다시 뽑기’를 누르면 횟수가 올라가 새롭고 똑같이 공정한 뽑기가 됩니다. 한 칸 안의 모든 후보는 정확히 같은 확률입니다: 점수도, 순위도, “많이 입은 것 먼저”도, 뒤에 있는 모델도 없습니다. 칸마다 잡아 두었든 아니든 뽑기를 한 번씩 소비하므로, 한 옷을 잡아 둔다고 다른 칸이 다시 섞이지 않습니다. 옷장에 원피스와 상하의가 모두 있고 ‘기본’이 ‘뽑기에 맡김’이면, 다른 무엇보다 먼저 던지는 동전이 세 번에 한 번꼴로 원피스를 고르고, 한 종류만 있으면 그 종류를 씁니다. 가방과 액세서리는 선택 사항이라 가방 없는 옷장이 가방을 “빠뜨린” 것은 아니지만, 원하는데 옷장이 채울 수 없는 상의·하의·원피스·신발·아우터는 빠진 것으로 표시됩니다.
상황 태그는 칸마다 정해진 순서로 후보를 좁힙니다. 먼저 그 칸에서 그 태그가 붙은 옷, 없으면 태그가 전혀 없는 옷(흰 티셔츠는 어디에나 어울리니까), 그것도 없으면 그 칸의 전부입니다. 그래서 출근 옷 몇 벌에만 태그를 붙여도 이미 출근 뽑기가 되고, 태그 없는 옷은 태그가 없다고 벌을 받지 않습니다 — 제외가 아니라 대비책입니다.
팁은 조합에 든 옷의 색 칩 위의 산수이고, 기기 안에서 계산되며, 아래가 규칙의 전부입니다. ‘미지정’ 칩은 무시되고, ‘패턴’은 색과 따로 세며, 무채색 — 검정·흰색·회색·네이비·데님·베이지·갈색 — 은 공짜라 색으로 세지 않고, 두 옷의 같은 색은 한 번만 세므로 빨간 상의에 빨간 가방은 포인트 둘이 아니라 하나입니다.
- 어느 옷에도 색 칩이 없으면: “옷에 색을 지정하면 색 팁이 붙습니다.” 색을 지정하기 전에는 색에 대해 아무 말도 하지 않습니다.
- 무채색 말고 서로 다른 색이 셋 이상이면: “무채색 말고도 색이 셋 이상이면 많습니다. 하나를 무채색으로 바꿔 보세요.”
- 무채색만 있고 포인트가 하나도 없으면: “전부 무채색 — 안전합니다. 가방이나 스카프 같은 포인트 하나면 살아납니다.”
- 무채색 말고 색이 정확히 하나면, 그 색의 이름으로: “빨강 하나에 나머지는 무채색 — 가장 쉬운 조합입니다. 좋아요.”
- 색이 정확히 둘이면: “색이 둘입니다. 나머지를 무채색으로 두면 둘이 싸우지 않습니다.”
- ‘패턴’ 옷이 둘 이상이면, 색 개수 팁과 별개로: “패턴이 둘이면 서로 싸웁니다. 하나는 무지로 바꿔 보세요.”
- 한 조합에 검정 옷과 네이비 옷이 함께 있으면, 둘 다 무채색인데도: “검정과 네이비는 낮에 어긋나 보입니다. 하나만 고르세요.”
- 신발과 가방의 칩이 같고 그것이 ‘패턴’이 아닌 실제 색이면: “신발과 가방이 같은 갈색 — 고전적인 조합입니다.”
- 조합에서 처음 만나는, 한 번도 안 입었고 넣은 지 14일이 넘은 옷: “흰 리넨 셔츠 — 아직 한 번도 입지 않았습니다. 오늘이 기회입니다.” 입은 적은 있지만 30일 넘게 안 입은 옷: “흰 리넨 셔츠 — 한 달 넘게 입지 않았습니다.” 이런 알림은 조합당 하나만 보이고, ‘오늘 입었어요’로 남긴 기록에서 나옵니다.
- 뽑기는 원했는데 옷장이 채우지 못한 칸: “옷장에 아직 신발 항목이 없습니다. 하나 넣으면 조합이 완성됩니다.” 뽑을 것이 전혀 없으면 “아직 뽑을 옷이 없습니다.”와 함께 빠진 것이 나열됩니다.
초보자의 첫 일주일
앱에 옷장 전체를 넣어야 뭔가를 얻는 게 아닙니다. 옷 열댓 벌, 솔직한 색, 태그 둘이면 뽑기와 팁이 제 몫을 하기 시작하고, 나머지는 몇 벌씩 나중에 넣어도 됩니다.
- 첫날: 실제로 입는 옷 열에서 열다섯 벌 — 상의 넷이나 다섯, 하의 셋이나 넷, 신발 두 켤레, 아우터 하나 — 을 찍습니다. 문에 걸거나 바닥에 펴서 한 장에 한 벌씩 찍고, 잘못된 곳에 들어가지 않도록 찍기 전에 ‘옷장에 넣기’에서 분류를 고릅니다.
- 그다음 옷을 하나씩 눌러 색 칩을 솔직하게 정합니다. 셔츠가 대부분 흰색이고 줄무늬가 가늘면 흰색이고, 무늬가 먼저 보이면 ‘패턴’입니다. 데님은 그 자체로 무채색입니다. 이 십 분이 모든 색 팁을 살립니다.
- 태그는 필요한 옷에만 붙입니다: 출근에 입을 옷에 ‘출근’, 주말 옷에 ‘캐주얼’. 단순한 기본 옷은 태그 없이 둡니다 — 모든 상황의 대비책이니까요. 아우터에 ‘추울 때’를 붙이면 벌써 겨울 필터가 생깁니다.
- 아침마다 ‘오늘의 조합’을 열고 조합과 그 아래 팁을 읽습니다. 상의는 맞는데 하의가 아니면 상의를 ‘잡아 두기’하고 ‘다시 뽑기’; 보통 두세 번이면 됩니다. 평일에는 ‘상황’을 ‘출근’으로 둡니다. 팁이 색 셋은 많다고 하면 한 번은 믿어 보고 그날 기분이 어떤지 봅니다.
- 저녁에는 실제로 입은 것에 ‘오늘 입었어요’를 누릅니다 — 그것이 나중에 아직 안 입은 옷과 오래 안 입은 옷 알림을 켭니다. 조합이 괜찮았으면 “월요일 출근” 같은 이름으로 ‘코디로 저장’해 두면 다음에는 한 번의 탭입니다.
- 주말에는 뽑기가 계속 아쉬워하던 옷을 더 넣고, 코디 보드의 ‘직접 고르기’로 뽑혔으면 했던 조합을 한 번 만들어 보고, ‘JSON 내보내기’를 누릅니다 — 파일에는 사진도 들어 있고, 이 브라우저 밖에 존재하는 유일한 사본입니다.
기기에 남는 것, 그리고 아닌 것
모든 것은 이 기기의 브라우저에 남습니다: 사진, 옷장, 태그, 저장한 코디, 착용 기록. 사진은 저장 전에 기기 안에서 작게 줄여지고 어디에도 올라가지 않습니다 — 앱은 자기 파일 말고는 아무것도 요청하지 않고, 한 번 열고 나면 설치한 PWA로 오프라인에서도 동작합니다. 계정도, 로그인도, 우리 서버도, 동기화도 없습니다. 그래서 백업은 내 몫입니다: ‘JSON 내보내기’는 사진까지 담은 파일 하나를 쓰고, 다른 브라우저나 새 휴대폰에서 ‘JSON 불러오기’를 하면 옷장이 그대로 돌아옵니다. 새 버전은 누구도 잠그지 않고 저장된 것을 지우지 않으며, 오래된 백업 파일도 그대로 읽힙니다.
그리고 아닌 것. 아웃핏패드에는 스타일리스트도 AI도 없습니다: 아무것도 사진을 들여다보지 않고, 취향을 배우지 않고, 옷에 순위를 매기지 않습니다. 오늘의 조합은 씨앗 있는 공정한 뽑기이고 팁은 위에 적힌 규칙입니다 — 하나하나 읽고 반박할 수 있습니다. 사진에서 옷을 알아보지 않고(분류와 색은 내가 고릅니다), 날씨를 가져오지 않고, 옷을 팔거나 상점으로 연결하지 않으며, 아이템 수 제한도 도구 화면 광고도 인앱 결제도 없습니다. 브라우저 안의 옷장에 공정한 동전과 짧은 색 규칙 목록이 있는 것이고, 그것이 질문이 원한 것입니다.
옷 개수에 제한이 있나요? 무료 단계 같은 게 있나요?
제한도 단계도 없습니다. 모든 기능이 첫 사진부터 모두에게 열려 있고, 옷장은 찍는 만큼 담습니다. 유일한 실질적 한계는 내 기기 브라우저 자체의 저장 공간인데, 사진이 저장 전에 작게 줄여지므로 수백 벌의 옷장도 원본이 차지할 공간의 작은 일부만 씁니다.
AI를 쓰나요? 조합은 누가 고르나요?
아니요. AI도, 모델도, 스타일리스트도 없습니다 — 기기 안에도 다른 어디에도요. 조합은 공정한 뽑기입니다: 날짜와 다시 뽑은 횟수가 작은 생성기의 씨앗이 되고, 한 칸의 모든 옷은 같은 확률입니다. 팁은 이 가이드에 적힌 고정된 색 규칙입니다 — 포인트 색 세기, 패턴 둘이나 검정 옆 네이비 찾기, 신발과 가방 맞추기, 안 입은 옷 알아채기. 팁이 나와 맞지 않으면 무시하면 됩니다; 아무것도 적응하지 않고 아무것도 학습하지 않습니다.
사진은 어디에 저장되나요? 누가 볼 수 있나요?
이 기기 브라우저 자체의 저장 공간이고, 다른 어디에도 없습니다. 사진은 넣는 순간 기기 안에서 작게 줄여져 거기에 저장되고, 우리 것이든 누구 것이든 서버로 보내지지 않습니다. 잠금 해제된 내 휴대폰이나 내가 내보낸 JSON 파일을 가진 사람이 아니면 아무도 내 옷장을 볼 수 없습니다. 브라우저의 사이트 데이터를 지우면 옷장도 지워지므로, 그래서 ‘JSON 내보내기’가 있습니다.
새 휴대폰이나 다른 브라우저로 옮길 수 있나요?
네, JSON 파일로요. ‘백업’의 ‘JSON 내보내기’는 모든 옷, 저장한 코디 전부, 착용 횟수, 그리고 사진 자체를 담은 파일 하나를 내려받습니다. 그 파일을 케이블이든, 나에게 보내는 메시지든, 이미 쓰는 드라이브든 원하는 방법으로 새 기기에 옮기고, 거기서 아웃핏패드를 열어 ‘JSON 불러오기’를 누르면 확인 한 번 뒤에 옷장이 그대로 돌아옵니다. 뒤에서 도는 동기화는 없으니, 새 사본이 필요할 때마다 이렇게 하세요.
오프라인에서도 되나요?
네. 연결된 상태에서 한 번 열면 안드로이드나 모든 브라우저에서 PWA로 설치되고, 그 뒤에는 옷장, 뽑기, 팁, 보드 모두 네트워크 없이 동작합니다 — 아무것도 가져오지 않으니까요. 뽑기는 기기의 날짜로 계산되고 팁은 내가 붙인 칩에서 나옵니다. 새 버전은 다음에 온라인에서 페이지를 열 때 조용히 들어오고, 저장한 것을 지우지 않습니다.
검정과 네이비를 왜 같이 두지 말라고 하나요? 둘 다 무채색인데요.
두 색이 너무 가까워서 하나가 잘못된 것처럼 보이기 때문입니다. 둘 다 어두워서, 낮에 검정 옆의 네이비는 의도한 짝이 아니라 바랜 검정이나 어긋난 네이비로 읽히기 쉽습니다. 그것이 규칙의 이유 전부이고, 법이 아니라 경험칙입니다: 일부러 둘을 같이 입는 사람도 많습니다. 검정 칩과 네이비 칩이 한 조합에 들어오면 팁이 뜨고, 하나를 ‘잡아 두기’하고 ‘다시 뽑기’하면 금방 지나갑니다 — 아니면 무시해도 됩니다.
아직 신발을 넣지 않았어요. 그래도 뽑히나요?
뽑을 수 있는 것은 뽑고, 못 뽑은 것은 말해 줍니다. 있는 칸은 채워지고 — 상의와 하의, 원했다면 아우터도 — 팁에 빈 칸이 “옷장에 아직 신발 항목이 없습니다. 하나 넣으면 조합이 완성됩니다.”로 나옵니다. 신발, 상의와 하의(또는 원피스), 그리고 켰다면 아우터가 뽑기가 빠졌다고 치는 유일한 칸이고, 가방과 액세서리는 선택 사항이라 없어도 완성입니다. 한 켤레 넣으면 다음 뽑기에서 조합이 채워집니다.
