본문으로 건너뛰기
0
r/jeffnews HN 약 4분

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

general

요약

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

기사 전체 정리

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주간 로드트립을 앞두고 이 앱을 만들었음.

핵심 포인트

  • Apple/Google Maps는 직선 거리 기준으로 경유지를 추천해 실제 우회 시간과 괴리가 큼
  • v1~v4까지 방향 기반 POI, 비방향 그래프, 방향 그래프, 연결 리스트 순으로 시도 후 실패
  • 최종 v5에서 OSRM으로 미국 전역 출구-POI 간 운전 시간을 사전 계산하여 해결
  • AWS 200GB+ RAM 인스턴스로 대규모 연산 수행 (월 $1,000+, 수 시간만 사용)
  • 핵심 교훈: 지도 데이터 문제에서 휴리스틱은 금물, 데이터 자체를 정제해야 함

인사이트

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

댓글

댓글

댓글을 불러오는 중...

general

버티컬 SaaS 만들려고 해충방제 기사 취직했던 썰.txt

SaaS 창업 아이디어 검증하려고 실제로 해충방제 업체에 취직해버린 미친 사람 등장. 13일 만에 자격증 따고 21일 만에 $30k ARR 클로징하는 레전드 행보. 결국 직접 회사 인수해서 처음부터 만들겠다는 결론.

general

Apple, 버그 안 고치고 '확인해봐' 요청 후 닫아버리는 거 실화?

개발자가 3년 전에 신고한 버그를 Apple이 묵묵부답으로 방치하다가, 갑자기 베타 버전에서 '버그 고쳐졌는지 확인해줘'라고 요청함. 근데 실제론 안 고쳤고, 확인 안 하면 그냥 닫겠다고 협박한 레전드 상황. Hacker News 터지고 나서야 Apple이 반응했는데 그것도 별 쓸모없는 sysdiagnose 요청임 ㅋㅋ

general

미국의 이란 전쟁, 왜 처음부터 망한 도박이었나 - 군사사학자 분석

군사사학자 브렛 데버로우가 미국의 이란 전쟁을 전략적 관점에서 분석했는데 결론은 '개망한 도박'임. 초기 정권붕괴 시나리오는 실패했고, 호르무즈 해협이 사실상 봉쇄되면서 미국은 진퇴양난에 빠진 상황. 전술적으론 이기고 있지만 전략적으론 얻은 게 없다는 게 핵심 주장임.

general

충돌 사고 테슬라 부품으로 내 책상 위에 Model 3 컴퓨터 올려놓기 ㄷㄷ

테슬라 버그바운티 참여하려고 eBay에서 사고 차량 부품 긁어모아서 Model 3 MCU+터치스크린을 책상 위에서 부팅시키는 데 성공한 개발자 이야기임. 케이블 하나 구하려다 PCB 태워먹고, 수리하고, 결국 차량 전체 배선 하네스까지 구매하는 험난한 여정 ㅋㅋ

general

AI 코딩 에이전트 때문에 소프트웨어가 개판 됐는데 아무도 모름

코딩 에이전트 등장 1년 만에 소프트웨어 품질이 심각하게 떨어지고 있다는 경고. 에이전트한테 다 맡기다 보니 코드베이스가 감당 안 되는 복잡성 덩어리로 변해가는 중. 필자는 '속도 좀 줄이고 인간이 다시 주도권 잡아야 함'이라고 주장함.