WTHeat Blog

102개 메뉴를 세 개까지 줄여 본 과정

2026-06-08 · 수정 2026-07-22 · 7분 읽기

WTHeat의 실제 음식 데이터에서 시간, 예산, 제외 조건을 적용해 점심 후보를 세 개로 줄이는 과정을 적었습니다.

현재 데이터부터 확인했습니다

WTHeat에는 현재 102개의 음식 후보가 있습니다. 한식 30개, 일식 14개, 중식·양식·분식이 각각 12개, 패스트푸드와 카페·가벼운 메뉴가 각각 8개, 기타가 6개입니다. 빌드 전에 검증 스크립트를 실행해 ID 중복, 빈 이름, 잘못된 태그가 없는지도 확인합니다.

102개를 그대로 섞으면 결과는 나오지만 결정은 끝나지 않습니다. 먹기 어려운 메뉴까지 후보에 들어 있기 때문입니다. 메뉴 데이터는 재료이고, 실제 추천은 사용자가 남긴 작은 후보 목록 안에서만 동작합니다.

상황을 하나 정하고 지웠습니다

세 명이 점심을 먹고 남은 시간은 50분, 예산은 1인 12,000원 안쪽이라고 가정했습니다. 한 명은 매운 음식을 피하고 싶고 전날에는 돈까스를 먹었습니다. 먼저 이동 시간이 긴 메뉴, 매운맛이 강한 메뉴, 전날 먹은 돈까스를 후보에서 뺐습니다.

그 다음에는 비슷한 메뉴를 겹쳐 두지 않았습니다. 라멘, 우동, 칼국수를 모두 남기면 결과가 달라도 결국 면입니다. 쌀국수, 김밥·우동, 백반처럼 성격이 다른 후보 세 개를 고르면 추천 결과에 의미가 생깁니다.

추천은 한 번, 정말 싫으면 한 번만 더

후보가 세 개라면 모두 실제로 먹을 수 있는지 마지막으로 확인하고 추천을 실행합니다. 결과가 나온 뒤 다시 토론을 시작하면 처음으로 돌아갑니다. 그래서 처음 결과는 그대로 따르고, 누군가 명확한 이유로 싫다고 할 때만 그 후보를 빼고 한 번 더 뽑는 규칙을 씁니다.

WTHeat은 후보가 하나뿐이면 추천하지 않습니다. 이미 결정이 끝난 상태이기 때문입니다. 반대로 후보를 열 개씩 남기는 것도 피합니다. 이 도구의 역할은 많은 메뉴를 보여주는 것이 아니라 비교를 멈추게 하는 것입니다.

앱이 확인하지 못하는 것도 남습니다

추천 결과가 나와도 실제 식당의 영업시간, 가격, 대기 시간, 원재료는 별도로 확인해야 합니다. WTHeat은 알레르기나 의료적인 식단 제한을 판단하지 않습니다. 못 먹는 재료가 있다면 추천 전에 후보에서 빼고 식당 메뉴를 다시 확인해야 합니다.

선택한 후보는 현재 브라우저 localStorage에 저장됩니다. 다른 기기와 동기화되지 않고 브라우저 데이터를 지우면 사라질 수 있습니다. 자주 쓰는 후보를 남겨두는 용도에는 맞지만 식사 기록 서비스는 아닙니다.