본문으로 건너뛰기
피드

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

general 약 4분
vote
0
댓글
북마크

로드트립 중 '여기서 내릴까, 다음 출구를 걸어볼까' 문제를 해결하는 앱 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

존 카맥이 돌아본 초기 id 소프트웨어의 실수들

존 카맥이 퀘이크 개발 당시의 기술적 과욕, 팀 운영, 지분 구조 문제를 직접 돌아봤다. 퀘이크 자체는 엄청난 성취였지만, 그 과정에서 회사와 사람들에게 너무 큰 부담을 줬다는 반성에 가깝다.

general

정부, 공공부문을 ‘AI 민주정부’로 바꾸겠다는 전략 공개

행정안전부가 전자정부의 날 행사에서 공공 인공지능 전환 전략인 ‘세계 최고의 AI 민주정부 실현 전략’을 발표했다. 핵심은 행정 효율화에 그치지 않고 국민 의견 수렴, 정책 참여, 행정 역량 강화를 AI로 밀어보겠다는 구상이다.

general

워드 빨간 밑줄을 만든 토니 크루거를 기억하며

마이크로소프트 워드의 빨간 맞춤법 밑줄과 초록 문법 밑줄을 처음 만든 개발자 토니 크루거를 기리는 글이다. 예전에는 사용자가 직접 맞춤법 검사를 실행하고 기다려야 했지만, 토니는 이 기능을 백그라운드에서 덜 거슬리게 만들고 오류를 즉시 화면에 표시하는 방식으로 바꿨다. 지금은 거의 모든 문서 편집기와 개발 도구에 비슷한 표시가 들어갔다는 점에서, 조용하지만 엄청나게 널리 퍼진 사용자 경험 개선 사례다.

general

삼성전자, AI 모듈러 홈 3년 안에 1만 채 팔겠다고 선언

삼성전자가 공장에서 80% 이상 제작되는 AI 모듈러 홈을 3년간 누적 1만 채 판매하겠다는 목표를 밝혔다. 스마트싱스 기반 보안, 화재·누수 알림, 에너지 절감, 방문자 맞이 자동화까지 주거 솔루션을 패키지로 묶는 전략이다.

general

중기부, 딥테크 7개 팀에 예비연구 티켓 줬다

중기부가 생태계혁신형 딥테크 챌린지 프로젝트 예비연구팀 7곳을 출범시켰다. 206개 컨소시엄 중 7개가 뽑혀 41대 1 경쟁률을 통과했고, 최종 5개 과제에는 4년간 최대 200억 원의 연구개발 지원이 붙는다.