2026-07-06

댓글로 주문하셔서 만들었습니다: 무료 소프트웨어 SoloPic

지난 글 《왜 나는 무료 소프트웨어 100개를 다시 만드는가》 끝에 이런 말을 남겼다: 당신이 매일 쓰는 무료 소프트웨어 중에, 누군가 대신 다시 만들어줬으면 가장 좋겠는 건 어떤 것인가?

빈말이 아니었다. 진심으로 궁금했다.

그러자 댓글이 하나 달렸다. 천진(天津)에 사는 독자, 닉네임 阿祥. 그는 “응원합니다”도 “지지합니다”도 쓰지 않았다. 곧장 요구사항 목록을 적어 내려갔다.

댓글 한 줄, 웬만한 기획서보다 명확했다

그의 말을 한 글자도 바꾸지 않고 그대로 옮긴다:

무료 이미지 처리 소프트웨어 하나 만들어주세요. 필요한 기능 몇 가지를 말씀드릴게요. 첫째, 이미지 일괄 자르기—예를 들어 사진 여러 장을 왼쪽 100px, 아래 57px씩 잘라내는 거요. 둘째, 일괄 이름 바꾸기—예를 들어 1.png, a.png 같은 파일들이 있고, 텍스트 파일에 바꿀 이름이 이렇게 적혀 있으면: 1.png,张三.png(줄바꿈)a.png,李四.png(줄바꿈)등등, 그러면 「欻一下」(훅 하고, 눈 깜짝할 사이에) 이름이 다 바뀌는 거요. 셋째, 밝기·대비 등 일괄 조정. 일단 지금은 이 정도가 생각나네요.

이 댓글을 보라. 빈 말이 하나도 없다. “좀 더 쓰기 좋은 이미지 툴 하나 만들어줄 수 없냐”는 식의, 옳은 말이지만 아무 쓸모 없는 말은 한 마디도 없다. 그가 내놓은 건 당장 작업에 착수할 수 있을 만큼 구체적인 세 가지 장면이었다:

나는 그때 이렇게 답했다: “알겠어요, 핵심은 일괄 처리죠?”

그가 말했다: 맞아요.

한 마디 주고받은 것으로, 소프트웨어 하나의 요구사항이 정해졌다.

왜 바로 만들어야겠다고 생각했는가

阿祥의 댓글이 《무료 소프트웨어 100개 다시 만들기》에서 말한 세 겹의 고통을 정확히 찌르고 있었기 때문이다.

“무료 이미지 일괄 처리”를 검색하면 무엇이 나오나? 광고를 퍼붓거나, 가장 유용한 “일괄” 기능을 회원 전용으로 잠가두거나, 설치하면 1GB나 차지하면서 번들 소프트웨어 세 개를 덤으로 끼얹는 것들뿐이다. 阿祥이 원한 세 가지 중 어느 것도 기술적으로 어려운 일이 아니다. 전부 “원래 무료여야 하고 당연히 쓸 만해야 하지만, 어째서인지 미끼로 만들어진” 기능들이다. 일괄 이름 바꾸기는 회원 전용, 일괄 내보내기는 회원 전용, 광고 하나 없애려면 광고 세 번을 보라고 한다.

이건 내가 계속 말해온 것이다: “무료 소프트웨어 100개 다시 만들기”는 새로운 눈속임 100개를 만드는 게 아니라, 당신이 매일 쓰면서 참아온 것들을, 하나씩 본래 그래야 마땅했던 모습으로 돌려놓는 것이다. 阿祥은 내 머릿속 목록을 읽은 적이 없지만, 그의 입에서 나온 것은 목록에 있어야 할 바로 그것이었다.

그래서 나는 망설이지 않았다. “핵심은 일괄 처리죠?”라고 답하자마자 바로 만들기 시작했다.

만들어낸 것의 이름은 SoloPic

며칠 후 나왔다: SoloPic, 무료·오프라인·약 12MB짜리 일괄 이미지 도구. 주소는 solopic.doaipm.com — 내 서브도메인에 올려두었다. 앱스토어를 뒤질 필요 없고 설치할 필요도 없다. 포터블 버전을 내려받아 압축만 풀면 바로 쓸 수 있다. 안에는 GUI, CLI, MCP Server 세 가지가 모두 들어 있다. 현재는 Windows 버전이며, macOS와 Linux는 계획 중이다.

阿祥이 원한 세 가지를 하나도 빠짐없이 구현했다. 그것도 그의 말 그대로:

첫째, 가장자리 기준 일괄 자르기. 이게 가장 먼저 하고 싶은 말이다. 시중에 나와 있는 자르기 도구들은 대부분 “모든 이미지를 같은 크기로 자르기”다. 그런데 阿祥이 원한 건 그게 아니었다—그가 원한 건 가장자리에서 잘라내기였다: 각 이미지가 얼마나 크든 상관없이, 왼쪽에서 100px, 아래에서 57px씩 잘라내는 것. 원본 크기가 달라도 상관없다.

“가장자리에서 고정 픽셀 자르기” 같은 사소한 기능을 왜 따로 말하는가? 기존 도구들이 제대로 못 하는 실제 장면에 딱 들어맞기 때문이다. 이런 이미지 뭉치를 생각해보라: 스크린샷 여러 장, 맨 위마다 같은 높이의 상태바를 잘라내야 하는 것; 스캔 파일 여러 장, 테두리에 같은 너비의 검은 가장자리가 붙어 있는 것; 상품 이미지 여러 장, 오른쪽 아래 같은 위치에 워터마크가 찍혀 있는 것. 이런 이미지들은 크기가 제각각이지만, 잘라내야 하는 건 “가장자리에서 고정된 한 줄”이지 “800×800으로 통일”이 아니다. “고정 크기로 자르기” 도구를 쓰면 한 장 한 장 맞춰야 하는데, 수백 장이면 오후 한나절이 날아간다. 阿祥은 분명히 이것에 시달려봤기 때문에 “왼쪽 100, 아래 57”이라고 정확하게 말할 수 있었던 것이다. 그래서 나는 “가장자리 자르기”를 기본 기능으로 만들었고, 예시에는 그가 준 수치를 그대로 썼다. 이건 내가 똑똑해서가 아니라, 그가 아픈 곳을 정확히 짚어줬기 때문이다.

둘째, 매핑 파일 일괄 이름 바꾸기. 목록 파일을 하나 만들어 한 줄에 “구 이름, 새 이름”을 적으면, SoloPic이 그걸 읽어 한 번에 전부 바꿔준다. 게다가 미리보기 후 실행이라 잘못 바꿔도 버튼 하나로 되돌릴 수 있다—일괄 이름 바꾸기에서 가장 무서운 건 손이 미끄러져 폴더 전체를 엉망으로 만드는 것이고, 되돌릴 수 없는 것이니까.

셋째, 일괄 조정. 밝기·대비·채도·선명도·흑백, 슬라이더 하나 드래그하면 수백 장이 한꺼번에 바뀐다. 게다가 좌우 분할 화면으로 전후를 실시간 비교할 수 있다—내보낸 뒤에야 너무 많이 조정했다는 걸 깨닫는 게 아니라, 드래그하면서 바로 확인할 수 있다. 이 기능은 가장 평범하게 들리지만, 수많은 온라인 이미지 도구가 걸어놓은 장벽이 바로 여기다: 단일 이미지는 마음대로 조정할 수 있지만 “일괄”이 되는 순간, 기능이 없거나 회원 전용이다. 阿祥이 이걸 목록에 넣은 건, 실제 현장에서 이미지는 절대 한 장씩 오지 않는다는 걸 잘 알고 있었기 때문이다.

阿祥의 댓글에 한 표현이 있었다—“「欻一下」(훅 하고, 눈 깜짝할 사이에) 이름이 다 바뀌는 거요”. 나는 이 표현이 정말 마음에 들었다. “일괄”이 주는, 한 번에 전부 해치우는 그 통쾌함을 딱 잡아냈다. 그래서 SoloPic 첫 화면 문구에 그대로 썼다: “일괄 이미지 처리, 欻一下면 끝.” 이 말은 내가 쓴 문안이 아니라 阿祥의 말이다.

그 며칠 동안 나는 무엇을 했나

댓글 한 줄에서 내려받을 수 있는 소프트웨어까지, 그 며칠 동안 내가 무엇을 했는지 궁금한 사람이 있을지도 모른다. 말하면 조금 의외일 수 있다: 대부분의 시간은 코드를 짜는 데 쓴 게 아니라, “나는 도대체 뭘 원하는가”를 명확히 하는 데 썼다.

예를 들어 “가장자리 자르기”. 처음에 AI에게 “일괄 자르기 기능 만들어줘”라고 했더니 가장 흔한 “고정 크기로 자르기”를 내놓았다. 다시 돌아가서 말을 더 구체적으로 해야 했다: 통일된 크기로 자르는 게 아니라, 각 이미지를 자기 가장자리에서 안쪽으로 고정 픽셀을 잘라내는 것, 네 변을 각각 설정할 수 있어야 하고, 원본 크기가 달라도 정상 동작해야 한다고. 세 번째 버전이 돼서야 딱 맞는 느낌이 났다. “매핑 이름 바꾸기”도 마찬가지였다—일부러 “미리보기 후 실행, 한 번에 되돌리기 가능”을 추가했는데, 내가 직접 사용자 입장이 돼서 생각했기 때문이다: 폴더 전체를 일괄 이름 바꾸기 할 수 있는 사람은, 잘못 바꿔도 되돌릴 수 있다는 걸 알고 있는 사람이다. 이건 AI가 대신 생각해주지 않는다. “사용자가 뭘 두려워하는지 아는” 내가 먼저 꺼내야 하는 말이다.

그러니 그 며칠의 진짜 작업은 한 발씩 조금씩 시험해가는 것이었다: 기능 하나를 명확히 설명 → AI가 만들게 한다 → 실제 이미지 묶음으로 직접 돌려본다 → 맞지 않으면 어디가 맞지 않는지 더 정확히 설명한다 → 다시 수정. 한 번에 큰 덩어리를 쓰는 게 아니라, 매번 검증 가능한 작은 조각 하나씩만 나아가는 것이다. 이 “명확히 말하고, 조금씩 나아가고, 실제로 한 번 돌려보는” 방식이 내가 모든 도구를 만들 때의 일상이다. SoloPic도 다르지 않다.

그가 원하지 않은 것을 하나 더 만들었다

댓글란에 또 다른 댓글이 있었다. 훨씬 짧았다—「扫描全能王(CamScanner)」라고만 적혀 있었다.

무슨 말인지 바로 알았다. 扫描全能王(CamScanner) 류의 앱은 전형적인 예다: 스마트폰으로 문서를 찍으면 자동으로 스캔 파일처럼 바꿔주는데, 아주 유용하다. 하지만 고화질로 내보내거나, 워터마크를 없애거나, 광고 없이 쓰려면 유료 회원이 되라고 한다. 그 이름 하나를 던진 건, “이것도 제대로 된 무료 버전이 있어야 한다”는 말과 같았다.

나는 답했다: “알겠어요, 한번 알아볼게요.”

그렇게 SoloPic에 넷째 기능이 생겼다. 阿祥이 요청하지 않았지만 손이 가서 만들어버린—스마트 문서 보정: 스마트폰으로 비뚤게 찍히거나 그림자가 진 문서를 버튼 하나로 깨끗한 스캔 파일로 변환해준다. 그림자 제거, 흰 배경, 글자 선명하게, 자동 기울기 보정. 밀리초 단위로 처리되고, 인터넷 연결 없이, AI 대형 모델도 필요 없다. 이건 내가 “扫描全能王(CamScanner) 다시 만들기”를 향해 내딛는 첫 걸음이다. 가장 핵심적인 그 한 수를 먼저 넣어뒀다.

사람만을 위한 게 아니라 AI도 쓸 수 있다

이 부분은 좀 더 말해야 할 것 같다. 이게 내가 만드는 도구들이 보통 무료 소프트웨어와 다른 점이기 때문이다.

SoloPic은 하나의 핵심, 세 가지 사용법이다:

pic crop --left 100 --bottom 57 D:\photos
pic rename D:\photos --map list.txt -x
pic enhance --mode bw D:\scans

왜 뒤의 두 가지를 만들었는가? 내가 항상 믿어온 것이 있기 때문이다: 앞으로 소프트웨어를 쓰는 건 사람만이 아니다, AI도 쓴다. 阿祥은 GUI로 직접 드래그한다. 이미지 처리를 자동화 흐름에 넣고 싶은 사람은 CLI를 쓴다. Claude에게 말하는 데 익숙한 사람은 AI가 직접 처리하게 한다. 같은 핵심 기능을 누구든 쓸 수 있어야 진짜 잘 만들어진 것이다.

“무료 소프트웨어”의 기준선에 대해서는, SoloPic이 하나도 어기지 않았다: 무료, MIT 오픈소스, 완전 오프라인, 인터넷 연결 없음, 어떤 데이터도 수집 안 함, 광고 없음, 설치 필요 없이 압축 풀면 바로 사용. 당신의 이미지는 당신 컴퓨터에서 처리되고, 나는 손도 대지 못한다.

이 일이 나에게 확실히 해준 것

SoloPic을 만들고 나서 가장 큰 수확은 도구 하나가 더 생긴 게 아니라, “무료 소프트웨어 100개 다시 만들기”에 관해 한 가지를 확실히 깨달은 것이다:

이 100개의 주제, 가장 좋은 것들은 내 머릿속이 아니라 당신의 댓글란에 있다.

나 혼자 떠올릴 수 있는 무료 소프트웨어의 고통 포인트는 한정적이고, 대부분 내가 매일 쓰는 몇 가지 유형이다. 阿祥이 원한 “가장자리 자르기, 매핑 이름 바꾸기”는 솔직히 내가 일상에서 떠올릴 만한 장면이 아니었다—그건 실제로 이미지를 일괄 처리하는 사람이, 기존 도구에 한참 시달린 끝에야 이렇게 구체적으로 말할 수 있는 요구사항이다. 그는 코드를 쓸 줄 모르지만, 이 도구가 어떤 모습이어야 하는지는 누구보다 잘 알고 있었다.

이건 내가 계속 말해온 것이 아닌가—기술을 모르는 건 약점이 아니다. “나는 도대체 뭘 원하는가”를 명확히 말하는 것이 가장 어렵고, 가장 가치 있는 단계다. 阿祥의 댓글 하나가 바로 그렇게 명확히 쓰인 요구사항이었다. 나머지는 AI에게 맡겨 만들어냈다. 며칠 일이었다.

다른 각도에서 보면, 이 일은 “제품을 만드는” 분야의 분업을 완전히 뒤집어놓은 것이기도 하다. 예전에는 실제 사용자가 요구사항을 아무리 명확히 말해도 대부분 묻혔다—“팀 구성, 돈 지출, 몇 달 대기”라는 문턱이 가로막고 있어서, 댓글 하나를 위해 실제로 움직이는 사람이 없었다. 요구사항과 완성된 제품 사이에는, 대부분의 사람이 넘을 수 없는 벽이 있었다. 지금 그 벽이 무너졌다. 阿祥은 여전히 코드를 쓸 줄 모르고, 나도 여전히 대기업이 아니다. 하지만 그가 충분히 구체적으로 한 마디를 했고, 며칠 뒤 그의 컴퓨터에서 실제로 돌아가는 소프트웨어가 됐다. 그 사이에 없어진 것이 바로 예전의 그 벽이다.

그래서 “무료 소프트웨어 100개 다시 만들기”는 나에게 갈수록 한 사람의 선언이라기보다, 주제를 크라우드소싱할 수 있는 일처럼 느껴진다: 어떤 무료 소프트웨어가 가장 나쁘고, 가장 다시 만들어야 하는지는 당신들이 가장 잘 안다. 나는 명확히 말해진 요구사항을 제대로 된 완성품으로 만드는 역할을 맡으면 된다.

그러니까, 계속 주문해주세요

여섯 개가 일곱 개가 됐다. SoloPic은 “무료 소프트웨어 100개 다시 만들기”를 선언한 후, 처음으로 독자가 직접 주문하고 내가 그대로 만들어낸 것이다.

갈수록 이렇게 해나가야 한다는 생각이 든다: 당신이 댓글로 주문하면, 내가 여기서 만든다. 코드를 쓸 줄 알 필요도, 기술을 알 필요도 없다. 阿祥처럼 하기만 하면 된다—어떤 무료 소프트웨어에 가장 혹독하게 당한 그 순간을, 구체적으로 말해주면 된다: 이름이 뭔지, 무엇을 하고 싶은지, 어디서 막히는지.

남은 아흔세 개, 나 혼자서는 이렇게 좋은 주제들을 다 모을 수 없다.

그래서 다시 묻는다. 이번엔 더 진지하게: 당신이 매일 쓰는 무료 소프트웨어 중에, 누군가 대신 다시 만들어줬으면 가장 좋겠는 건 어떤 것인가? 요구사항을 구체적으로 써줘라, 어쩌면 다음에 만들어지는 게 그것일지도 모른다.

토론

로그인 없이 익명으로 쓸 수 있어요. 친절하게.
불러오는 중…