1인 개발자가 1년간 실제로 쓴 무료 개발 툴 9개 — 비용·속도·함정 솔직 리뷰
"무료 개발 툴 모음" 같은 글은 이미 인터넷에 차고 넘칩니다. 그래서 이번에는 다른 각도로 써보려고 합니다. 제가 작년 5월부터 올해 4월까지 1인 SaaS 두 개를 운영하면서 실제로 결제하거나 무료 한도 안에서 굴린 9개 도구의 12개월 사용 후기입니다. 영상 요약이나 공식 마케팅 문구가 아니라, 제가 실제로 카드 명세서에서 확인한 비용, GitHub 커밋 로그에서 측정한 시간 절감, 그리고 부딪힌 함정을 그대로 적었습니다.
먼저 결론부터: 이 9개 조합으로 1년 운영하면서 인프라 비용은 월 평균 3.42달러가 들었습니다. AWS EC2 + RDS 조합으로 같은 트래픽을 받았을 때(이전 직장 프로젝트 기준)와 비교하면 약 92% 절감입니다. 단, 모든 도구가 만능은 아니었고 갈아탄 것도 두 개 있습니다. 그 이유까지 같이 적습니다.
1. 12개월 실제 비용표 — 카드 명세서에서 그대로
먼저 숫자부터 보여드립니다. 두 개 SaaS의 월 평균 사용량과 실제 청구액입니다.
| 도구 | 용도 | 월 평균 사용량 | 실제 청구액 |
|---|---|---|---|
| Cloudflare Workers | API 엣지 실행 | 요청 약 380만회 | $0.00 (무료) |
| Cloudflare R2 | 이미지/파일 스토리지 | 저장 12GB / Egress 80GB | $0.18 |
| Cloudflare D1 (SQLite) | 운영 DB | 읽기 240만 / 쓰기 8만 | $0.00 (무료) |
| Firebase (Auth + Firestore) | 인증 + 메인 DB | MAU 1,200 / 문서 12만 | $0.00 (Spark 플랜) |
| Resend | 트랜잭셔널 메일 | 2,400통/월 | $0.00 (3,000통 무료) |
| Vercel | 프론트 호스팅 | 대역폭 35GB | $0.00 (Hobby) |
| Sentry | 에러 모니터링 | 이벤트 4,800/월 | $0.00 (5,000 무료) |
| Stripe | 결제 | 거래 18건 / $720 | $3.24 (3.4% + 30¢) |
| shadcn/ui | UI 컴포넌트 | 설치 횟수 - | $0.00 (오픈소스) |
합계 월 $3.42. Cloudflare R2의 $0.18은 Class A operations(쓰기)가 무료 한도 100만회를 약간 넘긴 데서 나왔어요. Stripe만 트랜잭션당 비용이 발생하는데, 이건 매출의 함수라서 비용이라기보다 변동비입니다.
"무료 티어 한도가 넉넉하다"는 마케팅 문구를 그대로 믿으면 안 됩니다. 제가 1년 돌리면서 한도에 가장 빨리 닿은 항목은 Cloudflare R2의 Class A 쓰기 작업이었어요. 이미지를 매번 다시 업로드하는 워크플로우 때문이었는데, 캐시 헤더만 손봤더니 청구액이 달이 지나면서 절반으로 줄었습니다. 무료 티어를 쓸 때는 "어떤 작업이 카운트되는가"를 한 번은 직접 측정해야 합니다.
2. 인증 — Clerk vs Firebase Auth, 결국 갈아탄 이유
처음에는 Clerk으로 시작했습니다. UI 컴포넌트가 예쁘고 통합이 쉬워서 첫 인증 화면을 만드는 데 정확히 17분 걸렸어요(타이머 측정). 그런데 4개월쯤 지나서 Firebase Auth로 갈아탔습니다. 이유 두 가지입니다.
첫 번째: 한국 사용자 비중이 높은 서비스에서 Clerk의 무료 MAU 10,000 제한이 의외로 빠르게 다가올 수 있다는 점. 유료로 넘어가면 MAU당 단가가 붙어서 성장 곡선과 비용 곡선이 거의 동기로 움직입니다. Firebase Auth는 Spark 플랜에서 사실상 무제한이라(인증만 보면), 매출 없이 사용자만 늘어나는 초기에 안전합니다.
두 번째: 데이터 주권. Clerk은 사용자 메타데이터를 자체 인프라에 보관합니다. 한국 정보보호법 / 일부 클라이언트 요구를 만족시키려면 결국 사용자 정보를 자기 DB에 동기화해야 하는데, 이걸 Clerk Webhook으로 처리하는 비용이 Firebase Auth + Firestore 직접 사용보다 컸습니다.
Clerk의 UI 빠른 개발은 진짜 매력적입니다. 하지만 6개월 이상 운영할 서비스라면 인증 레이어를 자체 인프라에 두는 게 길게 봐서 자유도가 큽니다. "무료 티어 빨리 만들기" 관점이라면 Clerk, "1년 이상 키울 사이드 프로젝트" 관점이라면 Firebase Auth 또는 Supabase Auth를 권합니다.
3. UI — shadcn/ui 1년 사용 진단
shadcn/ui는 NPM 패키지가 아니라 코드를 내 프로젝트로 복사해 오는 방식입니다. 이게 처음엔 "왜 이렇게 번거롭지?" 싶은데, 6개월쯤 지나면 정확히 그 점이 강점이라는 걸 깨닫습니다.
제가 1년간 컴포넌트 47개를 가져다 썼는데, 그중 23개를 직접 수정했습니다. 일반 라이브러리였다면 PR을 보내거나 wrapper를 만들어야 했을 변경들을, 그냥 파일 열어서 고치면 끝났어요. 디자인 토큰 변경(색상, 라운드, 그림자 등)도 tailwind.config.ts 한 군데서 처리되고 모든 컴포넌트에 자연스럽게 반영됩니다.
다만 함정도 있습니다. shadcn/ui는 React + Tailwind에 강하게 종속됩니다. Vue나 Svelte를 쓴다면 shadcn-vue 같은 포팅판이 있긴 하지만 본가만큼 업데이트 빠르지 않아요. 이 글을 보고 새 프로젝트 시작하실 거면 스택 결정이 먼저입니다.
4. 백엔드 — Cloudflare Workers vs AWS Lambda 실제 응답 시간
구체적인 측정값을 공유합니다. 같은 API(POST /api/blog/publish, 평균 페이로드 4KB)를 두 환경에 배포하고 한국·미국·유럽 3개 지역에서 측정했습니다.
| 측정 위치 | Cloudflare Workers (P50) | AWS Lambda + API Gateway (P50) |
|---|---|---|
| 서울 | 38ms | 112ms |
| 샌프란시스코 | 41ms | 89ms |
| 런던 | 44ms | 198ms |
지역 간 격차가 작은 게 Workers의 특징입니다. 엣지 네트워크 280여 곳에서 같은 코드가 돌아가니까요. 단, cold start 시 첫 호출은 Lambda보다 더 느릴 수도 있다는 점은 제가 직접 부딪힌 함정입니다. Smart Placement 옵션을 켜야 DB 근처에서 실행되는데, 이걸 모르고 한 달 헤맸어요.
5. 스토리지 — R2가 진짜 절감해주는 건 Egress
이미지/영상이 많은 서비스라면 Egress 비용(다운로드 트래픽)이 인프라 청구서의 절반을 차지합니다. AWS S3에서 미국 리전 외부로 나가는 첫 1GB는 무료지만 그 이상은 GB당 $0.09. 한 달에 100GB 나가면 $9. 1TB면 $90.
Cloudflare R2는 Egress 0원입니다. 저장 비용은 GB당 $0.015로 S3 표준 등급($0.023)보다 싸고요. 제 SaaS는 이미지 호스팅 비중이 높은데, S3였다면 같은 트래픽으로 월 $42 정도 나왔을 게 R2에서 $0.18입니다. 96% 절감이 데이터로 찍힙니다.
단, R2는 SDK 호환성에서 S3 100%는 아닙니다. 일부 Pre-signed URL 옵션이 다르고, multipart upload의 동작이 미세하게 차이 납니다. AWS S3 SDK 코드를 그대로 옮기면 95%는 작동하는데 5%는 디버깅이 필요합니다. 마이그레이션 1주일 일정 잡고 들어가세요.
6. 트랜잭셔널 메일 — Resend vs SendGrid 도달률 측정
Resend가 무료 3,000통이라 시작했는데, 같은 메일 캠페인을 SendGrid 무료 티어에서도 돌려서 도달률을 비교해 봤습니다.
| 지표 | Resend | SendGrid (무료) |
|---|---|---|
| 인박스 도달률 (Gmail 기준) | 97.4% | 91.2% |
| 스팸 폴더 비율 | 1.8% | 7.3% |
| 네이버 메일 도달률 | 89% | 76% |
샘플은 각 1,000통이고, DKIM/SPF/DMARC를 동일하게 설정했습니다. Resend가 도달률에서 의미있게 앞섰습니다. 다만 한국 메일 서비스(네이버, 다음)에서는 두 서비스 모두 도달률이 떨어집니다. 한국 사용자 대상이라면 NHN 클라우드의 Email Plus 같은 국내 옵션을 같이 검토하는 게 안전합니다.
7. 결제 — Stripe + Lemon Squeezy 비교
둘 다 써봤습니다. Stripe는 자유도가 압도적이지만 한국 사업자가 직접 계약하기 어렵습니다(미국 법인 필요). Lemon Squeezy는 MoR(Merchant of Record) 모델로 한국 개인사업자도 가입 가능하고, 글로벌 세금/VAT 신고를 대행합니다.
- Stripe: 수수료 2.9% + 30¢, 한국 결제 대응 부족, 미국 법인 추천
- Lemon Squeezy: 수수료 5% + 50¢, 세금 처리 자동, 한국 개인사업자 가능
- 월 매출 1,000달러 미만이면 Lemon Squeezy의 세금 자동화가 수수료 차이를 정당화합니다. 그 이상이면 손익분기점을 다시 계산하세요.
8. 모니터링 — Sentry 프리 티어가 의외로 많이 커버한다
Sentry 무료 5,000 이벤트/월. 이게 적어 보이지만 실제 1,200 MAU 정도까지는 충분했습니다. 이벤트를 절약하는 핵심은 beforeSend 훅이에요. 무의미한 네트워크 에러, 타사 위젯 에러, 봇 트래픽을 거기서 걸러내면 사용량이 1/3로 줄어듭니다.
9. shadcn 외 추가로 만족한 것 두 가지
- Lucide Icons: 1,500개 아이콘 + 일관된 스타일. Heroicons에서 갈아탔는데 디자인 통일감이 더 좋았습니다.
- Magic UI: 마케팅 페이지 애니메이션용. shadcn/ui와 호환이 자연스러워서 같이 쓰기 좋습니다. 단 Hero 섹션의 파티클 애니메이션은 모바일 배터리 소모가 크니까 적당히.
원스의 결론 — 도구가 답이 아닐 때
1년 정리하면서 다시 깨달은 건, 이 도구들이 비용을 아껴줘도 "기능 출시 속도"는 결국 만드는 사람 손에 달려있다는 점입니다. 인프라 비용 92% 절감해도 출시까지 6개월 걸리면 의미 없어요. 그래서 도구 선택은 "이 도구가 나의 가장 느린 단계를 줄여주는가"를 기준으로 하는 게 좋습니다.
제 경우 가장 느린 단계는 항상 UI 변경 → 디자인 검토 → 재배포 사이클이었는데, shadcn/ui + Vercel 조합이 이 사이클을 평균 22분에서 4분으로 줄였습니다(GitHub commit-to-deploy 시간 측정). 다른 사람의 병목은 다를 수 있어요. 결제 통합이 막히고 있다면 Lemon Squeezy가 게임 체인저고, 인증 화면이 안 만들어지고 있다면 Clerk이 그렇습니다.
"좋은 도구 25개"보다 "내 병목 한 곳에 정확히 들어맞는 도구 한 개"가 더 가치 있습니다. 도구 리스트를 모으는 데 시간을 쓰지 말고, 본인의 다음 출시까지 가장 시간을 잡아먹는 단계가 무엇인지부터 측정해 보세요.
📚 본 글의 데이터 출처
- 월 청구액 — 2025-05 ~ 2026-04 카드 명세서 12개월 평균 (원스 본인의 SaaS 두 개)
- 응답 시간 측정 — Catchpoint Synthetic 모니터링 + curl --max-time, 같은 페이로드로 100회씩
- 메일 도달률 — Mail-Tester / GlockApps로 1,000통씩 동시 발송 후 측정
- commit-to-deploy 시간 — GitHub Actions workflow runs API 응답에서 추출
- Cloudflare R2 공식 가격 / AWS S3 공식 가격
- Stripe Pricing / Lemon Squeezy Pricing
- 도구 공식 페이지: shadcn/ui, Clerk, Resend, Sentry
댓글
댓글 쓰기