TanStack AI 어댑터로 갈아 끼웠다 — 확인 항목 다섯 개의 답과 리뷰가 잡은 여섯 번째

직접 만든 OpenRouter 어댑터를 TanStack AI의 것으로 바꾸면 코드가 줄 줄 알았는데 늘었다. 확인하려던 다섯 항목은 된다 둘·안 된다 둘·다음으로 하나로 갈렸고, 리뷰가 실행으로 잡은 여섯 번째 — 생성 SDK의 응답 스키마가 내 경계보다 엄격했다는 것 — 가 이 spike에서 가장 값진 발견이었다. [Read More]

OpenAI에서 OpenRouter로, 그리고 TanStack AI로 — Career Radar가 다음에 갈 자리

OpenAI 크레딧 없이 시작해 OpenRouter 무료 모델로 검증을 끝냈고, 제공자를 더 늘리려다 멈춘 자리에서 TanStack AI를 만났다. 그 저장소의 어댑터 계층이 내가 직접 만든 계층과 같은 자리였고, 거기에 없는 제공자 둘은 내가 조사해 둔 것이었다. 힘이 빠졌다고 쓴 지 하루 만에 다음 자리가 보인 이야기다. [Read More]

열흘 동안 무엇을 증명했고 무엇을 못 했나 — Career Radar 회고

이력서와 공고의 적합도를 판정하는 ChatGPT 앱을 열흘 동안 PR 38개와 글 23편으로 만들었다. 증명하려던 것은 근거 기반 GenAI 앱을 설계하고 평가하고 운영할 수 있다는 것이었고, 기준선 숫자가 그 일부를 증명했으며 나머지는 재지 않았다. 여기서 멈추는 이유와 남는 것을 적는다. [Read More]

OpenRouter 무료 모델로 앱을 검증하며 부딪힌 여덟 가지

비용 없이 실제 모델 경로를 검증하려고 OpenRouter 무료 모델을 나흘 동안 썼다. 무료를 강제하는 것은 제공자 이름이 아니라 모델 id의 접미사였고, 새 키로도 429가 이어져 키 교체만으로 실행을 계속할 수는 없었다. 제공자의 제한과 내 코드의 문제를 나눠 정리한다. [Read More]

QA 요청이 완료 확인이 되지 못했을 때 — 검증 가능한 장면을 만들어 닫기

QA 환경에 배포하고 확인하겠다는 답까지 받았지만, 12일 뒤 상태를 묻는 자리에서 검증이 시작되지 않았다는 사실이 드러났고 다시 배포하자 곧바로 '화면이 너무 빨리 넘어가 확인할 버튼을 볼 수 없다'는 답이 왔다. 요청이 완료 확인으로 닫히려면 상대가 도달할 수 있는 장면을 만들어 보내야 했다. [Read More]

거의 3주 동안 머지하지 못한 PR 을 살려두는 법 — 정기 배포가 사라진 뒤의 대기 운영

초기 리뷰를 마친 PR 을 외부 일정 때문에 거의 3주 동안 열어뒀고, 그 사이 main 은 움직이고 공유 QA 브랜치는 재생성됐으며 새 푸시마다 자동 리뷰 승인이 리셋됐다. Draft 전환과 푸시 최소화, 충돌 예보와 별도 worktree 로 대기 비용을 관리했다. [Read More]

복귀 대상이 이 창 안에 있는가 — 세 지면, 두 채널, 하나의 '돌아가기' 버튼

'이전 페이지로 돌아가기' 한 버튼이 새 탭에서는 닫고, 같은 탭에서는 이동하고, 웹뷰에서는 절대 닫지 않아야 했는데, 웹뷰인지로 가르면 주문서를 잃었고 새 탭인지는 런타임에서 알 수 없었다. 기준을 '복귀 대상이 이 창 안에 있는가'로 바꾸고, 런타임이 모르는 사실은 여는 쪽이 선언하게 했다. [Read More]

같은 코드가 iOS 에서는 되고 Android 에서는 조용했다 — 웹뷰 URL 인터셉트가 두 곳으로 갈라져 있을 때

웹뷰 안에서 상품 상세로 돌아가는 버튼이 iOS 에서는 동작했고 Android 에서는 아무 반응이 없었는데, 프런트엔드 코드는 양쪽에 똑같은 이동을 요청하고 있었다. 브라우저에서 UA 를 바꿔 테스트해도 잡히지 않는 이 차이는 앱 저장소를 직접 읽고 나서야 사실이 됐다. [Read More]