간판을 찍은 뒤 3단계 샘플 분석까지—간판한컷 MVP는 어디까지 왔나
식당을 찾을 때 늘 상호를 정확히 알고 있는 것은 아닙니다. 길을 걷다 처음 보는 간판을 발견했거나, 상호가 잘 보이지 않거나, 검색창에 이름을 입력하기 번거로운 순간이 있습니다. 이때 사용자가 알고 싶은 것은 거창한 맛집 추천이 아니라 “이 식당에 지금 들어가도 괜찮을까?”에 가깝습니다. 메뉴가 무엇인지, 가격대는 어떤지, 대표 음식은 무엇인지, 영업 중인지 정도를 입장 전에 빠르게 확인…
① 왜 간판을 찍는 식당 탐색을 만들었나
식당을 찾을 때 늘 상호를 정확히 알고 있는 것은 아닙니다. 길을 걷다 처음 보는 간판을 발견했거나, 상호가 잘 보이지 않거나, 검색창에 이름을 입력하기 번거로운 순간이 있습니다. 이때 사용자가 알고 싶은 것은 거창한 맛집 추천이 아니라 “이 식당에 지금 들어가도 괜찮을까?”에 가깝습니다. 메뉴가 무엇인지, 가격대는 어떤지, 대표 음식은 무엇인지, 영업 중인지 정도를 입장 전에 빠르게 확인하고 싶은 상황입니다.
간판한컷은 이 질문에서 출발했습니다. 검색어를 입력하는 대신 눈앞의 식당 간판을 첫 단서로 삼습니다. 식당 이름을 기억하거나 정확히 입력하는 과정을 줄이고, 카메라를 실행해 대상을 바로 확인하는 흐름입니다. 계획서에서 정의한 핵심 대상은 한국에서 식당 정보를 찾는 한국인입니다. 한국을 방문한 외국인 관광객과 국내 식당·상권 운영자는 보조 대상에 해당합니다.
① 검색보다 촬영이 자연스러운 순간
기존 지도 서비스는 상호나 지역을 검색한 뒤 여러 결과를 비교하는 방식에 익숙합니다. 하지만 지금 보고 있는 식당의 이름을 모르면 첫 입력부터 막힐 수 있습니다. 간판한컷은 이 지점을 카메라 우선 UX로 바꾸려 합니다. 검색할 단어를 떠올리는 대신, 이미 눈앞에 있는 간판을 입력값으로 사용한다는 선택입니다.
다만 간판을 찍는 행위 자체를 새로운 기술이라고 보지는 않습니다. 이미지 인식 기능은 이미 여러 서비스에서 제공되고 있습니다. 이 제품이 확인하려는 차이는 간판 인식의 참신함이 아니라, 간판 촬영부터 식당 선택에 필요한 정보 확인까지의 흐름을 얼마나 짧게 만들 수 있는가입니다. 정확한 지점을 찾은 뒤 메뉴·가격·대표 음식과 영업 정보를 한 번에 살펴보는 경험이 실제로 검색보다 빠른지가 핵심입니다.
② 현재 MVP에서 확인하는 범위
현재 구현은 실제 식당 데이터를 연결한 서비스가 아니라, 간판 사진을 촬영하거나 파일을 선택한 뒤 결과를 확인하는 앱인토스 데모 MVP입니다. 후면 카메라 우선 실행과 사진 파일 선택 흐름을 제공하고, 분석 과정은 3단계 샘플로 구성했습니다. 고신뢰 결과, 전체 메뉴, 메뉴 상세, 후보 수정, 최근 촬영과 저장 상태도 체험할 수 있습니다. 최근 촬영과 저장 상태는 localStorage에 보존됩니다.
화면에 표시되는 식당 식별 결과, 신뢰도, 메뉴, 가격, 거리, 영업 및 방문 정보는 모두 체험용 샘플입니다. 사진은 서버로 전송하지 않습니다. 그러므로 현재 단계에서 “사진만 찍으면 실제 식당의 메뉴가 나온다”고 말할 수는 없습니다. 지금 검증하는 것은 실제 데이터의 정확도가 아니라, 촬영을 시작점으로 삼았을 때 사용자가 결과를 보고 입장 여부를 판단하는 흐름이 이해되는지입니다.
③ 다음에 확인할 질문
실제 제품으로 나아가려면 한글 간판 OCR, 촬영 품질과 신뢰도 기준, 사용자 동의 기반 GPS 조회, 국내 장소 API 연동이 필요합니다. 실제 식당 식별과 메뉴·가격·영업정보 연결도 아직 계획 단계입니다. 메뉴 최신성, 가격변동, 매칭 정확도와 5초 이내 첫 카드 표시 목표 역시 검증 전입니다.
결국 간판한컷이 답하려는 질문은 하나입니다. 상호를 모르거나 입력하기 번거로운 순간, 눈앞의 간판 한 장으로 식당에 들어갈지 판단하는 시간을 줄일 수 있는가. 현재 MVP는 그 가능성을 샘플 분석 흐름으로 확인하는 단계이며, 실제 유용성은 이후 데이터 연동과 정확도 검증을 거쳐 판단해야 합니다.
② 현재 MVP의 범위와 핵심 결정
① 이번 MVP는 ‘간판 촬영부터 메뉴 확인까지’의 판단 흐름을 검증하는 데모로 정했다. 사용자가 식당 이름을 입력하는 대신 눈앞의 간판을 찍거나 사진 파일을 선택하고, 분석 결과를 확인한 뒤 메뉴로 이동하는 흐름이다. 실제 후면 카메라를 우선 실행하며, 카메라를 사용할 수 없는 경우를 고려해 사진 파일 선택 경로도 넣었다. 핵심은 OCR이나 장소 검색 기능을 완성했다고 주장하는 것이 아니라, 촬영 이후 사용자가 어떤 정보를 어떤 순서로 확인하는지 화면으로 보여주는 데 있다.
현재 데모에서는 촬영 또는 이미지 선택 뒤 3단계 샘플 분석이 진행된다. 분석 결과에는 식당 식별 결과, 신뢰도, 메뉴와 가격, 거리, 영업 및 방문 정보가 표시되지만, 이 값들은 모두 체험용 샘플이다. 실제 식당을 자동으로 찾거나 최신 정보를 불러오는 기능으로 보면 안 된다. 분석 중 화면, 카메라 권한 거부, 잘못된 파일, 빈 기록, 후보 수정 성공과 같은 상태도 분리해 두었다. 최근 촬영 기록과 저장 상태는 localStorage에 보존한다. 사진을 서버로 전송하지 않는 것도 현재 데모의 범위에 포함했다.
② 정보를 한 번에 모두 보여주기보다, 촬영 후 판단에 필요한 화면을 단계적으로 나누기로 했다. 먼저 분석 결과에서 식당 후보와 기본 정보를 확인하고, 더 자세한 메뉴 화면으로 이동한 다음, 특정 메뉴의 상세 내용을 살펴보는 구조다. 후보가 맞지 않을 때 사용자가 수정할 수 있는 경로도 마련했다. 이 결정은 ‘간판을 찍으면 번역된 메뉴를 보여준다’는 기본 아이디어를 실제 서비스 데이터 없이도 체험할 수 있게 하기 위한 것이다. 음식 이미지는 외부 이미지가 아니라 CSS로 만든 에디토리얼 그래픽을 사용했다. 이미지 저작권이나 외부 데이터 연결보다 화면 흐름 검증에 우선순위를 둔 선택이다.
변경 이력에는 최근 촬영 기록을 바탕으로 한 랭킹, 저장한 가게 소식, 스트릭과 배지, 주간 챌린지, 지도 공유, 광고 노출 시점 조정 같은 항목도 기록돼 있다. 다만 이 글에서 말하는 핵심 MVP는 촬영·샘플 분석·결과·메뉴 확인 흐름이다. 토스포인트 리워드는 프로모션 코드가 필요하고, 알림은 알림 템플릿 설정이 필요하므로 실제 환경에서 동작한다고 단정하지 않는다.
③ 실제 데이터 연동과 성능 목표는 현재 구현 범위에서 제외하고 계획 단계로 남겼다. 아직 한글 간판 OCR을 연결하지 않았고, 촬영 품질과 신뢰도 기준도 검증하지 않았다. 사용자 동의 기반 GPS 1회 조회, 국내 장소 API, 실제 식당 식별, 메뉴·가격·영업정보 연결 역시 진행 전이다. 메뉴 최신성이나 가격 변동을 실제 데이터로 확인하는 운영 체계도 마련되지 않았다.
계획서에 적은 국내 식당 Top-1 자동 매칭 정확도 85% 이상, Top-3 정답 포함률 95% 이상, 촬영 후 첫 식당 카드 표시 5초 이내라는 수치는 실적이 아니라 향후 검증 목표다. 주문 연결 역시 아직 계획 단계다. 즉 현재 간판한컷은 실제 식당 정보를 보장하는 서비스가 아니라, 간판 사진에서 메뉴 확인까지의 사용 경험을 샘플 데이터로 점검하는 MVP 데모다.---

③ 사용자는 간판을 찍은 뒤 어떻게 판단하는가
간판한컷의 현재 데모는 “사진을 찍으면 실제 식당 정보를 찾아준다”는 완성형 서비스가 아니라, 간판 촬영에서 메뉴 확인까지 이어지는 사용자 판단 흐름을 검증하는 MVP다. 제출용 스크린샷 6장도 이 흐름을 중심으로 구성했다. 화면에서 보이는 식당명, 메뉴, 가격, 거리, 영업 및 방문 정보는 모두 체험용 샘플이며, 사진은 서버로 전송되지 않는다.
① 앱을 열고 간판 사진을 준비한다
첫 화면에서는 후면 카메라를 우선 사용하는 촬영 흐름으로 진입한다. 사용자는 눈앞의 간판을 바로 찍거나, 카메라 사용이 어려운 경우 사진 파일을 선택할 수 있다. 별도로 상호를 입력하는 단계는 두지 않았다. 간판을 보고 있지만 정확한 식당명을 모르는 상황에서, 검색어를 먼저 떠올리게 하기보다 사진을 출발점으로 삼으려는 선택이다.
사진을 고르는 과정에서는 카메라 권한 거부나 잘못된 파일처럼 정상적인 분석으로 이어지지 않는 상태도 확인할 수 있다. 이런 경우를 별도 화면으로 처리해, 사용자가 앱이 멈췄다고 오해하지 않도록 했다. 다만 현재 촬영 이미지를 실제 OCR 서버나 장소 데이터와 연결하지는 않는다.
② 분석 과정을 3단계 샘플로 확인한다
사진을 제출하면 곧바로 식당 결과를 확정하는 대신, 3단계 샘플 분석 화면을 거친다. 사용자가 사진을 제출했고 분석이 진행 중이라는 점, 분석이 끝났다는 점, 결과가 제시됐다는 점을 순서대로 보여주는 구조다. 제출용 스크린샷에서는 이 과정을 통해 촬영 뒤 판단 화면으로 넘어가는 흐름을 확인할 수 있다.
이 분석은 실제 한글 간판 OCR이나 국내 장소 API를 호출한 결과가 아니다. 화면에 표시되는 식당 식별과 신뢰도 역시 체험을 위한 샘플이다. 그러므로 현재 데모만으로 자동 매칭 정확도나 첫 결과 표시 시간을 검증했다고 볼 수 없다. 계획 단계에는 한글 간판 OCR 연결, 사용자 동의 기반 GPS 조회, 국내 장소 데이터 연동이 남아 있다.
③ 결과에서 방문 여부를 판단한다
분석이 끝나면 고신뢰 결과 카드가 나타난다. 사용자는 식당 이름과 함께 대표 메뉴, 가격, 음식 이미지 형태의 콘텐츠를 확인하고, 더 많은 정보를 보기 위해 전체 메뉴로 이동할 수 있다. 음식 이미지는 외부 사진을 불러온 것이 아니라 CSS로 만든 에디토리얼 그래픽이다. 따라서 실제 해당 식당의 음식 사진이나 최신 메뉴를 보여주는 화면으로 해석하면 안 된다.
전체 메뉴에서는 메뉴 목록을 훑어보고, 관심 있는 항목을 선택해 메뉴 상세 화면으로 들어간다. 이 단계가 현재 데모에서 가장 분명하게 검증하는 사용자 판단 지점이다. “이곳이 내가 찾던 식당인가”, “메뉴와 가격을 더 볼 필요가 있는가”를 촬영 직후 몇 개 화면 안에서 확인하도록 구성했다. 영업정보와 방문 정보가 보이더라도 실제 운영 데이터와 연결된 값은 아니다.
④ 결과가 맞지 않을 때 수정하고 기록을 남긴다
식당 후보가 기대와 다를 때는 후보 수정 흐름으로 이동할 수 있다. 수정 성공 상태도 준비돼 있어, 결과를 그대로 받아들이는 경우뿐 아니라 사용자가 잘못된 후보를 바로잡는 경우까지 화면에서 확인한다. 최근 촬영과 저장 상태는 localStorage에 보존된다. 다시 앱을 열었을 때 데모 안에서 최근 기록과 저장한 상태를 이어서 볼 수 있게 한 것이다.
현재 단계의 결론은 분명하다. 간판 촬영→샘플 분석→식당 결과→메뉴 확인→후보 수정과 기록이라는 핵심 여정은 화면으로 구현돼 있다. 반면 실제 식당 자동 식별, 메뉴·가격 최신성, 거리와 영업정보 검증, 주문 연결은 아직 계획 단계다. 이 구분을 전제로 보면 간판한컷 MVP는 사용자에게 어떤 정보를 어떤 순서로 보여줄지 확인하는 데까지 와 있으며, 실제 데이터 기반 서비스로 넘어가기 위한 검증은 이제 시작해야 하는 상태다.

④ 샘플 경험과 실제 데이터 사이의 과제
현재 간판한컷에서 확인할 수 있는 것은 실제 식당 검색 결과가 아니라, 촬영 이후의 판단 흐름을 보여주는 데모다. 카메라를 우선 실행하고 사진 파일을 선택하는 대체 경로를 제공한다. 사진을 입력하면 3단계 샘플 분석을 거쳐 식당 카드, 메뉴와 가격, 음식 이미지, 영업 관련 정보를 확인하는 구조다. 고신뢰 결과와 전체 메뉴, 메뉴 상세, 후보 수정 화면도 연결되어 있다.
다만 화면에 표시되는 식당 식별 정보와 신뢰도, 메뉴, 가격, 거리, 영업·방문 정보는 모두 체험용 샘플이다. 음식 그래픽 역시 외부 식당 이미지를 불러오는 방식이 아니라 CSS로 구성했다. 촬영한 사진은 서버로 전송하지 않으며, 최근 촬영과 저장 상태는 현재 localStorage에 보존된다. 즉 지금 검증할 수 있는 범위는 사진을 찍은 뒤 결과를 읽고, 후보를 수정하고, 기록을 다시 확인하는 사용자 경험이다. 실제 장소를 정확히 찾아내는 능력까지 확인한 상태는 아니다.
① 식별 정확도는 아직 측정 대상이다. 계획 단계인 한글 간판 OCR과 촬영 품질 기준, 신뢰도 산정이 연결되지 않았다. GPS를 사용자 동의 아래 1회 조회하는 흐름과 국내 장소 API 연동도 남아 있다. 이 작업이 끝나야 비슷한 상호나 여러 지점이 있는 식당 가운데 실제 촬영 장소를 고르는 문제가 검증된다. 계획서의 국내 Top-1 매칭 정확도 85% 이상, Top-3 정답 포함률 95% 이상은 현재 성과가 아니라 앞으로 확인할 목표값이다. 촬영 후 첫 식당 카드가 5초 이내에 표시되는지도 실제 데이터와 네트워크 조건에서 따로 측정해야 한다.
② 메뉴 데이터는 식별보다 더 긴 운영 과제를 가진다. 공개 데이터만으로는 전체 메뉴와 최신 가격, 영업정보를 계속 보장하기 어렵다. 계획된 실제 식당 데이터 연결과 메뉴 최신성 검증 체계가 마련되지 않은 상황에서 샘플 화면의 가격을 서비스 품질처럼 해석할 수는 없다. 변경 이력에는 메뉴 제보와 이전 메뉴 비교, 가격변동·신메뉴 감지 흐름이 반영되어 있지만, 실제 식당 데이터를 받아 정확도를 운영으로 검증한 단계는 아니다.
③ 기능이 늘어날수록 연동 조건도 확인해야 한다. 최근 변경에는 기록 기반 동네 인기 랭킹, 룰렛 후보 가중치, 저장한 곳 소식, 지도 공유, 스트릭과 배지, 주간 챌린지 같은 기록 경험이 추가됐다. 광고는 결과 확인 뒤 전체 메뉴 진입 시점으로 옮기고 최소 5분 간격을 두는 방향으로 조정했다. 토스포인트 리워드는 `VITE_TOSS_PROMOTION_CODE`, 알림 발송은 `VITE_TOSS_NOTIFICATION_TEMPLATE` 설정이 필요해 실제 환경 검증 전이다. 카메라 권한 거부, 잘못된 파일, 분석 중 상태처럼 데모에서 다룬 예외와 실제 API 오류·지연은 별도 검증이 필요하다.
결국 현재 MVP의 경계는 분명하다. 촬영부터 결과 확인까지의 흐름은 볼 수 있지만, 정확한 장소 매칭과 최신 데이터 제공을 증명한 서비스는 아니다. 다음 단계는 기능을 더 붙이는 것보다 실제 촬영 데이터, 동의 기반 위치 조회, 장소·메뉴 출처를 연결하고 정확도·응답시간·갱신 실패를 측정 가능한 상태로 만드는 일이다.
⑤ 현재 상태, 다음 계획, 배운 점
현재 상태
간판한컷은 현재 실제 식당 데이터를 연결한 서비스가 아니라, 핵심 사용 흐름을 확인하는 앱인토스 데모 MVP다. 사용자는 후면 카메라로 간판을 촬영하거나, 촬영이 어려울 때 사진 파일을 선택할 수 있다. 사진을 입력하면 3단계 샘플 분석을 거쳐 식당 후보와 메뉴 화면으로 이동한다. 고신뢰 결과 화면에서는 식당 정보와 대표 메뉴를 확인하고, 전체 메뉴와 메뉴 상세 화면까지 이어지는 흐름을 체험할 수 있다.
최근 촬영 기록과 저장 상태는 `localStorage`에 보존한다. 카메라 권한을 거부했을 때, 잘못된 파일을 선택했을 때, 기록이 비어 있을 때, 분석 중일 때, 후보를 수정한 뒤 성공했을 때처럼 주요 예외 상태도 화면에 포함했다. 음식 이미지는 외부 이미지를 불러오지 않고 CSS 그래픽으로 구성했다. 현재 단계에서 중요한 것은 결과의 실제 정확도보다 간판을 찍고, 분석 결과를 보고, 메뉴를 확인하는 동선이 끊기지 않는지를 확인하는 데 있다.
다만 화면에 표시되는 모든 식당 식별 정보, 신뢰도, 메뉴, 가격, 거리, 영업 및 방문 정보는 체험용 샘플이다. 사진은 서버로 전송하지 않는다. 그러므로 지금의 결과를 실제 식당을 정확히 찾아주는 기능이나 메뉴 최신성을 검증한 기능으로 설명할 수 없다. 제출용 스크린샷으로 확인되는 것도 이 데모 흐름의 화면이며, 사용자 수·정확도·매출 같은 운영 성과는 아직 확인할 수 없는 상태다.
다음 계획
다음 검증은 화면을 더 꾸미는 일보다 실제 데이터 연결 순서에 맞춰 진행한다.
① 먼저 한글 간판 OCR을 연결한다. 촬영 품질에 따라 인식 결과가 어떻게 달라지는지 확인하고, 식당 후보를 보여줄 수 있는 신뢰도 기준을 정해야 한다.
② 사용자 동의를 받은 뒤 GPS를 한 번 조회하고, 국내 장소 API와 결합해 눈앞의 식당 후보를 좁힌다.
③ 실제 식당의 메뉴·가격·영업정보를 연결한다. 공개 데이터만으로 모든 메뉴와 최신 상태를 보장할 수 있는지는 별도로 검증해야 한다.
④ 촬영 후 첫 식당 카드 표시 5초 이내, Top-1 자동 매칭 정확도 85% 이상, Top-3 안에 정답을 포함하는 비율 95% 이상이라는 목표를 실제 데이터로 측정한다. 이 수치는 달성 실적이 아니라 MVP 통과를 위한 목표값이다.
⑤ 메뉴 최신성, 가격 변동, 현장 인기 같은 정보가 실제로 유지되는 운영 방식을 확인한 뒤 주문 연결을 검토한다.
토스포인트 리워드와 알림은 코드에 연결 지점이 있더라도 실제 환경 검증이 남아 있다. 리워드는 `VITE_TOSS_PROMOTION_CODE`, 알림은 `VITE_TOSS_NOTIFICATION_TEMPLATE` 설정이 필요하다. 설정과 발송 결과를 확인하기 전에는 제공 중인 기능으로 단정하지 않겠다.
배운 점
이번 단계에서 확인한 사실은 카메라와 분석 화면을 만드는 것만으로 제품 검증이 끝나지 않는다는 점이다. 핵심 가치는 OCR 자체가 아니라, 촬영 뒤 정확한 지점을 찾고 메뉴·가격을 빠르게 판단하게 하는 전체 흐름에 있다. 반대로 실제 데이터가 연결되지 않으면 화면이 자연스러워도 정확도와 최신성을 말할 수 없다. 다음 개발에서는 기능 수를 늘리기보다 한글 간판 인식, 장소 매칭, 첫 결과 표시 시간부터 측정하려 한다. 독자라면 이 흐름에서 가장 먼저 확인하고 싶은 지표는 무엇인지 궁금하다.

첨부한 실제 화면
- 이미지 1: 01.png (실제 화면 1)
- 이미지 2: 02.png (실제 화면 2)
- 이미지 3: 03.png (실제 화면 3)
- 이미지 4: 04.png (실제 화면 4)

아직 계획 단계인 기능
- 한글 간판 OCR 연결 및 촬영 품질·신뢰도 기준 검증
- 사용자 동의 기반 GPS 1회 조회와 국내 장소 API 연동
- 실제 식당 식별과 메뉴·가격·영업정보 데이터 연결
- 메뉴 최신성 및 가격변동을 실제 데이터로 검증하는 운영 체계
- 국내 식당 Top-1 자동 매칭 정확도 85% 이상 목표 검증
- Top-3 내 정답 포함률 95% 이상 목표 검증
- 촬영 후 첫 식당 카드 표시 5초 이내 목표 검증
- 주문 연결과 같은 S급 목표 범위 기능
- 토스포인트 리워드 연동의 실제 환경 검증: VITE_TOSS_PROMOTION_CODE 설정 필요
- 알림 기능의 실제 발송 검증: VITE_TOSS_NOTIFICATION_TEMPLATE 설정 필요
발행 전 확인할 내용
- 현재 제출용 스크린샷 6장이 각 설명에 사용된 화면과 일치하는지
- 변경 이력에 기록된 랭킹·룰렛 후보 가중치·광고 노출 시점·알림 동의·챌린지·지도 공유·스트릭·배지·가격변동 감지 기능이 현재 빌드에서 실제로 동작하는지
- 변경 이력에 기록된 토스포인트 리워드 연동이 환경 변수 설정 후 실제 호출되는지
- 현재 데모의 모든 식당 식별·신뢰도·메뉴·가격·거리·영업 및 방문 정보가 체험용 샘플이라는 점
- 사진이 서버로 전송되지 않는 현재 동작이 실제 배포 빌드에서도 동일한지
- localStorage에 최근 촬영과 저장 상태가 보존되는 동작이 지원 환경에서 동일한지
- 간판한컷이 앱인토스 데모 MVP이며 실제 서비스 데이터 연동 전이라는 현재 상태
- OCR·국내 장소 API·GPS 연동이 아직 계획 또는 검증 과제라는 점
- 85%·95%·5초 수치가 실적이 아니라 MVP 통과를 위한 목표값이라는 점
이 개발기를 참고할 때
이 글은 제가 직접 만든 제품의 개발 과정을 정직하게 공유하는 기록입니다.
- 스크린샷과 설명은 작성 시점의 실제 상태 기준이며, 이후 업데이트로 달라질 수 있습니다.
- "다음 계획"으로 표시한 기능은 아직 완성된 기능이 아닙니다.
- 참고하거나 인용할 때는 이 글의 URL을 출처로 남겨주세요.
- 궁금한 점이나 피드백은 댓글로 남겨주시면 다음 개발과 다음 글에 반영하겠습니다.
댓글 0개
- 첫 댓글을 남겨보세요.