안녕하세요!
간간이 클리앙에 옵시디언 관련된 포스팅을 한번씩 하는데 이번에는 옵시디언 플러그인 스토어에 자작 플러그인 세 가지 등록을 기념해 그동안의 바이브 코딩과 관련해 간단히 소회를 남겨봅니다.
옵시디언은 마크다운 기반의 노트 앱인데 자유도가 높고, 확장성이 뛰어나서 외부 도구들과 연동이 잘 되는 편인입니다. 이전에는 이런 자유도가 커다란 진입장벽으로 작용해서 입문만 하다가 끝나는 경우가 많았는데요.
AI 등장 이전에도 훌륭한 도구였지만 최근 들어서는 옵시디언을 일종의 지식 허브로 이용하고, 해당 지식 허브를 기반으로 AI와 질의를 하면서 사용하는 분들이 많아졌습니다.
옵시디언은 작년에 깃헙에 올라가 있는 정적 블로그(Jekyll)를 잘 활용해 보고자 사실 사용을 시작했습니다. 하지만 블로그 글을 쓰다 보니 한국어 맞춤법 검사기가 있었으면 해서 맞춤법 검사기 플러그인을 만들었습니다. 기존 커뮤니티 플러그인에 다른 한글 맞춤법 검사기 플러그인이 있었으나 당시 제가 사용하려니 안되더라고요. 없으면 만들어 쓰지라는 생각으로 용감하게 덤볐습니다.
결과물이 나쁘지 않은 것 같습니다. AI와 함께 초반에 만든 프로젝트라 약간의 조잡함이 있으나 될 건 다되더군요. 다른 분들도 유용하게 쓰셨으면 하는 마음에 커뮤니티 스토어에 올리기 위해 신청을 이때 해뒀고요.
옵시디언 팀은 약 7명 정도인데 당시 플러그인 심사 대기가 많이 있다는 정도로 들었으나 얼마나 걸리는 지 등은 정확한 정보나 안내가 없어 몰랐는데요. 거의 초기 심사 결과를 받는 데도 시간이 꽤 걸렸습니다. 처음에 제출을 하게 되면 일종의 봇이 코드를 스캔해서 옵시디언의 문법에 맞게 작성이 되었는지 확인해 줍니다. 봇의 코멘트들을 어느 정도 해결을 해야만 사람으로부터 피드백을 받고, 피드백을 받는 과정이 끝나면 승인되는 구조였습니다.
작년 하반기부터 바이브 코딩의 인기가 치솟으면서 옵시디언 팀에서도 플러그인이 기하급수적으로 늘게 되었고, 계속해서 심사가 적체되어 갔던 거죠. 제가 제출한 게 작년 7월쯤인데 사람한테 리뷰 한 번 받는데 한 달 이상이 걸렸고, 그 리뷰를 완료해서 추가적인 피드백을 받는 데 또 한 달이 걸리고 이런 식입니다.
이때부터는 공식 스토어에 등록은 언제 될지 모른다는 생각으로 마음을 내려놓았고, 그냥 관심 있는 분들은 번거롭지만 깃헙 주소를 등록하면 업데이트해 주는 BRAT이라는 플러그인을 설치하면 되는 방식이라 그 방식으로 우선 공유를 했습니다.
두 번째 플러그인은 네이버 블로그로 글을 써오던 와이프의 글을 제가 쓰는 방식으로 쓰게 해주려고 만들게 되었습니다. 열심히 만들었으나 와이프는 육아와 업무로 결국 블로그 이사를 못 하게 되었네요. 해당 플러그인을 만들기 위해서 기존에 네이버 블로그를 웹 스크레이핑 하는 오픈소스를 몇 가지 참고했습니다. 대부분 파이선으로 되어 있었는데 옵시디언은 타입스크립트 기반이라서 이식해 오는 데 약간 애를 먹었습니다.
아래 데모 영상은 예전 거니까 참고만 해주세요…. ㅎㅎ
블로그 글을 가져오는 게 가능해지니까, 네이버 카페 글도 가져와지는 게 되었으면 좋겠고, 카카오 브런치 글도 가져오는 게 되었으면 해서 그래도 아주 천천히 기능이 조금씩 더 추가되었습니다. 심지어 특정 블로그 주소를 등록하면 옵시디언을 켜면 글을 받아오는 기능도 넣고 말이죠.
하지만 두 번째 플러그인을 제출하고, 심사받을 때까지도 첫 번째 플러그인의 심사가 끝나지 않았습니다. 제 부족한 실력 탓으로 생각하고 그냥 한 번씩 심사 결과가 오면 답변하는 방식이었습니다. 옵시디언 담당자가 남긴 피드백은 AI 기반으로 대응하고 답변하는데 충분했는데 또다시 몇 주에서 한 달 이상을 기다려야 했습니다.
이때부터 공식 플러그인 절차에 다소 회의적으로 되었고, 커뮤니티 플러그인 스토어에 큰 의의를 두지 않았습니다. 필요한 분들은 찾아서 쓰시더군요.
플러그인을 몇 개 만들어보고 자신감이 좀 붙었습니다. 이거 나도 하면 되잖아?! 라는 생각으로 호기롭게 [맥용 응용 프로그램](https://korean-grammar.junlim.org/)에 도전하게 됩니다. 맞춤법 검사기 플러그인이 나쁘지 않았으나 뭔가 AI 기능이 자연스럽게 붙었으면 좋겠고, 옵시디언 글 작성의 불편을 해소하고 싶은 생각이 든 거죠.
처음에 무작정 덤비다가 2~3주 투자한 이후에 뭔가가 크게 잘못되었다는 것을 깨닫고, 아예 리빌드하게 됩니다. 리빌딩에도 거의 한 달 정도가 소요되었을 거예요. 어느 정도 버그를 잡고, 쓸 수 있도록 만들 정도로 하고 출시를 하게 됩니다. 이왕 만드는 거 그래도 간단한 결제와 설정 등이 있는 것을 만들어보자고 해서 경험과 고생은 제대로 했죠.
한동안 너무 이거만 만들다 보니 번아웃이 와서 소개 글 몇 개만 쓰고 추가로 알리고 다닐 에너지 조차 소진되어 버렸죠. 교훈을 많이 얻었던 프로젝트입니다. 응용 프로그램이라는 게 이렇게 어려운 것이라는 것을 새삼 느꼈습니다. 기술 스택의 중요성, 코드 리팩터링의 중요성, 빌드와 배포, 결제와 인증 서버 등 많은 것을 찍먹해봤네요. (깨알같이 부산대 맞춤법 검사기를 API 키를 이용해서 쓸 수 있는 기능도 들어있는데 이거 가능한지도 모르는 분들이 많습니다. 부산대 맞춤법 쪽 회사에 직접 문의해서 해당 기능 구현할 수 있었고요. 메일을 보내셔서 개인용 키를 받으면 약 300문장까지도 무료로 쓸 수 있습니다.)
한동안 쳐다도 안 보다가 최근 들어서는 개인적으로 커뮤니티에 올릴 글들을 그래도 해당 툴을 통해서 쓰고 있네요. 그러면서 소소한 것을 아주 간간이 고치고 있는데 그래도 이제 꽤 쓸만해졌네요. 그래도 추천은 못 드립니다.
맥 응용프로그램을 개발하면서 플러그인을 개발하는 게 상대적으로 얼마나 편한 건지 제대로 알게 되었죠. 해당 생태계에서 주어진 API들만 잘 활용해도 기본은 하게 되고, 일종의 안전망이 생긴다는 것을 깨달은 거죠. 그래서 세 번째 플러그인 개발에 들어가게 됩니다.
평소 SNS에서 글을 저장하고 관리하는 게 불편했고, 옵시디언 플러그인으로 만들면 좋겠다고 생각하게 됩니다. SNS들이 각자 저장하기 기능들을 가지고 있는데 해당 SNS에 들어가면 이런 저장 기능은 숨겨져 있고, 검색 및 관리도 불편하게 되어있습니다. SNS로서는 사용자들이 길을 잃고, 새로운 것을 더 많이 봐야 광고도 더 많이 보게 될 테니까요. 추가로 옵시디언 사용자 중에는 데이터 수집광(Data Hoarder) 기질이 있는 사용자들이 꽤 있을 거로 생각했습니다.
그래도 나름대로 경험이 축적되어서 큰 시행착오 없이 개발이 진행되었고, 다음은 초창기 플러그인 모습이에요. 소셜 미디어의 링크만 넣으면 옵시디언 내에서 해당 글에 대한 마크다운 문서와 좋아요 수 등의 메타 데이터 등이 포함되어 생성되도록 하고, 별도의 뷰를 열면 타임라인 형식으로 볼 수 있도록 한 게 특징입니다.
그동안의 경험이 도움이 되었던지, 레딧 등에서 올린 글에서도 반응이 좀 있어서 옵시디언 통해서 글로벌 사용자들을 모을 수 있었고, 플러그인에서 세계관을 확장해서 웹, 모바일앱 등으로 만들어 현재 서비스하고 있습니다.
세 번째 플러그인이 완성되고, 심지어 꽤 완성도 있어서 글로벌 한 사용자들도 있었는데도 옵시디언 커뮤니티 플러그인 스토어의 심사 문턱은 넘지 못하고 있었는데요. 세 번째 플러그인의 심사가 진행되는 중에도 처음에 만들었던 두 개의 플러그인도 여전히 등록을 못 하고 있었습니다. 진짜 너무 하는거 아닌지..

그런데 금일 드디어 모두 등록되었습니다. 큰 의미는 없습니다만 왜 이렇게 갑자기 모두 등록이 되었냐.
인공지능발 플러그인의 범람으로 기존의 심사 플로우로는 감당을 못하던 옵시디언 팀이 새로운 커뮤니티 사이트를 만들었거든요. 그래도 자동화된 스캔으로 통과된 앱은 등록할 수 있도록 변경되었습니다. 이런 걸 만들고 있다고 진작에 말해줬으면 좋았을 텐데 말이죠..ㅎㅎ

약간 허무한 결말이죠?! 그래도 이제는 플러그인을 소개하거나 추천할 때 그냥 앱 내 커뮤니티 스토어에서 검색하셔서 설치하면 된다고 간단히 소개할 수 있어서 기쁘네요.
본 글에 소개하지 않은 2~3가지 정도의 프로젝트가 더 있는데요. 작년 7월쯤부터 시작해서 중간에 약간의 휴식기를 가질 때도 있었지만 끊임없이 뭔가를 진행했던 것 같습니다. 여러 프로젝트를 하면 할수록 개발이라는 게 정말 쉽지 않다는 생각을 많이 하게 되었고, AI가 없던 시절부터 이런 복잡한 개발을 해오던 개발자분들을 더 존경할 수 있게 되었습니다.
바이브 코딩으로 소프트웨어 개발 자체의 접근성이 좋아진 것은 맞지만, 이미 프로젝트를 몇 개 해본 분들은 이미 깨달으셨겠지만 이를 통해 좋은 제품을 만들고, 사용자를 확보하고, 그게 매출까지 연결되는 건 돈 버는 유튜버가 되는 것만큼이나 어렵다는 것을 깨달은 여정이었던 것 같습니다. 바이브 코딩은 프롬프팅만 잘하면 뭔가 다 될 것처럼 얘기하는 분들이 많은데 실제 프로젝트를 완성해 보는 경험보다 중요한 것은 없는 것 같아요. 바이브 코딩으로 만든 제품이나 서비스가 인정을 못 받는 것은 그게 바이브 코딩으로 만들어서가 아니라 서비스나 제품으로서 완성도가 떨어져서라고 봅니다.
바이브 코딩을 시작하면 처음에는 무지 용감해집니다. 말만 하면 AI가 기능을 뚝딱 만들어주고, 어려워 보이던 서비스도 그럴듯하게 만들어내거든요. 딱 80-90% 정도의 퀄리티로 만들어 냅니다. 나쁘진 않은데 뭔가 아쉬운 그런거죠. 그런데 계속 사용하다보면 완성되지 못한 부분들이 발목을 잡습니다. 스스로가 사용하기에도 아쉽고, 남들이 사용하기에는 더욱 애매한 그런거죠. 디자인도 AI 만든 티가 확 나구요. 직접 해보니 그 부족한 완성도를 채우기 위해서는 처음 투자한 시간의 몇 배의 시간(토큰)이 필요합니다. 원래도 잘 만든 서비스나 앱을 좋아했는데 이렇게 서비스를 만들어나가면서 더욱 더 좋아하게 되었습니다.
덧1. 전자책 검색기 (전자책 도서관에서 책 빌리기가 힘들어서 만들었습니다)

덧2. 웹툰 아카이빙&뷰어 (게으른 웹툰 뷰어라 그냥 에피소드들이 구독되어 자동으로 다운로드 되어 볼 수있도록 했습니다. 로컬 도커 기반으로 돌아가며 네트웍은 외부에서 막아뒀습니다.)

간단한 플러그인을 만들어 셀프로 사용중인데, (GPT 결과를 옵시디안 형식으로 포맷팅)
이런 생산성 도구를 입맛대로 AI 통해 만들 수 있는 세상이 참 축복입니다.
첫 80%는 그냥 거져 만들어 지는데, 나머지 20% 완성도를 위한 시간이 생각보다 많이 소요됩니다.
81%부터는 없던 버그가 발생해서 인내와 끈기가 없다면 쉽지 않은 과정 같아요.
이 모든 시간을 녹여낸 완성물 3개는 커다란 산 3개와 같습니다. 그 노력이 그려집니다.
축하 축하요.
그런데 덧1,2가 탐나는데 이건 공유용은 아닌가요?ㅎ
앞으로도 멋진 플러그인 기대하겠습니다 ^^