공개 저장소를 열어보면 가끔 완성처럼 보이는 순간이 있습니다. 버전 번호가 붙어 있고, 들어갈 화면도 정리돼 있고, 문서도 적혀 있고, 테스트나 체크리스트 같은 흔적도 보일 때가 그렇습니다. 그런데 실제 프로젝트는 그 시점에서 끝나기보다, 오히려 그때부터 다음 단계가 더 또렷해지는 경우가 많습니다.

이번에 본 개인 재무 서비스 프로젝트도 그런 쪽에 가깝습니다. 이미 사용자 입장에서 따라갈 수 있는 흐름은 보입니다. 대시보드가 있고, 재무설계가 있고, 추천이 있고, 공시 모니터링과 데이터 소스 설정 화면도 보입니다. 그렇다고 해서 이 프로젝트를 “완료된 결과물”로 읽는 건 조금 서두른 판단에 가깝습니다. 공개된 흔적을 조금만 더 보면, 지금은 한 단계가 정리된 상태에 더 가깝고, 프로젝트 전체는 여전히 다음 국면으로 움직이고 있기 때문입니다.

그래서 이번 글은 “무엇을 다 만들었다”를 정리하는 회고가 아닙니다. 대신 왜 이 프로젝트를 아직 진행 중이라고 읽는 게 자연스러운지, 여기서 무엇을 배울 수 있는지를 차분하게 풀어보려 합니다.

이번 글에서 먼저 잡아둘 핵심
겉으로 보이는 상태 실제로 뜻하는 것 지금 더 중요하게 볼 것
버전 번호가 있고 핵심 화면도 보입니다 사용 가능한 제품 단면이 정리됐다는 뜻에 가깝습니다 이후 변경을 버틸 구조와 기준이 잡혔는지를 봐야 합니다
특정 단계의 완료 기준이 문서화돼 있습니다 이번 단계의 출구가 정리됐다는 뜻이지, 전체 프로젝트 종료는 아닙니다 다음 단계에서 무엇을 더 단단하게 만들려는지 봐야 합니다
최근 변경과 오픈 PR이 계속 이어집니다 프로젝트가 아직 적극적으로 다듬어지고 있다는 뜻입니다 새 기능 수보다 경계, 신뢰, 운영 기준 쪽이 더 중요해진 상태입니다

이번 글의 핵심 한 줄
프로젝트는 배포되거나 버전이 붙는 순간 끝나는 게 아니라, 다음 변경을 버틸 기준이 잡힐 때까지 계속 정리되는 일에 더 가깝습니다.


왜 이번 글은 ‘완성 회고’가 아니라 ‘진행 중 기록’인가

공개 저장소를 볼 때 가장 쉽게 하는 오해가 하나 있습니다. 화면이 여럿 보이고, README가 정리돼 있고, 버전명이 붙어 있으면 “이제 끝난 프로젝트구나”라고 받아들이는 겁니다. 물론 그런 흔적은 중요합니다. 하지만 실제 개발에서는 그보다 더 세밀한 구분이 있습니다. 이번 단계가 끝난 것프로젝트 전체가 끝난 것은 다를 수 있다는 점입니다.

이번 프로젝트는 바로 그 차이를 잘 보여줍니다. 한쪽에서는 핵심 진입 경로와 기능 설명이 꽤 또렷하게 잡혀 있습니다. 그런데 다른 한쪽에서는 다음 단계로 보이는 planning v3 정리, 초안 센터 보강, 입력 흐름 안정화, 결과 신뢰 표시 같은 작업이 계속 이어집니다. 즉, 지금 상태는 “대충 만든 실험판”도 아니고, 그렇다고 “더 손볼 데 없는 완성본”도 아닙니다. 운영 가능한 단면이 나왔고, 그 위에 다음 단계 기준을 쌓는 중간 상태에 더 가깝습니다.

이 차이는 생각보다 중요합니다. 왜냐하면 초보자는 종종 “돌아가면 끝”이라고 느끼기 쉽기 때문입니다. 그런데 실제로 오래 가는 프로젝트는, 돌아가는 시점 이후에 오히려 더 많은 정리가 들어갑니다. 기능을 하나 더 넣는 것보다, 지금 있는 흐름을 어떻게 설명하고 어떻게 검증하고 어디까지를 계약으로 고정할지를 먼저 다듬게 되기 때문입니다.

핵심 포인트
“쓸 수 있다”는 말과 “끝났다”는 말은 다릅니다. 공개 저장소를 읽을 때는 이 둘을 일부러 구분해서 보는 편이 좋습니다.


공개 저장소에서 읽히는 현재 제품의 중심축

이 프로젝트가 이미 어느 정도 제품처럼 읽히는 이유는, 핵심 화면의 역할이 비교적 분명하기 때문입니다. 단순히 페이지가 많은 게 아니라, 화면들이 하나의 흐름으로 이어질 수 있게 묶여 있습니다. 공개된 구조를 보면 대략 아래 같은 중심축이 보입니다.

/dashboard
/planning
/recommend
/public/dart
/settings/data-sources
/products/catalog

이 목록만 봐도 프로젝트 성격이 어느 정도 드러납니다. 대시보드는 전체 흐름의 입구 역할을 하고, 재무설계는 사용자 입력을 토대로 현재 상태와 액션을 계산하는 중심부에 가깝습니다. 추천은 그 결과를 저장하거나 다시 꺼내 보는 흐름과 연결되고, DART 영역은 공시 모니터링처럼 외부 신호를 끌어오는 축으로 읽힙니다. 데이터 소스 설정 화면은 그 외부 데이터가 어떤 상태인지 보여주는 운영 축에 가깝고, 상품 카탈로그는 탐색과 비교 쪽으로 확장되는 면을 보여줍니다.

이게 왜 중요할까요. 초보자 기준에서는 화면 수보다 화면 간 역할 분담이 더 중요하기 때문입니다. 예를 들어 재무설계 화면이 따로 있고, 추천과 히스토리가 그 뒤를 받치고, 데이터 소스 상태가 또 따로 드러나 있다면, 이미 이 프로젝트는 “한 번 실행해보는 코드”를 넘어서 하나의 제품 흐름을 가지기 시작한 겁니다.

여기에 일일 갱신이나 리포트 생성 같은 운영 축까지 붙어 있다는 건 더 의미가 큽니다. 사용자가 한 번 눌러보고 끝나는 페이지가 아니라, 시간이 지나도 정보를 다시 갱신하고 결과를 관리해야 하는 서비스라는 뜻이기 때문입니다. 즉, 이 프로젝트는 기능 몇 개를 나열한 샘플이 아니라, 이미 입력·판단·추천·외부 데이터·운영 상태가 맞물리는 형태를 갖추고 있습니다.


Planning v2 완료가 뜻하는 것과 뜻하지 않는 것

이번 프로젝트를 보면서 가장 흥미로운 부분 중 하나는 “Planning v2 완료 판정” 같은 표현이 따로 적혀 있다는 점입니다. 쉽게 말하면, 개발자가 스스로 “이번 단계는 어디까지 충족하면 끝났다고 부를 것인가”를 미리 정해두는 방식입니다.

이런 기준이 있다는 건 꽤 좋은 신호입니다. 지금 단계에서 무엇을 통과해야 하는지, 무엇을 아직 다음 단계로 넘겨야 하는지가 섞이지 않기 때문입니다. 기능이 많아질수록 이 기준이 없으면, 매번 “이제 끝난 건가?”를 감각으로만 판단하게 됩니다. 그러면 팀이 작든 혼자 하든 금방 흔들립니다.

다만 여기서 중요한 건, 단계 완료와 프로젝트 완료를 혼동하지 않는 것입니다. 이번 프로젝트는 바로 그 지점을 잘 보여줍니다. 한 단계의 완료 기준은 정리돼 있지만, 공개 흔적을 보면 다음 단계에 해당하는 planning v3 관련 작업이 이미 따로 움직이고 있습니다. 즉, 이전 단계의 출구는 닫혔을 수 있어도, 전체 프로젝트의 문이 닫힌 건 아닙니다.

이 시점에서 구분해서 보면 좋은 것
이 말이 뜻하는 것 이 말이 뜻하지 않는 것
이번 단계의 기능과 검증 기준이 어느 정도 고정됐다는 뜻 앞으로 UX 개선, 데이터 계약 정리, 다음 버전 설계가 더 없다는 뜻은 아닙니다
이 시점부터는 다음 단계 작업을 별도 흐름으로 분리하기 쉬워진다는 뜻 프로젝트 전체가 완전히 닫혔다는 의미는 아닙니다

프로젝트가 조금만 커져도, “기능 추가”와 “계약 정리”와 “검증 기준 고정”이 서로 다른 종류의 일이라는 걸 느끼게 되기 때문입니다. 그리고 실제 제품은 대개 이 셋이 번갈아 나오면서 자랍니다.

핵심 포인트
버전 완료는 멈춤의 신호보다 다음 단계를 분리해서 시작할 수 있는 기준점에 더 가깝습니다.


최근 작업이 보여주는 다음 단계: 경계, 신뢰, 운영

최근 공개 흔적을 차분히 보면, 지금 이 프로젝트가 어디에 힘을 쓰고 있는지도 어느 정도 읽힙니다. 흥미로운 건 “화면을 더 많이 늘리는 일”보다 경계를 정리하고, 결과를 더 믿을 수 있게 보여주고, 운영 기준을 다듬는 일이 계속 보인다는 점입니다.

1) 경계를 먼저 고정하는 흐름

planning v3 쪽에서 보이는 단어들을 보면 엔티티 모델, API 계약, 롤백 기준, 초안 센터 하드닝 같은 표현이 나옵니다. 이런 단어는 얼핏 기술적으로만 보일 수 있지만, 실제 의미는 꽤 단순합니다. 무엇이 들어오고, 무엇이 나가고, 문제가 생기면 어디까지 되돌릴 수 있는지를 먼저 정리하는 작업이라는 뜻입니다.

초보자는 여기서 종종 “기능이 덜 보이는데 왜 이런 걸 먼저 하지?”라고 느낄 수 있습니다. 그런데 프로젝트가 조금만 커지면 바로 이해가 됩니다. 입력 방식이 늘어나고, 초안 저장이나 업로드가 붙고, 추천 결과와 보고서가 이어지기 시작하면, 가장 먼저 흔들리는 건 화면보다도 데이터가 오가는 약속입니다. 그래서 다음 단계로 넘어갈수록 기능보다 경계부터 고정하는 일이 더 중요해집니다.

2) 숫자만이 아니라 신뢰도 같이 보여주려는 흐름

또 하나 눈에 띄는 건 결과 신선도나 데이터 소스 신뢰를 더 분명하게 드러내려는 흔적입니다. 재무나 공공 데이터가 붙는 서비스에서는 이게 아주 중요합니다. 숫자 자체보다 먼저 드는 질문이 “이 정보는 지금 믿어도 되는가”이기 때문입니다.

그래서 결과 카드에 freshness, 즉 최신성 정보를 붙이거나 데이터 소스 설정 화면을 단순한 옵션 모음이 아니라 신뢰 허브처럼 다시 정리하는 건, 생각보다 제품적인 판단입니다. 기능을 더 넣는 것처럼 화려하진 않지만, 사용자가 결과를 받아들이는 방식을 바꾸기 때문입니다. 특히 추천이나 상품, 환율, 구독 같은 정보는 시간이 지나면 값이나 해석이 달라질 수 있어서, 결과와 함께 상태를 보여주는 일이 중요해집니다.

3) 운영 기준이 제품 안으로 들어오는 흐름

QA 게이트, 골든 데이터셋, 릴리즈 체크리스트, 일일 갱신 파이프라인 같은 표현도 눈에 들어옵니다. 이건 개발자용 메모처럼 보일 수 있지만, 실제로는 제품과 꽤 가까운 일입니다. 왜냐하면 이런 기준이 있어야 이후 수정이 사용자를 덜 놀라게 만들 수 있기 때문입니다.

예를 들어 결과를 저장하는 흐름이 있고, 추천과 리포트가 서로 연결되고, 외부 데이터가 주기적으로 갱신된다면, 수정 하나가 여러 화면에 연쇄적으로 영향을 줄 수 있습니다. 이런 프로젝트에서는 “새 기능이 있느냐”보다 “수정 뒤에도 같은 기준으로 확인할 수 있느냐”가 더 중요해지는 시점이 옵니다. 지금은 바로 그 시점으로 넘어가는 과정처럼 읽힙니다.

최근 흐름을 한 줄씩 요약하면 이렇습니다.

- 다음 단계의 엔티티 모델과 API/롤백 기준 정리
- 초안 센터와 업로드 흐름 보강
- 결과 카드의 최신성 표시 강화
- 데이터 소스 화면을 신뢰 중심으로 재정리
- QA/회귀/릴리즈 기준 고정
- 추천, 리포트, 기록 흐름의 연결 강화

핵심 포인트
프로젝트가 다음 단계로 넘어갈수록 중요한 건 화면 수가 아니라, 변경을 버틸 계약과 신뢰 표시와 운영 기준이 함께 자라는가입니다.


여기서 배울 수 있는 개발 감각

이번 프로젝트에서 꼭 가져가면 좋은 감각이 몇 가지 있습니다. 첫째, 프로젝트는 “돌아간다”에서 끝나지 않는다는 점입니다. 돌아가는 순간은 출발선에 가깝고, 그다음에는 구조를 정리하고 기준을 고정하고 신뢰를 표현하는 일이 따라옵니다.

둘째, 문서와 체크리스트도 제품 작업이라는 점입니다. 초보자일수록 README나 체크리스트를 개발 바깥의 일처럼 느끼기 쉽습니다. 하지만 실제로는 그런 문서가 있어야 다음 변경이 덜 흔들리고, 나중에 다시 봐도 기준을 잃지 않습니다.

셋째, 공개 저장소를 읽을 때는 스크린샷보다 이름과 흐름을 보는 편이 좋습니다. 어떤 화면이 메인 진입인지, 무엇이 저장되고 무엇이 다시 연결되는지, 왜 최신성이나 신뢰 같은 단어가 반복되는지 읽기 시작하면, 프로젝트가 어디쯤 와 있는지 훨씬 잘 보입니다.

특히 바이브코딩을 하는 사람에게는 이 구간이 더 빨리 찾아옵니다. AI가 코드를 빠르게 만들어주면, 초기 화면과 기능은 예상보다 빨리 붙습니다. 대신 그다음부터는 “무엇을 더 넣을까”보다 “지금 있는 걸 어떤 기준으로 묶을까”가 더 어려워집니다. 이번 프로젝트가 보여주는 것도 바로 그 지점입니다.

  • 내 프로젝트에는 지금 어떤 화면이 실제 중심축인가
  • 이번 단계가 끝났다고 부를 기준이 따로 있는가
  • 다음 단계는 새 기능 추가인지, 아니면 계약과 검증 정리인지
  • 사용자가 결과를 믿을 수 있게 어떤 표시를 붙이고 있는가

이 네 가지 질문만 자주 던져도, 프로젝트를 보는 눈이 꽤 달라집니다. “코드가 몇 줄 늘었나”보다 “지금 무엇이 고정됐고 무엇이 아직 열려 있나”를 보게 되기 때문입니다.


마무리

완전히 끝난 결과물이라기보다 운영 가능한 버전이 나온 뒤 다음 단계를 준비하는 상태에 더 가깝습니다. 핵심 화면과 흐름은 이미 꽤 분명합니다. 하지만 동시에 다음 단계의 계약, 신뢰 표시, 초안 흐름, 검증 기준이 계속 정리되고 있다는 점에서, 프로젝트는 여전히 현재진행형입니다.

이건 오히려 좋은 신호에 가깝습니다. 실제 제품은 대개 이런 식으로 자라기 때문입니다. 먼저 쓸 수 있는 단면이 나오고, 그다음에 경계를 고정하고, 그 위에 더 많은 기능과 운영 기준을 쌓습니다. 그래서 지금 이 프로젝트를 볼 때 중요한 건 “얼마나 많이 만들었나”보다 다음 변화를 얼마나 덜 흔들리게 받을 준비를 하고 있나에 있습니다.