doksam
혼자 만들고, 직접 배포하고,
계속 돌아가게 둡니다
서버 한 대에 저장소 90개가 올라가 있고, 그걸 혼자 굴립니다. 웹 화면과 API, 계속 떠 있어야 하는 데몬, 데이터를 모으는 파이프라인, 그리고 그것들이 올라가는 서버까지 끊지 않고 이어서 만듭니다.
2005년부터 21년 동안은 남의 시스템을 만들었습니다. 은행 5곳의 프로젝트를 거쳤고, 지금도 은행에서 비대면 채널을 맡고 있습니다. 그 바깥에서는 제가 쓸 것을 만듭니다. 문서 검색, 수집 파이프라인, 외부로 못 보내는 데이터를 위한 LLM — 전부 직접 쓰려고 만들어서 지금도 돌아가고 있습니다.
서버 한 대가 이렇게 생겼습니다
개발이 끝나도 남는 일이 있습니다. 올려야 하고, 도메인과 인증서를 붙여야 하고, 죽으면 누군가 알아야 하고, 다음 달에 고칠 사람이 있어야 합니다. 그 구간이 프론트·백엔드·인프라로 쪼개지면 사이의 빈틈은 대개 의뢰한 쪽이 메웁니다. 저는 그 구간을 나누지 않습니다.
- TypeScript
- 19
- 셸
- 15
- JavaScript
- 14
- Go
- 10
- 언어 미검출
- 12
- 그 외
- 20
언어는 역할로 갈립니다. 웹은 TypeScript, 계속 떠 있어야 하는 데몬은 Go, 데이터와 AI 는 Python, 서버 운영 자동화는 셸. 저장소를 혼자 90개 굴리다 보니 이렇게 수렴했습니다.
Python 은 주 언어인 저장소가 2개이고, 나머지 18개 저장소에서는 다른 언어와 섞여 쓰입니다. 문서와 설정만 있어 언어가 잡히지 않는 저장소도 12개 있습니다.
만든 것
전체 보기문서 RAG 검색 시스템
운영 중올리면 색인되고, 물으면 근거와 함께 답하는 문서 검색
TypeScript · PostgreSQL · 임베딩 모델 · 컨테이너
증권사 API 트레이딩 자동화
운영 중시세 수집부터 주문·리포트까지 사람 손 없이 도는 파이프라인
Go · PostgreSQL · 스케줄러 · 메신저 알림
셀프호스팅 LLM 인프라
운영 중자체 GPU 서버에서 오픈소스 모델을 서빙하는 내부 전용 LLM
오픈소스 LLM · GPU 2장 · OpenAI 호환 API · 컨테이너
의뢰처와 내부 주소는 적지 않아 일반화해 소개합니다. 각 사례에는 검증하지 않은 범위도 함께 적어 두었습니다.
맡길 수 있는 일
- 사내 문서 검색·질의응답
- 규정집·매뉴얼·회의록이 형식별로 흩어져 있어, 아는 사람에게 물어봐야만 답이 나오는 상태.
- 문서를 올리면 자동으로 변환·색인되고, 평소 말투로 물으면 근거 문서와 함께 답하는 검색 화면이 생깁니다.
- 실제로 만든 것 보기
- 반복 업무 자동화
- 매일 같은 화면을 열어 확인하고, 옮겨 적고, 보고서를 만드는 일이 사람 손에 남아 있는 상태.
- 정해진 시각에 스스로 돌고, 결과를 메신저로 보고하고, 실패하면 먼저 알리는 파이프라인이 생깁니다.
- 실제로 만든 것 보기
- 외부로 못 보내는 데이터용 LLM
- AI 를 쓰고는 싶은데 자료를 외부 API 로 보낼 수 없는 상태.
- 자체 서버에 오픈소스 모델을 올려, 외부 API 를 호출하지 않고 내부에서만 도는 챗과 API 를 씁니다.
- 실제로 만든 것 보기
- AI 에이전트가 사내 시스템을 쓰게 만들기
- 챗봇은 붙였는데 내부 DB·이슈·모니터링을 못 봐서 결국 사람이 다시 조회하는 상태.
- 권한과 기록을 갖춘 도구 서버가 생겨, 에이전트가 내부 시스템을 직접 조회합니다.
- 실제로 만든 것 보기
- 웹 서비스 구축과 서버 운영
- 서비스는 필요한데 만들 사람도, 만든 뒤 굴릴 사람도 정해지지 않은 상태.
- 화면부터 API·DB·배포까지 한 번에 세우고, 지표 대시보드와 장애 알림까지 붙여 넘깁니다.
- 실제로 만든 것 보기
맞는 일 — 만들고 끝이 아니라, 올려두고 운영까지 맡길 사람이 필요할 때, 외부 API 로 보낼 수 없는 데이터를 LLM 으로 다뤄야 할 때, 사람이 매일 반복하는 수집·확인·보고를 자동으로 돌리고 싶을 때.
맞지 않는 일 — 여러 명이 동시에 투입되는 규모가 처음부터 전제인 프로젝트, 화면 디자인 시안 제작 자체가 결과물의 핵심인 일. 맞지 않으면 맞지 않는다고 먼저 말씀드립니다.
쓴 글
전체 보기Claude Code 실전 가이드 1편 — 시작하기와 CLAUDE.md
설치와 첫 세션, 그리고 프로젝트 규칙을 CLAUDE.md 로 주입해서 반복 지시를 없애는 법
Claude Code 실전 가이드 2편 — 컨텍스트를 다루는 기술
컨텍스트 창은 무한하지 않다는 전제로 파일 덤프 대신 grep 과 서브에이전트 위임, 파일 경유 출력, /clear 규율을 실전에서 정리했습니다
Claude Code 실전 가이드 3편 — 서브에이전트와 병렬 처리
언제 쪼개고 언제 순차로 둘지, 에이전트 종류와 모델 티어를 어떻게 나눠 쓸지, 그리고 worktree 로 작업 경계를 긋는 규칙까지 정리했습니다
무엇을 만들지 정하지 않았어도 됩니다
지금 무엇이 막혀 있는지만 알려주시면, 만들 수 있는 것과 만들 수 없는 것을 먼저 구분해서 회신드립니다.
의뢰처 이름과 내부 주소·자격증명은 적지 않습니다. 사례도 특정 저장소를 지목하지 않고 일반화해 설명합니다. 대신 개수와 구성, 쓰는 언어, 만든 것이 어떻게 동작하는지는 그대로 적습니다. 저장소 수와 언어별 개수는 제가 직접 운영하는 GitLab 에서 2026-08-16 에 집계한 값입니다.