DEVELOPMENT JOURNAL
대구 데이터가 들어오고, 한 문장 깔때기가 끝까지 돌았습니다
무엇을 정했나
9월 15일 기획서에서 서비스 이름을 localhostdaegu, 방향을 창업 금융 네비게이터로 정했습니다. 예비 창업자가 “서문시장 옆에서 카페를 하면 내 돈으로 몇 개월 버티고, 부족한 돈은 어떤 금융상품으로 메우는가”를 한 번에 확인하는 서비스입니다. AI를 중심에 두고, 블록체인(리포트 해시 기록)은 여력이 있을 때만 검토하는 선택 항목으로 남겼습니다.
오늘은 이 방향으로 첫 구현을 했습니다. 코드는 처음부터 새로 쓰지 않았습니다. 이전에 서울 상권용으로 만든 자작 서비스 Metabole의 코드를 이 저장소로 옮기고, 지역에 묶인 부분을 대구 기준으로 바꿨습니다.
왜 이렇게 시작했나
- 접수까지 나흘이 남았습니다. 인허가 수집, 지도, 검색 기반 AI 구조가 이미 동작하는 코드를 재사용하는 편이 빨랐습니다. 지역 연동 부분만 교체할 수 있게 짜인 구조였고, 다른 대회에 낸 적이 없는 자작 코드라 재사용 제약도 없었습니다.
- 첫 화면을 지도 대신 채팅 한 문장으로 두었습니다. 첫 문장에서 지역·업종·예산을 알아내면 뒤 단계의 입력이 줄어듭니다. 흐름은 질문 → 지도와 진단 → 자금 시뮬레이션 → 결론(부족 자금과 금융상품) 순서입니다.
- 뉴스는 구글 뉴스 RSS로 바꿨습니다. 네이버 검색 API 키에 문제가 있었고, RSS는 키와 호출 한도가 없습니다.
이번 기록에서 확인한 것
백엔드 이식. 재무 시뮬레이션(손익분기·버틸 수 있는 기간·부족 자금·금리 스트레스), 위험도 조회, 금융상품 매칭, 한 문장 해석 API를 추가했습니다. 테스트는 196개 통과입니다. 코드 리뷰에서 일반음식점 업종 누락, 재무 계산의 1원 단위 절사 오류 등을 찾아 고친 뒤 다시 검토했습니다.
프론트엔드 “한 문장 깔때기”. 채팅 첫 화면부터 결론 화면까지 연결했습니다. 단위 테스트 77개와 브라우저 자동 시나리오(E2E)를 통과했습니다. 최종 리뷰에서 “지역만 말하고 업종은 정하지 않은 질문”의 화면에 도달할 수 없던 설계상 모순(Critical 1건)을 찾아 해소했습니다.
공공데이터 첫 적재. 새로 발급한 키로 수집을 시작했습니다.
| 데이터 | 적재 결과 |
|---|---|
| 인허가(7업종 × 8개 구·군) | 161,115건, 약 18분. 좌표가 있는 155,568건은 모두 대구 범위 안 |
| 행정동 × 업종 연도별 지표 | 7,856행(2019~2026년) |
| 행정동 경계 | 144개 중 142개. 나머지 2개는 경계가 없는 출장소 |
| 한국은행 금리 / 부동산원 임대료·공실률 | 기준금리 92행·대출금리 273행 / 대구 1,572행 |
| 기업마당 지원사업 / 온통청년 창업 정책 | 1,533건 / 63건 |
| 뉴스 | 1,620건 |
경계 데이터는 처음에 0건이었습니다. 브이월드 경계의 지역 코드는 통계청 체계(대구 22)를 쓰는데, 코드는 행정안전부 체계(대구 27)로 걸러 내고 있었습니다. 서울은 두 체계의 번호가 같아서 기존 서비스에서는 드러나지 않던 결함입니다.
실제 백엔드와 연결한 완주 확인. 모의 데이터를 끄고 실제 API로 질문 → 지도 → 대신동 선택 → 시뮬레이션 → 결론까지 통과했습니다. 이 과정에서 모의 데이터의 행정동 코드와 실제 코드가 다른 문제, 결론 문구가 모의 데이터를 전제로 쓰인 문제를 찾아 고쳤습니다.
남은 문제
- 한때 공공데이터포털 일부 데이터셋이 활용신청 미완료로 거부됐습니다. 인허가는 신청이 반영된 뒤 전량 수집했습니다.
- AI 검색용 색인은 Gemini 무료 등급 한도에 걸려 지원사업 1,641건만 끝났고, 뉴스는 1,685건 중 320건만 처리했습니다.
- 금융상품 매칭은 아직 자리표시자 데이터로 동작합니다. 실제 상품 정보가 필요합니다.
- 정기 수집 스크립트는 만들었지만 예약 실행 등록은 사람이 해야 합니다.
다음에 할 일
- 뉴스 색인을 마치고 AI 분석 리포트를 실제로 연결합니다.
- iM뱅크·대구신용보증재단 등의 실제 금융상품을 조사해 반영합니다.
- 수집이 매일 정상적으로 도는지 확인합니다.