
왜 나는 포항 이야기를 쓰다가, 영어 계산기를 만들었나
8월 6, 2026몇 달 전, 제가 일하는 연구소 이용자지원사무실에 외국인 연구자 한 분이 찾아왔습니다. 실험이 끝났으니 며칠 여행을 하고 싶다고, 버스를 어떻게 타면 되느냐고 물었습니다. 저는 포항에서 나고 자란 사람인데, 그분에게 아무것도 알려주지 못했습니다.
알고 있는데 전달할 수가 없었다
제가 몰라서가 아니었습니다. 207번이 어디로 가는지 저는 압니다. 문제는 그걸 영어로 건네줄 방법이 없었다는 것이었어요.
구글 지도를 켜보라고 했더니 대중교통 길찾기가 아예 나오지 않았습니다. 이건 그분이 뭘 잘못한 게 아닙니다. 한국에서는 구글 지도가 대중교통 안내를 하지 않습니다. 지도 데이터가 국외로 반출되지 않아서요. 한국을 처음 찾는 사람들은 대개 며칠을 헤매고 나서야 이 사실을 알게 됩니다.
그럼 카카오맵을 쓰라고 하면 될까요. 저도 그렇게 말할 뻔했습니다. 그런데 실제로 그분 폰으로 열어보니, 앱은 영어로 나오는데 정류장 이름은 전부 한글이었습니다. “죽도시장”을 못 읽는 사람에게 죽도시장 정류장을 찾으라는 건 아무 도움이 안 됩니다.
결국 저는 “택시 타세요”라고 말했습니다. 그날 이후로 그 장면이 계속 마음에 남았습니다.
데이터는 이미 열려 있었다
공공데이터포털에 들어가 봤습니다. 포항시 버스 노선 정보가 이미 공개돼 있더군요. 누구나 받을 수 있게, 무료로, 몇 년째.
내려받아 열어보니 CSV 파일 한 덩어리였습니다. 노선명, 상하행, 정류장 순서, 승강장 명칭. 사람이 읽으라고 만든 문서가 아니라 기계가 읽으라고 만든 표였고, 당연히 전부 한글이었습니다.
여기서 제가 깨달은 게 있습니다. 정보가 없는 게 아니었습니다. 정보는 몇 년째 공개돼 있었어요. 다만 그걸 한국어를 못 읽는 사람이 쓸 수 있는 형태로 바꿔놓은 사람이 아무도 없었을 뿐입니다.
정류장 1,071개를 하나씩 옮겼다
그래서 옮기기 시작했습니다.
정류장 이름 1,071개를 한글에서 로마자로 바꿨습니다. 국어의 로마자 표기법 규칙 그대로 — 초성·중성·종성을 분해하고, 연음까지 처리해서요. “죽도시장”은 Jukdosijang이 되고, “영일대해수욕장”은 Yeongildaehaesuyokjang이 됩니다.
그런데 이게 끝이 아닙니다. 외국인 연구자가 Jukdosijang을 검색할 리가 없거든요. 그 사람이 아는 이름은 Jukdo Market입니다. 그래서 그 위에 한 겹을 더 씌웠습니다. 시장은 Market으로, 해수욕장은 Beach로, 역은 Station으로. 그리고 사람들이 실제로 찾는 곳들 — 포스텍은 POSTECH, 호미곶 해맞이광장은 Homigot Sunrise Square로 — 하나씩 손으로 지정했습니다.
노선은 중복을 걷어내고 300개가 남았습니다. 각 노선의 정류장 순서를 전부 인덱스로 압축해서 페이지 안에 통째로 넣었습니다. 서버도, 지도 API도 필요 없이 브라우저에서 바로 돌아가게요.
만들다가 알게 된 것들
도구를 만드는 동안, 제가 포항에 살면서도 몰랐던 것들이 데이터에서 튀어나왔습니다.
포항역에서 포스텍으로 가는 직행 버스는 없습니다. 한 대도요. 서울에서 KTX를 타고 캐리어를 끌고 내린 사람이 버스 정류장에 서서 기다려봐야 답이 없습니다. 택시를 타야 합니다. 20분, 넉넉히 25분. 제철소로 들어가는 트럭 때문에 길이 막히거든요.
그리고 제가 예전에 쓴 글에 틀린 게 있었습니다. 교통 안내 페이지에 “900번을 타면 호미곶에 간다”고 써뒀었어요. 데이터를 다시 확인해보니 900번이 지나는 건 호미곶온천랜드였고, 그 유명한 청동 손 조형물이 있는 해맞이광장은 안 갑니다. 해맞이광장은 동해1·동해2 마을버스 노선만 들어가요.
제 글을 읽고 900번을 탄 외국인이 있었다면, 손 조형물을 못 보고 돌아왔을 겁니다. 바로 고쳤습니다.
모르는 건 비워두기로 했다
이 도구를 만들면서 스스로 정한 원칙이 하나 있습니다. 확인하지 못한 건 쓰지 않는다.
버스 번호를 그럴듯하게 지어내는 건 쉽습니다. 그런데 그 번호를 믿고 버스를 탄 사람이 엉뚱한 데서 내리면, 그건 제 신뢰가 무너지는 일입니다. 제 직장에 온 연구자에게 잘못된 번호를 알려주는 건 더 심각한 일이고요.
그래서 도구가 직행 노선을 못 찾으면 “없다”고 말합니다. 데이터에 한쪽 방향만 기록된 노선은 “이 번호가 두 정류장을 잇긴 하는데, 데이터에는 반대 방향만 있다. 버스 앞 행선지 표지를 확인하라”고 솔직하게 알려줍니다. 실시간 도착 시간은 아예 다루지 않습니다. 그건 네이버 지도가 훨씬 잘하니까요.
이 도구는 “어떤 버스를 타야 하는가”에만 답합니다. “언제 오는가”는 다른 앱에 넘깁니다. 할 수 있는 것만 하는 게, 결국 더 오래 쓰이는 길이라고 생각했습니다.
Pohang Bus Route Finder
그렇게 만든 것이 Pohang Bus Route Finder입니다.
출발지와 목적지를 영어로 치면 자동완성이 뜹니다. 한글 이름도 같이 보여주고요. 직행 버스가 있으면 번호와 정류장 수, 지나는 정류장 전부를 보여줍니다. 직행이 없으면 어디서 갈아타면 되는지까지 계산해서 알려줍니다.
정류장 1,071개, 노선 300개. 전부 포항시가 공개한 공식 데이터입니다.
세 번째 도구, 그리고 그 다음
여행 경비 계산기가 “전체 얼마”를, 물가표가 “하나씩 얼마”를 알려준다면, 이번 도구는 “거기까지 어떻게 가는가”에 답합니다. 세 개가 이제 서로 이어집니다.
그리고 이 도구는 앞의 둘과 다른 점이 하나 있습니다. 앞의 둘은 제가 알고 있는 것을 정리한 것이었지만, 이번 것은 이미 공개돼 있었지만 아무도 번역하지 않은 것을 옮긴 겁니다.
공공데이터포털에는 이런 게 아직 많이 남아 있습니다. 도서관, 공중화장실, 재래시장, 축제 일정. 전부 공개돼 있고, 전부 한글이고, 아무도 손대지 않았습니다. 대단한 기술이 필요한 일이 아닙니다. 그냥 누군가 옮겨놓기만 하면 되는 일이에요.
다음에 연구소에 외국인 연구자가 찾아와서 버스를 물으면, 이제 링크 하나만 보내면 됩니다. 그거면 충분합니다.
— 참견아빠
데이터 출처 · 포항시 시내버스 노선 정보(공공데이터포털), 2026-05-12 기준. 노선은 바뀝니다. 잘못된 게 보이면 알려주세요, 확인하고 고치겠습니다.


