‘새김’ 서비스 개발

새김은 책이나 콘텐츠를 보다가 인상적인 문장을 만나면, 해당 문장을 기록하고 공유하는 서비스다. 인스타그램 게시물을 만들듯 문장 카드를 꾸며 올리고, 다른 사람이 작성한 문장을 탐색하다 마음에 드는 글을 발견하면 내 서랍에 보관해 놓는 기능을 제공한다.

새김 바로가기

새김 홈 화면

새김 둘러보기 화면

문장 상세 화면

이번 프로젝트는 주말 이틀 동안 빠르게 개발하는 것을 목표로 했다. 첫날에는 기획과 디자인부터 작업 했다.

지금껏 AI로 프로젝트를 개발 해봤던 경험상, 프로토타입 없이 바로 구현을 시작하면 이미 기능까지 붙은 UI를 보며 기획·디자인을 다시 하게 된다. 이떄 작업을 되돌리고 재작업 하느라 시간과 토큰이 꽤 많이 낭비 됐던 경험이 있다. 그래서 이번에는 어느 정도 밑그림을 그린 뒤 개발을 시작했다.

처음에는 현재 팀에서 운영중인 AI 문장 교정 서비스의 유저 유입을 늘릴 수 있는 사이드 프로젝트를 생각하였다. 하지만 사내 서비스와 잘 연동되고, 시너지를 낼 만한 아이디어를 찾기 어려웠고, 아이디에이션 과정에 나온 새김 서비스를 만들기로 하였다.

AI 작업 분배

AI 개발에서는 컨텍스트 관리가 필수적이다. 여러 AI 대화 세션을 소규모 스타트업 팀을 조직하듯 역할별로 나눴다.

  • 기획·디자인: 3개 세션
  • 프론트엔드 앱 베이스: 2개 세션
  • 백엔드: 2개 세션
  • 인프라 구축 내부/외부 서비스 연동: 2개 세션

장비 간 병렬 작업을 위한 Tailscale 개발 환경

나는 개발 장비로 맥북, 맥 미니, 홈 서버를 갖고 있다. 각각의 장비에서 기획, FE, BE, 인프라 작업을 흐름의 끊김 없이 작업하기 위해, Tailscale 로 VPN 을 구축했다. 메인 장비인 맥북에서 맥 미니와 홈 서버 장비에 접속하고, SSH 및 원격 화면 제어로 작업하는 편이다.

집에서 작업하다보면 책상 앞에서만 하진 않게 되고, 거실, 방 등을 오가며 작업하는 걸 즐기는 편이다. 한 장소에서만 하면 지루하기도 하고, 중간 중간 생각정리 겸 자리를 이동하는 편이다.

AI 개발 시대에서, 작업 병목은 사람이라고 했다. 프로젝트 개발을 집중적으로 할 때, AI 코딩을 대화 세션이 쉬지 않게 최대한 병렬적으로 작업하려 한다. 이제는 확실히 작업자에서 지휘자로 개발자의 역할이 점점 바뀌어 가는 것 같다.

flowchart LR
    MAIN["M1 MacBook"] --- TS["Tailscale 사설망"]
    MINI["Mac mini"] --- TS
    HOME["N100 홈 서버"] --- TS

    HOME --> K3S["k3s"]
    K3S --> APP["Next.js + NestJS"]
    WEB["saegim.chuz.dev"] --> CF["Cloudflare Tunnel"]
    CF --> APP

마무리

AI 코딩과 개발 환경을 잘 세팅하면 1인 개발자도 소규모 스타트업처럼 동작할 수 있게 되었다. 이전엔 개발하면서 논리적인 로직 고민을 많이 했다면, 이제는 시스템 전체적인 그림을 더 그리는 것 같다.

멀티테스킹 능력이 중요해진 느낌. 멀티테스킹 하되, 이슈 발생하지 않도록.

나는 전략 시뮬레이션 게임을 좋아하는데, 요즘 AI로 작업하고 있으면 일을 조율하고 전략을 구상하는 게, 게임과 닮아 있어 꽤 재미있다. 뭔가 게임 할 때 쓰는 두뇌가 활성화 된 느낌이 들기도 한다. 😅