본문으로 건너뛰기
피드

Pike — 고속도로 출구 선택 딜레마를 해결한 사이드 프로젝트의 5번의 시행착오

general 약 4분

로드트립 중 '여기서 내릴까, 다음 출구를 걸어볼까' 문제를 해결하는 앱 Pike의 개발기. Apple/Google Maps가 못 풀어주는 '우회 시간 기준 출구별 옵션 비교'를 구현하기 위해 5번의 아키텍처 변경을 거침. 최종적으로 OSRM을 활용해 미국 전역 모든 출구-POI 간 운전 시간을 사전 계산하는 방식으로 해결함.

  • 1

    Apple/Google Maps는 직선 거리 기준으로 경유지를 추천해 실제 우회 시간과 괴리가 큼

  • 2

    v1~v4까지 방향 기반 POI, 비방향 그래프, 방향 그래프, 연결 리스트 순으로 시도 후 실패

  • 3

    최종 v5에서 OSRM으로 미국 전역 출구-POI 간 운전 시간을 사전 계산하여 해결

  • 4

    AWS 200GB+ RAM 인스턴스로 대규모 연산 수행 (월 $1,000+, 수 시간만 사용)

  • 5

    핵심 교훈: 지도 데이터 문제에서 휴리스틱은 금물, 데이터 자체를 정제해야 함

기존 지도 앱이 못 푸는 문제

로드트립 중 고속도로 출구 선택은 의외로 해결 안 된 문제임. 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주간 로드트립을 앞두고 이 앱을 만들었음.

사이드 프로젝트의 전형적인 성장 과정을 잘 보여줌. 특히 '휴리스틱 대신 데이터를 고쳐라'는 교훈은 지도 영역 외에도 범용적으로 적용 가능함.

댓글

댓글

댓글을 불러오는 중...

general

뉴욕타임스·디애틀랜틱·USA투데이에 Wayback Machine 보존 허용을 요구하는 청원

Save the Archive 청원은 주요 언론사가 Internet Archive의 Wayback Machine 보존을 막지 말고 협력해야 한다고 요구함. 특히 뉴욕타임스, 디애틀랜틱, USA투데이가 AI 우려를 이유로 보존을 제한하는 흐름을 비판하면서, 오히려 생성형 AI 시대일수록 독립적인 웹 아카이브가 더 중요하다고 주장함.

general

검색과 인공지능이 만드는 ‘감시형 웹의 벽정원’

이 글은 오픈 웹이 사라지는 이유를 출판의 문제가 아니라 발견 가능성의 문제로 봐. 구글 검색, 브라우저, 광고, 운영체제, 인공지능 어시스턴트, 신원 확인 인프라가 합쳐지면서 측정되고 수익화되는 웹만 더 잘 보이게 된다는 주장이다.

general

이 대통령, AI ‘초과세수 국민배당’ 논란에 직접 반박

이재명 대통령이 김용범 정책실장의 ‘AI 국민배당금’ 발언을 둘러싼 논란에 직접 나섰다. 핵심은 기업의 초과이윤을 걷겠다는 얘기가 아니라, AI 산업 호황으로 국가에 초과세수가 생기면 그 재원을 국민에게 어떻게 돌려줄지 검토하자는 취지였다는 설명이다.

general

AI 데이터센터 붐에 캐터필러·이튼까지 반도체주처럼 움직이는 중

AI 투자 열풍이 엔비디아 같은 반도체주를 넘어 전력, 냉각, 발전 장비를 파는 전통 산업재 기업 주가까지 끌어올리고 있다는 내용이다. 데이터센터 증설이 물리 인프라 수요를 키우면서 S&P500 산업재 지수와 필라델피아 반도체지수의 45일 상관계수가 0.75까지 올라갔다.

general

시니어 개발자가 자기 전문성을 제대로 설명하지 못하는 이유

이 글은 시니어 개발자가 비즈니스와 자주 어긋나는 이유를 ‘복잡성 관리’와 ‘불확실성 감소’의 충돌로 설명한다. 사업팀은 시장 반응을 빨리 확인하고 싶어 하고, 시니어 개발자는 안정성과 유지보수성을 지키려 하니 같은 요청도 서로 다른 문제로 보인다는 얘기다.