tech

비개발자 디자이너가 AI로 사내 업무 툴을 만들기까지. SD Archive 개발기

AI MeetUP이 만든 첫 번째 도전

나는 코딩의 ‘코’ 자도 모르는 비개발자 디자이너다. 하지만 바이브 코딩이 새로운 개발 방식으로 자리 잡고, AI 활용 능력이 점점 중요해지고 있다는 것은 실감하고 있다. 그래서 AI를 배울 수 있는 팀 스터디와 AI ART CAMP 등에 꾸준히 참여했고, 이번에는 조직문화팀이 주최한 AI MeetUP에도 참가하게 됐다.

AI MeetUP에서는 마스터인 조지훈 차석님의 지도 아래 Google AI Studio를 활용해 원하는 툴을 자유롭게 구현하는 시간을 가졌다. 게임부터 개인 프로젝트, 실무를 돕는 툴까지 자유롭게 만들 수 있었다. 나는 기왕 만드는 거라면 실제 업무에도 활용할 수 있는 서비스를 만들어 보고 싶었다.

우선 업무 과정에서 실제로 체감하고 있는 불편점을 찾는 것부터 시작했다. 문득 과장님이 디자인 작업물의 출처나 작업자를 물어보실 때마다 히스토리 파악을 위해 그룹웨어, 파일서버, 메신저 등 이곳저곳을 헤매던 기억이 났다. 그 경험에서 착안한 질문이었다. “작업물을 찾는 시간을 AI로 단축할 수는 없을까?”

현재 이미지 백업 방식은 이렇다. 작업이 완료된 결과물은 개인 PC에 개별적으로 저장되고, NAS에는 PSD 원본만 올라간다. 필요한 이미지를 다시 찾으려면 작업일자 기억에 의존하거나 그룹웨어, NAS를 직접 뒤져야 한다. 작업물이 쌓일수록 검색 난이도는 올라가고, 작업 맥락을 파악하기도 어려워진다. 디자인 작업물은 계속해서 쌓이지만 그것들을 모아두는 통합 인프라가 없어 자산이 파편화되어 있고, 이로 인해 효율적으로 검색하기 힘들다는 것이 핵심 문제였다.

불편점을 바탕으로 해결 방향을 모색했다. 밋업 과제 한정으로 제미나이 API 키가 제공됐기에 이를 활용하기로 했다. 완료된 JPG를 업로드하면 AI가 이미지 내용을 분석해 카테고리·태그·용도를 자동으로 분류하고, NAS에 올라간 PSD 경로까지 함께 기록해두는 것. 그리고 이렇게 쌓인 디자인 작업물 데이터가 갤러리 형태로 바로 나타나는 시스템을 구상했다.

이 서비스가 실제로 도입된다면 과거 작업물을 찾는 시간을 줄이고, 비슷한 디자인을 빠르게 참고하며, 중복 작업도 줄일 수 있다. 무엇보다 개인 PC에 흩어져 있던 디자인 히스토리를 팀의 자산으로 축적할 수 있다는 점이 가장 큰 장점이었다.

물론 고민도 있었다. 대외비 이미지를 업로드하는 만큼 보안은 어떻게 할지, AI가 생성하는 태그의 정확도는 충분할지, 사내 구글 계정과 연동은 가능한지 등 확인해야 할 부분이 적지 않았다.

지금 생각해 보면 처음 도전하기에는 꽤 큰 프로젝트였다. 그래도 ‘부딪혀 보면서 하나씩 해결하면 되겠지.’라는 마음으로 SD Archive 개발을 시작했다.

SD Archive는 어떻게 사용할까?

🚀

SD Archive 바로가기

사내 구글 계정으로 로그인하여 이용할 수 있습니다.

사용 방법은 단순하다. @com2us.com 계정으로 로그인하면 바로 아카이브에 접속할 수 있다. 메인 화면에서는 등록된 에셋이 카드 형태로 정리되어 어떤 게임의 작업물인지, 어떤 용도로 제작됐는지 한눈에 확인할 수 있다.

새로운 에셋을 등록하는 과정도 어렵지 않다. 이미지를 업로드하면 Google Gemini가 이미지를 분석해 설명과 태그를 자동으로 제안한다. 담당자는 AI가 생성한 내용을 검토하고 필요한 부분만 수정하면 된다. 여기에 게임명, 용도(UA·프로모션·SNS·운영 배너 등), 작업자, 작업일, PSD 경로 등의 메타데이터를 함께 입력하면 그대로 검색 데이터로 활용된다. 덕분에 시간이 지나도 원하는 작업물을 훨씬 쉽게 찾을 수 있다.

또 하나의 핵심 기능은 시맨틱 검색(Semantic Search)이다. 기존에는 파일명이나 태그를 정확히 기억해야 원하는 작업물을 찾을 수 있었다. 하지만 SD Archive에서는 AI가 이미지의 의미를 이해해 가장 관련성이 높은 작업물을 찾아준다. 파일명을 몰라도 “여름 이벤트”, “어두운 분위기”처럼 자연어로 검색하면 의미가 비슷한 에셋을 추천해 준다.

이 기능을 위해 이미지를 3,072차원의 벡터로 변환하는 고해상도 임베딩(Gemini) 모델을 적용했고, 변환된 벡터 데이터를 저장하기 위해 벡터 전용 DB인 Pinecone을 연동했다. 등록된 에셋 목록은 CSV 형태로 내보낼 수도 있어 문서화 작업에도 바로 활용할 수 있다.

유저 권한도 구분했다. 관리자는 에셋 등록·수정·삭제가 가능하고, 뷰어는 검색과 조회만 가능하도록 설계했다.

포토샵 대신 터미널을 켜다

프로젝트가 늘어날수록 디자인 에셋도 빠르게 쌓였고, 막상 예전 작업물을 다시 찾으려면 파일 서버와 메신저를 뒤지고 작업자를 기억에 의존해야 하는 경우가 많았다. SD Archive는 이런 반복적인 검색 과정을 줄이고, 필요한 작업물을 더 쉽게 찾기 위해 시작한 프로젝트였다.

기획을 마쳤으니 이제 화면으로 옮겨야 했다. 기획서에 정리한 내용을 바탕으로 Google Stitch에서 화면을 구성하고, Google AI Studio에서 프로토타입을 구현했다. 이후 Claude Code를 활용해 UI를 다듬고 필요한 기능을 하나씩 추가했다. 오류를 수정하고 기능을 보완하는 과정을 반복하며 조금씩 서비스를 완성해 나갔다. 테스트용 이미지를 몇 장 등록해 보니 직접 만든 서비스가 실제로 동작하는 모습을 보는 것만으로도 꽤 뿌듯했다.

하지만 개발은 생각처럼 쉽지 않았다. 업로드한 이미지를 구글 드라이브에 자동으로 백업하도록 구현했는데, Gemini에게 수십 번 코드 수정을 요청했지만 똑같은 오류가 반복됐다.

원인은 코드가 아니었다. 알고 보니 이는 GCP 콘솔 권한 문제였다. 회사 GCP 환경에서는 워크스페이스 관리자 권한 설정이 필요했고, 서비스 계정 방식으로는 사내 공유 드라이브에 파일을 저장할 수 없었다.

결국 사용자 계정으로 직접 인증하는 OAuth 2.0 방식으로 구조를 변경한 뒤에야 문제를 해결할 수 있었다. 관련 지식이 조금이라도 있었더라면 금방 해결했을 문제였지만, 당시에는 무엇이 문제인지조차 몰라 막막했던 순간이 많았다. 사내에서 함께 사용하는 서비스를 만들기 위해서는 코드뿐 아니라 권한과 보안, 운영 환경까지 함께 고려해야 한다는 사실도 배웠다.

하지만 진짜 시련은 상용 서버 배포라는 벽에서 시작됐다. 처음 다뤄보는 VDI와 VPN, 서버 접속, 그리고 이중 삼중의 비밀번호가 앞길을 막아섰다. 리눅스 자체가 처음이다 보니 터미널 명령어를 복사·붙여넣기 하는 것만으로도 머리가 지끈거렸다.

이 과정에서는 인프라관리팀의 도움을 정말 많이 받았다. 덕분에 소스 코드를 무사히 서버에 배포할 수 있었고, 서비스가 정상적으로 동작하는 모습을 확인했을 때는 그동안 고생한 시간이 아깝지 않을 만큼 뿌듯했다.

돌아보며: 디자이너의 일은 어디까지일까?

SD Archive는 이제 개인 프로젝트를 넘어 사내 리눅스 서버에서 운영되는 서비스가 됐다. 이번 프로젝트를 통해 AI를 활용하면 직무의 경계를 넘어 새로운 도전을 할 수 있다는 가능성을 확인할 수 있었다.

처음 AI MeetUP에 참여했을 때는 AI를 활용해 직접 서비스를 만들어 보는 것 자체가 목표였다. 하지만 기획서를 화면으로 옮기고, 오류를 해결하고, 서비스를 서버에 배포하는 과정을 거치면서 업무를 바라보는 관점도 조금씩 달라졌다.

예전에는 디자인 영역에 갇힌 고민이 대부분이었지만, 이제는 그 고민이 데이터 구조, 검색 로직, 권한 설계까지 하나의 프로젝트 단위로 자연스럽게 확장되는 경험을 할 수 있었다. 

나는 여전히 디자인 업무를 하고 있고, 비개발자라는 사실은 변하지 않았다. 다만 개발의 영역과 디자인의 영역을 더는 딱 나누어 생각하지는 않게 됐다. 만들고 싶은 것이 있다면 그 사이의 간극을 AI와 함께 하나씩 채워나가면 된다는 것, 이것이 SD Archive로 얻은 가장 큰 깨달음이 아닐까 한다. 앞으로도 업무 속 작은 불편을 그냥 지나치기보다 직접 만들어 보고, 부족한 부분은 하나씩 배우며 채워갈 생각이다.

디유 기자

AI 코딩 툴을 활용한다면 정말 누구든 가능하다. 이 글을 읽는 사우 분들도 업무 속 불편함을 가만히 두지 않기를 바란다. 작은 아이디어가 회사의 다음 핵심 툴이 될지도!


TOP