0
Pike — 고속도로 출구 선택 딜레마를 해결한 사이드 프로젝트의 5번의 시행착오
general
요약
기사 전체 정리
Pike — "여기서 내릴까, 다음 출구를 걸어볼까" 문제를 해결한 앱
기존 지도 앱이 못 푸는 문제
로드트립 중 고속도로 출구 선택은 의외로 해결 안 된 문제임. Apple/Google Maps의 "경유지 추가" 기능은 직선 거리 기준으로 옵션을 보여주기 때문에, 실제 우회 시간과 동떨어진 결과를 줌. 운전자가 원하는 건 "앞으로 5개 출구에서 1분 이내로 갈 수 있는 곳"인데, 기존 앱은 이걸 제공하지 못함.
Pike의 접근
Pike는 고속도로의 파란색 안내 표지판을 앱으로 옮긴 느낌임. 출구별 카드를 스와이프하면서 5분 운전 거리 이내의 음식점·주유소·충전소·휴게소·숙소를 한눈에 확인 가능함.
5번의 시행착오
- v1 — 방향 기반 POI 검색: "내 진행 방향에 있는 식당 찾기" → 도로가 커브를 돌면 결과가 틀어짐. 실패.
- v2 — 비방향 OSM 그래프 + Dijkstra: OpenStreetMap 데이터로 그래프를 구성하고 다익스트라로 탐색 → 반대 방향 출구(예: 동행 중인데 서행 휴게소)를 추천하는 문제 발생.
- v3 — 방향별 방향 그래프: 양방향 각각 방향 그래프 생성 → OSM 데이터가 지저분해서 잘못된 노드에 걸리면 막다른 길에 빠짐. 엣지 케이스가 끝없이 나옴.
- v4 — 사전 계산된 출구 시퀀스 (연결 리스트): 그래프를 실시간 탐색할 필요가 없다는 깨달음. 출구 순서를 미리 계산해서 정규화함 → 시퀀스 자체는 잘 작동했으나, 고속도로 간 분기점(실제로 내릴 수 없는 출구)에서 POI를 추천하는 문제 발생.
- v5 — OSRM 기반 운전 시간 사전 계산: 미국 전역의 모든 고속도로 출구에서 모든 POI까지의 운전 시간을 사전 계산함. AWS에서 200GB+ RAM 인스턴스를 올려서 처리 (월 $1,000+, 다행히 몇 시간만 사용). 이게 Pike의 정확도를 보장하는 핵심.
핵심 교훈
"DO NOT USE HEURISTICS — YOU MUST FIX THE DATA"
지도 데이터 문제에서 휴리스틱으로 우회하려 하면 엣지 케이스가 끝없이 나옴. 데이터 자체를 정제하는 것이 정답이었음.
개발은 Claude와 Codex를 활용했으며, 특히 AWS 인스턴스 셋업과 대용량 연산 과정에서 Claude의 도움이 결정적이었다고 함. 개발자는 아내와 골든 리트리버 두 마리(Goose & Peanut)와 함께 6주간 로드트립을 앞두고 이 앱을 만들었음.
댓글
댓글
댓글을 불러오는 중...