종목 검색 페이지의 내부자 탭과 수급 탭이 어제까지는 껍데기였다. 오늘은 그 탭에 실제 데이터를 채웠다.
### DART 내부자 거래 배치 수집
DART(금융감독원 전자공시시스템)에서 임원·주요 주주의 매매 공시를 긁어오는 배치를 만들었다. A003 분류 공시를 대상으로 한다. 수집한 데이터는 Supabase의 insider_trades 테이블에 쌓인다. /stocks/insider/recent 엔드포인트로 최근 내부자 매수 종목 목록을 조회할 수 있다.
### KIS 수급 데이터 배치 수집
KIS(한국투자증권) API를 이용해 외국인·기관·개인 순매수 데이터를 가져온다. stock_supply 테이블에 적재하고, /stocks/supply/top 엔드포인트로 순매수 상위 종목을 조회할 수 있게 했다. 프론트엔드에는 필터 버튼 3개(외국인 순매수 / 기관 순매수 / 개인 순매수)를 붙였다.
### 에이전트 파이프라인 재정비
개발 중에 리서치·코드 작성 도구들의 역할 경계가 흐려지는 일이 있었다. 오늘 다시 정리했다. 리서치는 Gemini CLI, 코드 작업은 Codex CLI, 판단과 조율은 Claude Code. 이 구분이 무너지면 불필요한 작업이 두 번 일어나거나 인코딩 오류 같은 문제가 생긴다. QA 단계에서 인코딩 검증을 강제하는 절차도 추가했다.
## 아쉬웠던 것
초기에는 데이터가 없어서 탭을 열면 빈 화면이 나온다. 배치가 한 번 이상 돌고 나서야 의미 있는 목록이 쌓인다. 기능을 먼저 만들고 데이터가 채워지길 기다리는 구조라 초기 경험이 조금 어색할 수 있다.
## 배운 것
투자 행동 개선 플랫폼을 만들면서, 정작 내 개발 행동도 개선이 필요하다는 걸 느낀다. "이 작업은 누가 해야 하는가"를 명확히 하는 것이 속도보다 중요할 때가 있다. 오늘 그 구조를 잡은 게 앞으로 훨씬 편할 것 같다.