찰싹 !! 다운로드 폴더 안 치우면 등짝 맞는 앱

Haul·4일 전
post-thumbnail

✋ GitHub : https://github.com/ESeungJun/smash

안녕하세요 ! 안드로이드 개발하고 있는 이승준입니다.

제 다운로드 폴더는 늘 엉망이에요.
스크린샷, 설치 파일, 메신저로 받은 PDF, 어디서 받았는지 모를 zip까지 다 거기 쌓이거든요.
가끔 마음먹고 치우는데 일주일만 지나면 또 그대로라
그냥 정해둔 규칙대로 알아서 치워주는 앱을 하나 만들기로 했어요.

근데 정리 앱은 이미 많잖아요.
그래서 좀 재밌게 만들고 싶었어요.
어릴 때 "방 좀 치워라 !" 하면서 엄마 손바닥이 등짝에 날아오던 그 느낌으로요.

그렇게 만든 게 'Smash!(등짝 스매시)'예요.
첫 커밋부터 v1.1.0까지 13시간 걸렸고, 이번에도 Claude Code와 같이 만들었어요.
이 글에는 무엇을 목표로 잡았는지, 그 목표대로 되는지 어떻게 확인했는지를 정리했어요.


먼저 결과물부터

  • 등짝 스매시 - 정리하기를 누르면 화면에 손바닥이 크게 나타나서 "찰싹 !!" 내리치고, 그 순간 파일이 정리돼요
  • 트리 미리보기 - 옮기기 전에 정리하고 나면 폴더가 어떤 모양이 될지 먼저 보여줘요
  • 자동 정리 - 새 파일이 다 받아지면 알아서 치우고 "으이구!! 폴더 청소 좀 하랬지!!" 하고 혼내요
  • Claude 연동 - API 키 없이 내 PC에 로그인된 Claude로 규칙을 만들고, Claude Code에서 "다운로드 정리해줘"로도 돼요
  • 한국어 · 영어 - 시스템 언어를 따르고 설정에서 바꿀 수 있어요

맥이랑 윈도우 설치 파일을 릴리스에 올려 뒀어요.


목표

처음에 세운 목표는 세 가지였고, 갈림길마다 이걸 기준으로 정했어요.

그중에 제일 신경 쓴 건 "맡겨도 불안하지 않게"였어요.
정리 앱은 한 번 파일을 날려 먹으면 다시 안 쓰게 되니까요.
그래서 등짝 스매시처럼 재밌는 건 맨 나중에 얹고, 미리보기 · 휴지통 · 되돌리기부터 단단하게 만들었습니다.


1. 무조건 안심하고 누를 수 있게

정리 앱에서 제일 무서운 건 "뭐가 어디로 갔는지 모르는" 거라고 생각했어요.
그래서 제일 먼저 정한 건 옮기기 전에 다 보여주는 거였습니다.

다운로드에 있는 파일을 문서 폴더 아래 사진 · 이미지, 미디어, 자료, 개발리소스로 모으는 걸 기본 규칙으로 두고
정리하고 나면 문서 폴더가 어떤 모양이 될지 트리로 보여줘요.
새로 생길 폴더는 '새 폴더'로, 같은 파일이 이미 있으면 '중복'으로, 이름이 겹치면 바뀔 이름까지 표시하고
체크한 것만 옮깁니다.

그 외에도 겁나지 않게 하려고 넣은 것들이 있어요.

  • 영구 삭제는 아예 없고 휴지통으로만 보내요
  • 같은 이름이 있으면 덮어쓰지 않고 (2)를 붙여요
  • 다운로드 중인 파일, 숨김 파일, 폴더(git 저장소 포함)는 안 건드려요
  • 마지막 정리는 기록 탭에서 한 번에 되돌릴 수 있어요

규칙은 파일 종류를 고르고, 이름에 든 단어나 "일주일 지나면" 같은 조건을 더해서 만들어요.
만드는 동안 지금 폴더에서 몇 개가 걸리는지 바로 보여줘서 규칙이 맞는지 바로 알 수 있어요.


2. API 키 없이 Claude 붙이기

규칙에 안 걸린 파일은 Claude한테 어디로 보낼지 물어보게 했는데요
여기서 앱에 API 키를 넣는 건 처음부터 빼고 갔어요.
이미 PC에 로그인된 Claude가 있는데 키를 또 발급해서 넣는 건 좀 아니더라고요.

그래서 두 가지로 연결했습니다.

  • claude -p - 내 PC의 Claude Code CLI를 도구를 다 끈 채로 불러서 자리를 물어봐요
  • MCP 서버 - 앱이 MCP 서버를 하나 들고 있어서, Claude Code나 Claude Desktop에 등록하면 "다운로드 정리해줘"라고 말로 시킬 수 있어요

Claude한테는 파일 이름 · 크기 · 날짜와 폴더 목록만 보내고 파일 내용은 안 보내요.
다운로드 폴더엔 남한테 보여주면 안 되는 파일이 섞여 있기 마련이라서요.

이번엔 Electron으로 만들었는데요
(이 맥에 Rust가 안 깔려 있어서 Tauri는 다음 기회에,,)
덕분에 MCP 서버도 앱에 들어 있는 Electron 실행 파일을 Node처럼 돌려서 띄워요.
쓰는 사람이 Node를 따로 깔 필요가 없어요.


3. 검증: "켜보니 되네"로는 못 잡는 것들

"맡겨도 불안하지 않게"는 말로만 하면 의미가 없어서
파일을 옮기는 부분은 테스트로 지키게 했어요.
같은 이름이 생기면 덮어쓰지 않는지, 옮긴 게 원래 자리로 되돌아오는지, 정리 대상 밖의 파일은 거부하는지 같은 것들이요.
이 글을 쓰면서 다시 돌려 봤는데 테스트 14개가 모두 통과했어요.

그래도 테스트만으로는 못 잡은 게 두 번 있었어요.

1. 설치한 앱이 8초 만에 죽었다

  • 이름을 한글 '스매시'로 바꾼 직후, 설치한 앱이 켜지고 몇 초 뒤에 그냥 죽었어요.
  • 처음엔 켜고 7초 동안 살아 있는 걸 보고 고쳐진 줄 알았는데, 실제로는 8초쯤에 죽고 있었습니다,,
  • 크래시 로그를 보니 빌드 이름이 한글이라 안에 든 Helper 앱 이름이랑 실행 파일 이름이 서로 안 맞아서 못 찾은 거였어요.
  • 빌드 이름은 영문 Smash로 고정하고, 그 뒤로는 확인할 때 30초 넘게 띄워두고 크래시 로그까지 같이 보게 했어요.

2. 스크린샷 규칙이 하나도 안 걸렸다

  • "이름에 '스크린샷'이 들어가면" 규칙을 만들었는데 "스크린샷 2026-..." 파일이 잔뜩 있는데도 하나도 안 걸렸어요.
  • 맥이 한글 파일 이름을 자모로 풀어서(NFD) 돌려줘서, 제가 입력한 완성형(NFC)이랑 글자 비교가 안 맞았던 거예요. (아찔)
  • 양쪽을 다 NFC로 맞추고, 같은 일이 다시 안 생기게 테스트도 하나 더 넣었어요.

둘 다 제 PC의 실제 파일, 실제로 설치한 앱으로 해 보고 나서야 보인 거라
그 뒤로는 몇 초를 띄워볼지, 어떤 파일로 시험할지까지 정해두고 확인했어요.


4. 등짝 스매시

여기부터가 제일 하고 싶었던 부분이에요.
정리 버튼을 누르면 앱 아이콘에 있는 손바닥이 화면에 크게 나타나서 내리치고, 그 순간 파일이 정리되는 거요.

맥 바탕화면 자체를 흔들 수는 없어서
화면 전체를 덮는 투명한 창을 하나 띄우고 그 안에서 손바닥 · 번쩍임 · 흔들림을 그렸어요.
마우스는 그대로 통과되게 해서 효과가 떠 있는 동안에도 아무것도 막지 않아요.
앱 창도 같이 들썩이게 했고요.

처음엔 "딱!" 하고 나타났다가 "쾅!" 하고 내리치는 두 단계였는데
해보니까 좀 과하더라고요.
등짝 맞는 소리는 역시 "찰싹 !!"이라 한 번에 내리치는 걸로 바꿨어요.

타이밍도 꽤 만졌어요.

  • 손바닥이 내리치는 0.8초에 실제 정리를 하고
  • 효과가 다 끝난 다음에 파일이 들어간 폴더를 열어요

근데 정리할 폴더가 이미 Finder에 열려 있으면 효과보다 폴더 창이 먼저 앞으로 튀어나오는 문제가 있었어요.
보니까 전에 띄운 효과 창이 덜 닫힌 채로 남아 있으면 효과를 건너뛰고 바로 정리해버리고 있었더라고요.
"내리치는 순간"과 "효과가 끝난 순간"을 따로 기다리게 나누고
효과 창이 어떤 이유로든 안 닫히면 정해진 시간 안에 강제로 닫게 해서 잡았습니다.


5. 자동 정리는 잔소리로

자동 정리를 켜 두면 새 파일이 들어올 때 다 받아질 때까지 기다렸다가 치워요.
파일 크기가 두 번 연속 그대로면 다 받아진 걸로 봐요.
창을 닫아도 메뉴 막대에서 계속 지켜보고요.

알아서 치운 걸 알려주는 것도 그냥 알림보다는 이 앱답게 혼나는 쪽이 재밌을 것 같았어요.

화면 위쪽 가운데에 "으이구!! 폴더 청소 좀 하랬지!!" 배너가 4.5초 동안 내려왔다가 올라가고
누르면 정리한 폴더가 열려요.
처음엔 시스템 알림을 쓰려고 했는데 안 뜰 때가 있어서 배너를 직접 그렸어요.


해보고 나서

이번엔 확인을 어떻게 하느냐가 꽤 중요했던 것 같아요.
파일을 옮기는 앱이라 테스트로 지킬 건 먼저 지켜 두고
테스트로 안 잡히는 건 실제로 설치해서 실제 파일로 해 보는 수밖에 없더라고요.

혹시 다운로드 폴더가 저 같은 분들은 한 번 맞아보세요 ✋
마음에 들면 스타 하나 눌러주시면 감사하겠습니다 ⭐

✋ GitHub : https://github.com/ESeungJun/smash
💼 LinkedIn : https://www.linkedin.com/in/승준-이-53707a328/

profile
뒤돌아 봤을 때, 지금보다는 더 높은 곳에서

0개의 댓글