프로젝트 배경
1) 문제점 - 여러 명이 약속 장소를 정할 때 보통 "중간쯤"을 감으로 고르게 되는데, 지리적 중간이 이동시간의 중간이 아닌 경우가 많음 (환승·노선에 따라 특정 인원만 오래 이동) - 좌표 평균으로 중간을 구하면 역도 상권도 없는 지점이 나올 수 있어 실제 약속 장소로 쓸 수 없음 - 이동시간·교통비는 단위가 달라 함께 비교하기 어렵고, 결국 목소리 큰 사람 기준으로 정해지는 불공평이 생김 2)
프로젝트 성과
경로 계산 구조 개선으로 API 요청 제한(429) 오류 0건
멤버별 경로는 병렬, 후보 지점은 순차로 절충 설계해 계산 속도를 유지하면서 외부 API 요청 제한으로 인한 오류 없이 안정 동작
저장 형식 변경에도 기존 사용자 데이터 무손실 유지
배포 후 스키마 변경으로 발생한 크래시를 version/migrate 설계로 해결, 사용자 입력 데이터를 보존하며 무중단 업데이트
보안 취약점(XSS) 자체 발견 및 조치
지도 마커 라벨이 HTML 문자열로 삽입되는 구조의 XSS 취약점을 직접 발견하고 이스케이프 처리로 차단
명령형 지도 SDK와 React의 경계 설계로 리렌더 최소화
지도 인스턴스·마커를 useRef로 캡슐화하고 메서드만 노출하는 인터페이스 설계로 불필요한 리렌더를 제거, 지도 구현체를 교체해도 상위 코드 수정이 없는 구조 확보
서비스 미지원 구간까지 끊기지 않는 경로 안내
대중교통 API가 도시 간 장거리 경로를 반환하지 않는 한계를 확인하고, 거리 임계값 초과 시 KTX·고속버스 추정으로 대체 표시하는 폴백 구현
핵심 기능
진행 단계
기획 및 화면 설계
2026.04.
'가장 공평한 중간지점' 문제 정의, 핵심 화면 흐름 설계, 카카오맵·ODsay API 사전 조사 및 기술 검증
프로젝트 상세
1) 포트폴리오 소개 약속을 잡는 친구·모임을 위한 위치기반 지도 웹서비스입니다. 여러 사람의 출발지와 이동수단(대중교통/자동차/도보)을 입력하면, 특정인에게 유리하지 않도록 이동시간 편차를 최소화하는 '가장 공평한 중간지점'을 계산해 지도에 시각화합니다. 기획부터 설계·개발·배포·운영까지 전 과정을 1인으로 수행했으며, 현재 Vercel에서 운영 중입니다. 2) 작업 범위 - 서비스 기획 및 화면







