
✋ GitHub : https://github.com/ESeungJun/smash
안녕하세요 ! 안드로이드 개발하고 있는 이승준입니다.
제 다운로드 폴더는 늘 엉망이에요.
스크린샷, 설치 파일, 메신저로 받은 PDF, 어디서 받았는지 모를 zip까지 다 거기 쌓이거든요.
가끔 마음먹고 치우는데 일주일만 지나면 또 그대로라
그냥 정해둔 규칙대로 알아서 치워주는 앱을 하나 만들기로 했어요.
근데 정리 앱은 이미 많잖아요.
그래서 좀 재밌게 만들고 싶었어요.
어릴 때 "방 좀 치워라 !" 하면서 엄마 손바닥이 등짝에 날아오던 그 느낌으로요.
그렇게 만든 게 'Smash!(등짝 스매시)'예요.
첫 커밋부터 v1.1.0까지 13시간 걸렸고, 이번에도 Claude Code와 같이 만들었어요.
이 글에는 무엇을 목표로 잡았는지, 그 목표대로 되는지 어떻게 확인했는지를 정리했어요.

맥이랑 윈도우 설치 파일을 릴리스에 올려 뒀어요.
처음에 세운 목표는 세 가지였고, 갈림길마다 이걸 기준으로 정했어요.

그중에 제일 신경 쓴 건 "맡겨도 불안하지 않게"였어요.
정리 앱은 한 번 파일을 날려 먹으면 다시 안 쓰게 되니까요.
그래서 등짝 스매시처럼 재밌는 건 맨 나중에 얹고, 미리보기 · 휴지통 · 되돌리기부터 단단하게 만들었습니다.
정리 앱에서 제일 무서운 건 "뭐가 어디로 갔는지 모르는" 거라고 생각했어요.
그래서 제일 먼저 정한 건 옮기기 전에 다 보여주는 거였습니다.

다운로드에 있는 파일을 문서 폴더 아래 사진 · 이미지, 미디어, 자료, 개발리소스로 모으는 걸 기본 규칙으로 두고
정리하고 나면 문서 폴더가 어떤 모양이 될지 트리로 보여줘요.
새로 생길 폴더는 '새 폴더'로, 같은 파일이 이미 있으면 '중복'으로, 이름이 겹치면 바뀔 이름까지 표시하고
체크한 것만 옮깁니다.
그 외에도 겁나지 않게 하려고 넣은 것들이 있어요.
(2)를 붙여요규칙은 파일 종류를 고르고, 이름에 든 단어나 "일주일 지나면" 같은 조건을 더해서 만들어요.
만드는 동안 지금 폴더에서 몇 개가 걸리는지 바로 보여줘서 규칙이 맞는지 바로 알 수 있어요.

규칙에 안 걸린 파일은 Claude한테 어디로 보낼지 물어보게 했는데요
여기서 앱에 API 키를 넣는 건 처음부터 빼고 갔어요.
이미 PC에 로그인된 Claude가 있는데 키를 또 발급해서 넣는 건 좀 아니더라고요.
그래서 두 가지로 연결했습니다.
claude -p - 내 PC의 Claude Code CLI를 도구를 다 끈 채로 불러서 자리를 물어봐요Claude한테는 파일 이름 · 크기 · 날짜와 폴더 목록만 보내고 파일 내용은 안 보내요.
다운로드 폴더엔 남한테 보여주면 안 되는 파일이 섞여 있기 마련이라서요.
이번엔 Electron으로 만들었는데요
(이 맥에 Rust가 안 깔려 있어서 Tauri는 다음 기회에,,)
덕분에 MCP 서버도 앱에 들어 있는 Electron 실행 파일을 Node처럼 돌려서 띄워요.
쓰는 사람이 Node를 따로 깔 필요가 없어요.
"맡겨도 불안하지 않게"는 말로만 하면 의미가 없어서
파일을 옮기는 부분은 테스트로 지키게 했어요.
같은 이름이 생기면 덮어쓰지 않는지, 옮긴 게 원래 자리로 되돌아오는지, 정리 대상 밖의 파일은 거부하는지 같은 것들이요.
이 글을 쓰면서 다시 돌려 봤는데 테스트 14개가 모두 통과했어요.
그래도 테스트만으로는 못 잡은 게 두 번 있었어요.
1. 설치한 앱이 8초 만에 죽었다
Smash로 고정하고, 그 뒤로는 확인할 때 30초 넘게 띄워두고 크래시 로그까지 같이 보게 했어요.2. 스크린샷 규칙이 하나도 안 걸렸다
둘 다 제 PC의 실제 파일, 실제로 설치한 앱으로 해 보고 나서야 보인 거라
그 뒤로는 몇 초를 띄워볼지, 어떤 파일로 시험할지까지 정해두고 확인했어요.
여기부터가 제일 하고 싶었던 부분이에요.
정리 버튼을 누르면 앱 아이콘에 있는 손바닥이 화면에 크게 나타나서 내리치고, 그 순간 파일이 정리되는 거요.
맥 바탕화면 자체를 흔들 수는 없어서
화면 전체를 덮는 투명한 창을 하나 띄우고 그 안에서 손바닥 · 번쩍임 · 흔들림을 그렸어요.
마우스는 그대로 통과되게 해서 효과가 떠 있는 동안에도 아무것도 막지 않아요.
앱 창도 같이 들썩이게 했고요.

처음엔 "딱!" 하고 나타났다가 "쾅!" 하고 내리치는 두 단계였는데
해보니까 좀 과하더라고요.
등짝 맞는 소리는 역시 "찰싹 !!"이라 한 번에 내리치는 걸로 바꿨어요.
타이밍도 꽤 만졌어요.
근데 정리할 폴더가 이미 Finder에 열려 있으면 효과보다 폴더 창이 먼저 앞으로 튀어나오는 문제가 있었어요.
보니까 전에 띄운 효과 창이 덜 닫힌 채로 남아 있으면 효과를 건너뛰고 바로 정리해버리고 있었더라고요.
"내리치는 순간"과 "효과가 끝난 순간"을 따로 기다리게 나누고
효과 창이 어떤 이유로든 안 닫히면 정해진 시간 안에 강제로 닫게 해서 잡았습니다.
자동 정리를 켜 두면 새 파일이 들어올 때 다 받아질 때까지 기다렸다가 치워요.
파일 크기가 두 번 연속 그대로면 다 받아진 걸로 봐요.
창을 닫아도 메뉴 막대에서 계속 지켜보고요.
알아서 치운 걸 알려주는 것도 그냥 알림보다는 이 앱답게 혼나는 쪽이 재밌을 것 같았어요.

화면 위쪽 가운데에 "으이구!! 폴더 청소 좀 하랬지!!" 배너가 4.5초 동안 내려왔다가 올라가고
누르면 정리한 폴더가 열려요.
처음엔 시스템 알림을 쓰려고 했는데 안 뜰 때가 있어서 배너를 직접 그렸어요.
이번엔 확인을 어떻게 하느냐가 꽤 중요했던 것 같아요.
파일을 옮기는 앱이라 테스트로 지킬 건 먼저 지켜 두고
테스트로 안 잡히는 건 실제로 설치해서 실제 파일로 해 보는 수밖에 없더라고요.
혹시 다운로드 폴더가 저 같은 분들은 한 번 맞아보세요 ✋
마음에 들면 스타 하나 눌러주시면 감사하겠습니다 ⭐
✋ GitHub : https://github.com/ESeungJun/smash
💼 LinkedIn : https://www.linkedin.com/in/승준-이-53707a328/