아내를 위한 오름 깨기 앱 개발 연재
빠르게 프로토타입이 만들어진다고 해서 모든 것이 좋은 것만은 아닙니다.
'야, 이게 되네'와 같은 바이브는 약간 다른 파장으로 사용자에게도 전해집니다. 어느새 아내가 보내는 문자 메시지는 요구사항과 오류 수정 요청으로 점철되었습니다.
필드에서 코딩을 안 한 것이 무려 14년인데, 코딩 에이전트가 만들어준 프로토타입 덕분에 졸지에 서비스 데스크에 딱 붙어 있는 전담 개발자가 된 기분을 느낄 수 있었습니다. 하지만, 이 바이브를 멈추고 싶지는 않았기 때문에 진도는 나가되 '지속 가능한 방법'은 계속 생각하고 있었죠.
그래서 업무용 협업 도구를 집안일(?)에 도입하기로 했습니다. 업무 이름은 '오름 깨기 말 나온 김에 시작'입니다. 과거 경험을 템플릿 삼아서 108번 일단 해 보기로 마음먹은 것이죠.
일단 노트북을 닫으면 서버가 내려가는 문제부터 해결하기 위해 클라우드에서 서버를 구입했습니다. 리눅스 설정은 2000년 이후에 거의 해 본 적이 없는데, 20년이 넘는 공백은 인공지능과 함께라서 아무런 문제가 되지 않았습니다.
트러블슈팅이 필요한 지점은 그런 것들이 아니라 돈을 아끼려고 AWS 대신에 국산 서비스를 썼더니 웹 화면의 버전이 여러 개라 조금 헤맨 것이죠. 아무튼 서버 구성을 마치고 배포 환경까지 구성하는데 반나절도 안 걸리더군요.
놀라운 것은 보편적인 지식은 LLM이 다 갖고 있기 때문에 보안 설정 같은 것은 평균 수준으로 그냥 해 주는 것이죠. 접근 로그 보는 것을 좋아하기 때문에 그것도 해 달라고 했더니 모르던 솔루션도 소개받습니다.
그 과정에서 지식을 받아들이는 습관로 <언러닝>됩니다. 예전에는 그게 뭔지 대강을 알고 선택을 했는데, 지금은 설치하고 나서 '그런데 지금 내가 보고 있는 건 뭐지'라고 묻는 식의 학습 '바이브'를 타 버렸습니다.
내친김에 아키텍처도 변경하고, 로그인 기능을 넣으면서 패스워드 없는 Passkey 방식을 도입하기로 합니다.
회사 일이 아니라 리스크가 없는 탓도 있지만 바이브를 타며 느낀 것은 내가 하고자 하는 일이 분명하다면 '다시 시키면 된다'라는 믿음이 생기니 과감해집니다.
결과 확인을 하느라 우마미(うま味) 화면을 보니 보안 필요성을 다시 한번 깨닫습니다. 아내랑 저 말고는 아무도 모르는 상황에서 찾아오는 외쿡인(?)들이 있었습니다.(아마, bot 이겠죠?)
아내가 쓸 만하다고 느낀 다음에는 애정을 담기 시작했습니다. 오름 이름이 틀린 것을 찾아 저에게 모두 알려 주었습니다. 개발자(?)인 저 역시 아내가 쓰려는 모습을 보이자 등반 기록은 여러 날이 되어야 하는 것 아니냐고 제안했습니다. 아내는 동의하지만, 역설적으로 결혼 전에 웹 기획을 했던 터라 마치 자신이 해야 할 것 같았던 모양인지 귀찮아했습니다.
그래서 V0라는 최근에 배운 툴을 꺼냈습니다. 몇 줄 타이핑만으로 훌륭한 결과를 주니까요. 다만, V0가 만든 코드는 쓰고 싶지 않아서 그 화면을 덤프 해서 클로드 코드에 줍니다.
개발자만 알아듣는 말이지만 Call by Value 하는 묘한 기분이 들었죠. 클로드 코드는 멀티 모달이니까 알아서 번역을 하는구나 싶기도 하고요.
아내랑 같이 오름을 다니는 절친들이 사용자로 들어왔습니다. 그 과정에서 passkey 사용이 낯선 것인지 아니면, 클로드 코드가 모르는 시나리오로 들어오며 문제가 생긴 것인지 (저 빼고) 네 번째 사용자 초대 과정에서 문제가 생겼습니다.
아내 제보 과정에서 발견한 카톡에서 링크를 여는 부분에서 착안하여 초대 대신 카카오톡으로 소셜 로그인을 하기로 했습니다. 인공지능이 없던 시절이라면 카카오톡 개발센터 페이지를 보며 한참 공부를 했어야 했는데(실제로 2020년 저희 동료가 겪은 일) 이제는 클로드 코드가 알려준 방법에 따라 어렵지 않게 설정하고 해당 기능을 개통할 수 있었습니다.
개통이라 표현한 것은 개발과 배포는 전부 클로드 코드가 맡으니 저는 카카오 페이지에 가서 키를 받아 전달하고, 필수 설정 값을 세팅한 다음에 클로드 코드에 전하기만 하면 되었기 때문입니다 이건 뭐 핸드폰 개설하는 일과 비슷해서. 아무튼 혼자서 타던 바이브가 순식간에 아내를 넘어서 동네 이웃들과 함께 하는 바이브로 커졌습니다.