
부품닷컴
문제일반 쇼핑몰의 상품 한 행만으로는 부품 규격과 제조사별 카탈로그를 표현하기 어렵습니다.
- 맡은 범위
- 영카트 4→5 이관·개편 · 상품·부품·규격 데이터 관리 · 입점사 상품·CSV 일괄 처리
- 확인한 결과
- 다중 상품 CSV 등록·수정과 견적→주문 전환
2013년부터 디자인
“대충 이런 느낌인데 가능할까요?”
기획이 없으면 구조를 짭니다. 화면이 없으면 그립니다. 기능이 필요하면 개발하고, 관리자가 필요하면 붙이고, 서버에 올립니다.
저는 서비스가 끝까지 돌아가도록 필요한 일을 합니다.
직함은 중요하지 않습니다. 아이디어가 서비스가 되는 마지막 순간까지 남아 있는 사람. 그게 제 역할입니다.
대표 사례

문제일반 쇼핑몰의 상품 한 행만으로는 부품 규격과 제조사별 카탈로그를 표현하기 어렵습니다.

문제발주처의 요구사항은 엑셀·한글파일·PPT에 흩어져 있었고, 서로 어긋나는 부분이 있었습니다.

문제촬영 예산도 스튜디오도 없었습니다.
전체 사례
18개 사례 중 6개 표시
일부는 납품 후 클라이언트가 직접 운영하며 내용이 바뀌었을 수 있습니다.
디자인 작업물
로고, 카탈로그, 포스터, 현수막, 상세페이지, 웹 시안. 2016년 이후 아카이브에서 골랐습니다.
일하는 방식과 기록
맡기면 줄어드는 것
기획 · 디자인 · 개발 3곳1명
시안을 그린 사람이 마크업하고 프론트까지 만듭니다. 사이에서 새는 시간과 오해가 없습니다.
수정 요청 반복두 안 중 선택
결정권자가 여러 명인 곳에는 처음부터 두 방향을 냅니다. 고르는 일이 되지, 고치는 일이 되지 않습니다.
문구 하나에 개발자 호출운영자가 직접 수정
유지보수 요청의 대부분은 버그가 아니라 문구 수정이었습니다. 그래서 관리자를 그쪽에 맞춰 만듭니다.
일하는 방식
프로젝트마다 기술은 달라졌지만, 순서는 한 번도 바뀌지 않았습니다.
기획서는 없습니다.
대신 아이디어 하나는 있습니다.
말로 된 이야기를 구조로 옮기고,
구조를 화면으로 옮깁니다.
디자인, 코드, 관리자, 서버.
필요한 순서대로 하나씩 붙입니다.
1년 뒤에 제가 다시 열어봐도 이해되게 만듭니다.
그 정도면 남이 이어받아도 됩니다.
기획서가 완벽한 프로젝트는 거의 없었습니다.
엑셀, PPT, 카톡, 통화 내용까지 모아서 무엇을 만들지 먼저 정리합니다.
모르는 것은 추측하지 않고 확인합니다.
시안을 그린 사람이 그대로 마크업하고, 프론트까지 만듭니다.
넘기는 단계가 없으니 “시안이랑 다른데요”라는 말이 나오지 않습니다.
API 키는 앱에 넣지 않고 서버에만 둡니다.
나중에 갈아끼울 부분은 미리 인터페이스로 잘라 둡니다.
만드는 기간보다 쓰는 기간이 훨씬 깁니다.
제가 만든 기능이라고 그냥 두지 않습니다.
2주 써보고 안 쓰는 기능은 뺍니다.
많이 만드는 것보다 안 쓰는 걸 아는 게 어렵습니다.
AX · 업무 전환
자동화는 마지막에 옵니다. 사람이 판단으로 메우던 자리를 먼저 규칙으로 바꾸고, 그 규칙이 맞는지 검증할 수 있게 만든 다음에야 도구를 붙입니다. 그래야 도구를 만든 사람이 빠져도 그 일이 계속 돌아갑니다.
판매 채널이 늘자 같은 상품의 옵션과 가격이 채널마다 갈라졌습니다. 어느 값이 맞는지 확인하려면 사람이 화면을 하나씩 열어 눈으로 대조해야 했습니다.
표기가 채널마다 달라 동일 상품인지 판별하는 것부터 문제였습니다. 옵션값 조합을 시그니처로 정규화해, 비로소 기계가 대조할 수 있는 단위를 만들었습니다.
원시 옵션코드 41,067행 → 고유 옵션축 11,444건
판매가가 담당자에 따라 갈라지던 부분을 문서화된 산정규칙으로 구조화했습니다. 사람이 매번 결정하던 것을 규칙이 결정하게 만드는 일입니다.
진단과 교정 계획 생성을 실행에서 분리했습니다. 무엇을 왜 바꾸는지 먼저 산출해 확인을 거친 뒤에 실행합니다. 자동화가 조용히 틀리는 상황을 막기 위해서입니다.
이관 후 재대조 미등록 축 0건
자동화 도구를 실행 파일로 배포해, 비개발자 운영자가 개발자를 거치지 않고 직접 등록과 가격 수정을 수행합니다.
제가 계속 붙들고 있어야 하는 도구는 전환이 아니라 새로운 병목입니다. 넘길 수 있는 형태로 만드는 것까지가 이 일의 범위라고 봅니다.
PyInstaller 패키징 · 운영자 직접 실행
AI 에이전트에게 코드베이스를 넘기기 전에 네이밍·CSS 변수·브레이크포인트·금지사항·문서 갱신 절차를 먼저 정의합니다. 속도만 가져오고 품질 기준을 잃지 않기 위해서입니다.
여기 적은 숫자는 실제 산출물에서 나온 것만 씁니다. 검증하지 못한 절감률이나 ROI는 적지 않았습니다.
205곳, 그리고 세지 못한 것들
사이트 하나만 만든 곳도, 몇 년째 같이 고치는 곳도 있습니다.
205는 지금 파일이 남아 있는 것만 센 숫자입니다. 초기 작업은 저장하지 않은 것이 더 많습니다.
업종은 제각각인데 막히는 지점은 거의 같았습니다.
관리자가 불편하다. 기능은 많은데 못 쓰겠다.
그래서 어느 순간부터 기능보다 구조를 먼저 보게 됐습니다.
분야
클라이언트 실명은 공개하지 않습니다. 업종 분류는 남아 있는 아카이브를 기준으로 직접 나눈 대략적인 구분입니다.
일을 하면서 자주 확인한 것들
유지보수 요청의 대부분은 버그보다 “문구 하나만 바꿔 주세요.”였습니다.
그래서 관리자는 개발자가 아니라 운영자가 쓰기 쉽게 만드는 쪽으로 계속 바뀌었습니다.
공공기관이나 협회는 결정권자가 여러 명입니다.
한 개를 올리면 수정 요청이 오고, 두 개를 올리면 결정이 옵니다.
그누보드, 영카트, 오래된 PHP 프로젝트를 많이 이어받았습니다.
구조를 이해하기 전에 수정하면 대부분 다른 곳에서 문제가 생겼습니다.
그래서 지금도 첫날에는 코드를 거의 건드리지 않습니다.
넘긴 시안이 구현에서 반쯤 무너지는 걸 너무 많이 봤습니다.
그래서 마크업을 제가 하게 됐습니다.
범위
같은 클라이언트의 로고를 그리고, 카탈로그를 앉히고, 현수막을 걸고, 사이트를 만들고, 서버에 올렸습니다.
그래서 명함에서 본 브랜드와 홈페이지에서 본 브랜드가 다른 회사처럼 보이지 않습니다.
Contact
대부분 그 상태로 시작했습니다.
무엇을 만들지보다 왜 만들려는지를 먼저 듣습니다.
제가 할 수 있는 일과 없는 일을 구분해서 답장드립니다.
국내 채용, 외주, 해외 원격 프로젝트 모두 열려 있습니다.
보통 24시간 안에 답장을 드립니다.