구미역으로 가자는 사용자가 현재 출발 위치와 기차 출발 날짜/시간을
입력하면, 구미역에 늦지 않기 위해 언제 출발해야 하는지 계산해주는
Next.js 앱입니다.
사용자는 지도에서 출발 좌표를 선택하고, 기차 날짜/시간과 여유 시간을 입력합니다. 백엔드는 주변 정류장, 구미역 방향 노선, 실시간 버스 도착 정보, 공식 시간표, 도보 시간을 조합해 추천 계획을 만듭니다.
- 출발 위치를 지도에서 선택한다.
- 기차 출발 날짜와 시간을 입력한다.
- 구미역 도착 전 필요한 여유 시간을 선택한다.
- 앱이 추천 버스, 출발 시각, 탑승 정류장, fallback 이유를 보여준다.
| 출발지 입력 화면 | 결과 확인 화면 |
|---|---|
![]() |
![]() |
이 프로젝트는 harness-starter-kit을 단순 템플릿이 아니라 작업 운영 체계의
기준으로 사용했습니다. 앱 기능은 직접 구현하되, 변경을 안전하게 남기는 방식은
kit의 도움을 많이 받았습니다.
| 도움 받은 영역 | 프로젝트에 반영된 결과 | 관련 경로 |
|---|---|---|
| Agent workflow | 작업 규칙, 완료 기준, /harness command routing 정리 |
AGENTS.md |
| Verification gate | lint, planner test, typecheck, build, harness drift check를 한 번에 실행 | scripts/check-harness.mjs |
| Decision memory | 제품 구조, API boundary, 시간 의미, harness rule을 ADR로 기록 | docs/decisions/ |
| Failure memory | 반복하면 안 되는 실패와 detection/prevention check를 연결 | docs/failures/ |
| External API safety | TAGO, Gumi BIS, TMAP, OpenRouteService 작업 전용 checklist와 focused smoke command 분리 | docs/checklists/external-api-work.md |
| Harness lifecycle | kit source를 추적하고 /harness update로 안전한 변경만 선별 적용 |
.harness/source.json, docs/harness/adoption-report.md |
| Effectiveness tracking | harness health와 agent outcome을 분리하고 task outcome을 수동 기록 | docs/evaluation.md, docs/effectiveness/ |
요약하면, kit은 이 프로젝트에서 코드 생성보다 검증 루프, 작업 기억, 외부 API 안전장치, 변경 보고 방식에 크게 기여했습니다. 특히 planner처럼 live data와 fallback이 섞이는 영역에서 deterministic test와 live smoke를 분리하는 기준을 잡아준 점이 가장 컸습니다.
- App source:
src/app/ - Shared UI:
src/components/ - Planner logic:
src/lib/today-bus/ - Transit providers:
src/lib/tago/,src/lib/gumi-bis/,src/lib/transit/ - Walking providers:
src/lib/tmap/,src/lib/openrouteservice/ - Local tests:
tests/ - Harness docs:
docs/harness/ - Harness effectiveness tracking:
docs/evaluation.md,docs/effectiveness/ - Harness source tracking:
.harness/source.json

