TECH_COST_SCENARIOS
Technical Cost Scenarios
Last Updated: 2026-03-18 Status: draft
문서 목적
이 문서는 현재 코드베이스 기준으로 실제 발생 가능한 기술 비용 항목을 모두 나열하고, 무료 -> Pro -> 초과 과금으로 넘어가는 지점을 시나리오 방식으로 계산한다.
특히 다음 질문에 답하기 위한 문서다.
- 어떤 외부 서비스가 실제로 돈을 먹는가
- 어떤 비용이 가장 먼저 커지는가
- 어느 성장 모멘텀에서 비용 구간이 바뀌는가
- 지금 구조에서 미리 막아야 할 숨은 고정비는 무엇인가
전제
현재 코드 기준 실제 사용 서비스
SupabaseNAVER Cloud Maps Geocoding / Reverse GeocodingSOLAPI SMSCloudflare Pages / Workers사용 가능성GitHub Actions스케줄러Expo Push Service
코드 기준 실제 비용 발생 경로
- 소셜 로그인/세션 유지:
Supabase Auth MAU - 전화 인증 OTP 발송:
Supabase Edge Function + SOLAPI SMS - OTP 검증:
Supabase Edge Function - 파트너 주소 검색:
address-suggest->NAVER Geocoding우선, 실패 시OpenStreetMapfallback - 지도 핀 이동 주소 확인:
address-reverse->NAVER Reverse Geocoding - 파트너 매장 저장:
geocode-partner-> 좌표 없을 때NAVER Geocoding - 파트너 사진 업로드:
Supabase Storage - 파트너 사진 조회:
Supabase Storage Egress - 관심매장 푸시 디스패치:
dispatch-push-notificationsEdge Function +Expo Push Service - 푸시 디스패치 스케줄 실행: 현재
.github/workflows/dispatch-push-notifications.yml
계산용 가정
이 문서의 계산은 아래 운영 가정을 사용한다.
- 한 달은
30일기준으로 계산한다. - 파트너 대표 이미지 1장은 평균
120KB, 상세 이미지 1장은 평균650KB로 본다. - 파트너 1개가 사진 4장과 대표 썸네일 1장을 모두 채우면 저장 용량은 약
2.72MB로 본다. - OTP 완료 사용자 1명당 실제 SMS 발송 수는 재전송을 반영해 평균
1.2건으로 본다. - 주소 검색 1세션은 평균
Supabase Function 4회,NAVER Geocoding 6회로 본다. - 핀 조정 1세션은 평균
Supabase Function 3회,NAVER Reverse Geocoding 3회로 본다. - 푸시 디스패치 스케줄은
5분 간격이므로 월8,640회실행으로 본다.
주: 위 2~6번은 코드 흐름과 디바운스 설정을 기반으로 한 내부 추정치다. 실측 로그가 생기면 이 값을 운영 데이터로 교체해야 한다.
비용 항목 인벤토리
| 구분 | 현재 사용 여부 | 과금 시작 조건 | 현재 중요도 |
|---|---|---|---|
| Supabase Pro 플랜 | 조건부 | 운영 조직을 Free에서 Pro로 전환할 때 | 높음 |
| Supabase Compute | 조건부 | 유료 조직 내 활성 프로젝트 수 증가 | 높음 |
| Supabase Auth MAU | 사용 | 월 100,000 MAU 초과 시 | 중간 |
| Supabase DB Disk | 사용 | 프로젝트 디스크 8GB 초과 시 | 낮음 |
| Supabase Storage Size | 사용 | 조직 스토리지 100GB 초과 시 | 중간 |
| Supabase Egress | 사용 | 조직 egress 250GB 초과 시 | 매우 높음 |
| Supabase Edge Function Invocations | 사용 | 월 2,000,000회 초과 시 | 중간 |
| Supabase Realtime | 현재 사실상 미사용 | Realtime 도입 후 | 낮음 |
| NAVER Geocoding | 사용 | 무료 제공량 초과 시 | 중간 |
| NAVER Reverse Geocoding | 사용 | 무료 제공량 초과 시 | 중간 |
| NAVER 지도 렌더링 | 사용 중이나 단가 확인 필요 | 모바일 SDK 렌더링 과금 정책 확인 필요 | 확인 필요 |
| SOLAPI SMS | 사용 | 첫 SMS 발송부터 | 매우 높음 |
| Expo Push Service | 사용 | 현재 공식 문서상 직접 발송 비용 없음 | 낮음 |
| GitHub Actions 스케줄러 | 사용 | private repo + 포함 분 초과 시 | 매우 높음 |
| Cloudflare Pages | 선택 | Free 빌드/제한 초과 또는 상위 플랜 사용 시 | 낮음 |
| Cloudflare Workers | 현재 미사용 | Worker/Cron 도입 시 | 낮음 |
| 도메인 등록비 | 선택 | 도메인 구입/갱신 시 | 낮음 |
공식 단가 요약
1. Supabase
2026-03-18 확인 기준.
- Free: 프로젝트 2개, MAU 50,000, egress 5GB, storage 1GB, edge invocations 500,000
- Pro:
월 $25 - Compute: paid org의 각 프로젝트는
Micro 약 $10/월, paid org는 월Compute Credit $10포함 - 현재 앱의 Google/Apple/Kakao 등 소셜 로그인은
Third-Party MAU가 아니라Supabase Auth MAU로 본다 - MAU 초과분:
100,000 MAU초과 시사용자당 $0.00325 - Egress 초과분:
250GB초과 시uncached GB당 $0.09,cached GB당 $0.03 - Storage 초과분:
100GB초과 시GB당 $0.021/월 - Edge Functions 초과분:
2,000,000회초과 시백만 회당 $2 - Disk 초과분: 프로젝트당
8GB초과 시GB당 $0.125/월 - Custom Domain Add-on: 프로젝트당
월 $10
2. NAVER Cloud Maps
2026-03-18 확인 기준.
- Web Dynamic Map:
0.1원/건, 월10,000,000건무료 - Static Map:
2원/건, 월3,000,000건무료 - Geocoding:
0.5원/건, 월3,000,000건무료 - Reverse Geocoding:
0.5원/건, 월3,000,000건무료 - Directions 5:
5원/건, 월60,000건무료 - Directions 15:
20원/건, 월3,000건무료
주:
공식 공개 가격 표에서 Web Dynamic Map, Static Map, Geocoding, Reverse Geocoding는 확인되지만 Mobile Dynamic Map 단가는 현재 확인하지 못했다.
현재 앱은 @mj-studio/react-native-naver-map을 사용하므로, 모바일 SDK 렌더링 과금 정책은 NCP 콘솔에서 별도 확인이 필요하다.
3. SOLAPI
2026-03-18 확인 기준.
기본 문자 단가:
- SMS:
18원/건 - LMS:
45원/건 - MMS:
110원/건
할인 구간:
- SMS
10,000건/월부터15원/건 - SMS
100,000건/월부터12원/건 - SMS
500,000건/월부터11원/건 - SMS
1,000,000건/월부터10원/건 - SMS
2,000,000건/월부터9원/건
4. Cloudflare
2026-03-18 확인 기준.
- Website Free Plan:
무료 - Website Pro Plan:
월 $25또는 연간 결제 시월 $20 - Workers Free:
100,000 requests/day, Cron Trigger5개 - Workers Paid:
최소 월 $5, 이후백만 requests당 $0.30,백만 CPU ms당 $0.02 - Pages Free:
월 500 builds - Pages Functions는 별도 상품이 아니라
Workers과금에 포함 - Cloudflare Registrar:
레지스트리 + ICANN 원가기준, TLD마다 상이
5. GitHub Actions
2026-03-18 확인 기준.
- public repo의 standard runner는 무료
- private repo는 Free/Free for organizations 기준
월 2,000분, Pro/Team 기준월 3,000분 - Linux 2-core standard runner 단가는
분당 $0.006 - GitHub는 job 사용 시간을
1분 단위로 올림계산한다
6. Expo Push Service
2026-03-18 확인 기준.
- Expo 공식 FAQ 기준
push notification service 자체 발송 비용 없음 - 단, 프로젝트당
초당 600건제한이 있다 - 현재 구조에서는 푸시 단가보다
push dispatch용 Edge Function 호출과스케줄 실행 비용이 더 중요하다
무료 -> Pro -> 초과 과금 전환 지점
1. Supabase Free -> Pro 전환
실무적으로는 아래 중 하나가 보이면 Free를 끝내야 한다.
- 운영 프로젝트가
paused되면 안 되는 시점 - 조직 egress가
5GB/월을 넘는 시점 - 조직 storage가
1GB를 넘는 시점 - Edge Function invocations가
500,000/월을 넘는 시점 - MAU가
50,000을 넘는 시점
Free 플랜에서 실제로 가장 먼저 걸릴 가능성이 큰 항목
사진 egress운영 안정성(프로젝트 pause 불가)GitHub Actions 스케줄러가 private repo인 경우 별도 비용
2. Pro 내 포함 구간
Pro + 1개 production project 기준 기본 월 비용은 다음으로 본다.
- Supabase Pro:
$25 - Project 1 Micro Compute:
약 $10 - Compute Credit:
-$10 - 기본 합계:
월 $25
추가 project가 붙으면:
- staging 1개 추가:
+약 $10/월 - dev/staging 2개 추가:
+약 $20/월
즉 prod + staging를 모두 paid org에서 Micro로 유지하면 대략 월 $35 수준으로 본다.
3. Pro 초과 과금 전환점
| 항목 | 포함량 | 초과 시작점 | 초과 단가 |
|---|---|---|---|
| MAU | 100,000 | 100,001 | $0.00325 / user |
| Egress | 250GB uncached + 250GB cached | 각 250GB 초과 | $0.09 / GB uncached, $0.03 / GB cached |
| Storage | 100GB | 100GB 초과 | $0.021 / GB-month |
| Edge Functions | 2,000,000 | 2,000,001 | $2 / million |
| DB Disk | 프로젝트당 8GB | 8GB 초과 | $0.125 / GB-month |
비용 구간이 바뀌는 실제 임계점
1. 사진 저장 용량
가정:
- 파트너 1개 전체 사진 세트 =
2.72MB
임계점:
- Supabase Free
1GB도달: 약376개 파트너 - Supabase Pro
100GB도달: 약37,647개 파트너
해석:
- 현재 구조에서
storage size는 Free 탈출 원인이 될 수는 있어도, Pro 이후 첫 번째 폭탄은 아니다. - Pro 이후에는 저장 용량보다
egress가 훨씬 먼저 터질 가능성이 높다.
2. 사진 egress
egress는 현재 구조에서 가장 먼저 커질 가능성이 높은 비용이다.
이하 계산은 보수적으로 uncached egress 기준으로 본다.
가정:
- thumb 1회 로드 =
120KB - detail 1회 로드 =
650KB
임계점:
- Free
5GB는 thumb 약43,690회, detail 약8,066회 - Pro
250GB는 thumb 약2,184,533회, detail 약403,298회
월 사용자당 이미지 소비량별 임계 MAU:
| 사용자당 월 이미지 egress | Free 5GB | Pro 250GB |
|---|---|---|
| 5MB | 약 1,024 MAU | 약 51,200 MAU |
| 15MB | 약 341 MAU | 약 17,067 MAU |
| 30MB | 약 171 MAU | 약 8,533 MAU |
해석:
- consumer 트래픽이 붙는 순간 Free는 사실상 불가능하다.
- Pro에서도
사용자당 월 15~30MB만 써도8.5k~17k MAU에서 egress overage가 시작될 수 있다. - 현재 아키텍처에서는
MAU overage보다egress overage가 먼저 올 확률이 더 높다. - Smart CDN 캐시 적중률이 높으면 실제 청구는 이보다 낮아질 수 있지만, 운영 계획은 uncached 기준으로 잡는 편이 안전하다.
2.1 이미지 전달 대안 비교 (Supabase direct vs Cloudflare Images vs Cloudflare R2)
아래 비교는 최대 2장 정책을 전제로 한다.
가정:
- 첫 번째 이미지는
thumb + detail, 두 번째 이미지는detail만 가진다. - 파트너 1개 저장량은 약
1.42MB다. - detail gallery full-load 1회는 약
1.30MB,Cloudflare Images deliveries 2건,R2 Class B reads 2건으로 본다. Supabase direct는 이미지 때문에 추가로 붙는egress overage만 계산한다.Cloudflare Images는Images Stored + Images Delivered + Unique Transformations overage를 계산한다.Cloudflare R2는 현재처럼thumb/detail을 미리 생성해 업로드하는 구조를 가정하고storage + Class B reads만 계산한다.Supabase Pro 기본요금과 compute는 DB/Auth 때문에 계속 필요하므로 공통비로 보고 비교에서 제외한다.
Cloudflare 기준 무료/과금 포인트:
Cloudflare Images는Unique Transformations 5,000건/월무료, 초과 시1,000건당 $0.50Cloudflare Images는 저장100,000장당 월 $5, 전달100,000건당 $1Cloudflare R2는storage 10GB,Class B reads 10M,Class A 1M까지 무료Cloudflare R2Standard는 초과 시storage $0.015/GB-month,Class B reads $0.36/million,egress 무료
시나리오별 비교:
| 시나리오 | 파트너 수 | 월 이미지 트래픽 | Supabase direct | Cloudflare Images | Cloudflare R2 |
|---|---|---|---|---|---|
| B. 1개 생활권 라이브 | 100 | 75GB | $0 | 약 $1.19 | 약 $0 |
| C. 생활권 PMF 확인 | 300 | 300GB | 약 $4.50 | 약 $4.76 | 약 $0 |
| D. 도시 확장 직전 | 1,000 | 900GB | 약 $58.50 | 약 $14.28 | 약 $0 |
| E. MAU 100k 돌파 | 2,000 | 1.8TB | 약 $139.50 | 약 $29.06 | 약 $0 |
해석:
Supabase direct는250GB포함량 안에서는 가장 단순하고 유리하다.Cloudflare Images는 저성장 구간에서는Supabase 포함량을 포기하고 별도 비용을 추가하는 셈이어서 불리할 수 있다.- 반대로
egress overage가 커지는900GB+구간부터는Cloudflare Images가Supabase overage보다 훨씬 저렴해질 수 있다. - 현재처럼
thumb/detail을 앱에서 미리 생성하는 구조라면 비용만 놓고는Cloudflare R2가 가장 강한 대안이다. - 다만
Cloudflare R2와Cloudflare Images는 둘 다 현재 Supabase Storage URL/권한 흐름을 바꾸는 마이그레이션 공수가 있다.
운영 판단:
- 지금 단계에서는
Supabase direct + 최대 2장이 기본값으로 가장 현실적이다. - 이미지 비용 절감만 목적인 외부 이전은
Cloudflare Images보다Cloudflare R2 + 사전 생성 variant 유지를 먼저 검토하는 편이 합리적이다. - 자동 포맷 변환, 중앙 variant 관리, 커스텀 전달 규칙 가치가 커지면 그때
Cloudflare Images를 검토한다. Supabase Storage Image Transformations는 저장소를 안 바꾸는 장점은 있지만, egress 자체를 없애지 못하고 별도 transformation 과금이 있어 1순위 대안으로 보지 않는다.
3. Edge Function invocations
현재 Edge Function 목록:
address-suggestaddress-reversegeocode-partnersms-otp-sendsms-otp-verifydispatch-push-notifications
고정 호출:
dispatch-push-notifications스케줄 실행만으로 월8,640회
임계점:
- Free 잔여 함수 호출 가능량:
500,000 - 8,640 = 491,360 - Pro 잔여 함수 호출 가능량:
2,000,000 - 8,640 = 1,991,360
해석:
- 함수 호출 수 자체는 생각보다 늦게 터진다.
- 다만 푸시 스케줄은 트래픽이 없어도 계속 함수를 먹기 때문에
고정 호출로 분리해서 봐야 한다.
4. NAVER Geocoding / Reverse Geocoding
가정:
- 주소 검색 1세션 = Geocoding
6건 - 핀 조정 1세션 = Reverse Geocoding
3건 - 파트너 온보딩 1세션 = Geocoding
9건+ Reverse Geocoding3건
무료 임계점:
- Geocoding 무료
3,000,000건-> 주소 검색 세션 약500,000회 - Reverse 무료
3,000,000건-> 핀 조정 세션 약1,000,000회 - 파트너 온보딩 세션 기준 -> 약
333,333회
해석:
- 현재 코드 구조에서는 NAVER geocode 비용이 초기에 먼저 문제 될 가능성은 낮다.
- 이유는 파트너용 호출 비중이 크고,
address-suggest에30초 캐시와OpenStreetMap fallback이 있기 때문이다. - 단, 나중에 사용자 일반 검색을 NAVER geocode 중심으로 열면 이야기가 달라진다.
5. SOLAPI SMS OTP
가정:
- 사용자 1명 OTP 완료당 평균 SMS
1.2건
임계점:
| 월 OTP 완료 사용자 수 | 예상 SMS 건수 | SOLAPI SMS 비용 |
|---|---|---|
| 100 | 120 | 2,160원 |
| 1,000 | 1,200 | 21,600원 |
| 5,000 | 6,000 | 108,000원 |
| 8,333 | 10,000 | 180,000원 -> 할인구간 시작 |
| 10,000 | 12,000 | 180,000원 내외 (15원/건 구간) |
해석:
전화 OTP는 MAU가 작아도 바로 현금이 나간다.- 특히
OTP send -> verify는 Supabase MAU보다 먼저 돈이 붙는 항목이다. - 전화 OTP가 온보딩 강제라면
기술비용 중 가장 먼저 체감되는 가변비가 될 가능성이 높다.
6. GitHub Actions 스케줄러
현재 스케줄:
5분마다 1회- 월 실행 횟수 약
8,640회
GitHub는 부분 분도 1분으로 올림 계산하므로, private repo에서 각 job이 10초 안에 끝나도 월 8,640분으로 잡힐 수 있다.
임계점:
- GitHub Free / Free for org 포함
2,000분초과 - GitHub Pro / Team 포함
3,000분초과
private repo worst-case 비용:
- Free 기준 초과분
6,640분 x $0.006 = 약 $39.84 - Pro/Team 기준 초과분
5,640분 x $0.006 = 약 $33.84
해석:
- 이 항목은 사용자 트래픽이 없어도 발생할 수 있는
숨은 고정비다. - repo가 public이면 무료지만, private이면 현재 구조 그대로는 비용 민감도가 높다.
- 같은 스케줄은
Cloudflare Workers Free Cron으로 옮기면 사실상0달러로 처리 가능하다.
7. Cloudflare Workers / Pages
현재 구조에서는 선택 항목이지만, 비용 최적화 관점에서는 중요하다.
임계점:
- Workers Free:
100,000 requests/day, Cron Trigger5개 - 현재 푸시 스케줄 용도라면
288 requests/day, Cron1개이므로 Workers Free에 충분히 들어간다. - Pages Free:
500 builds/month
해석:
GitHub Actions private repo비용을 피하려면 Cloudflare Workers Free가 더 유리하다.- 웹 채널이 정적 중심이면 Cloudflare Pages Free로도 상당 기간 유지 가능하다.
- business-critical 웹 보안/WAF를 올릴 때만 Website Pro
월 $25를 검토하면 된다.
성장 모멘텀별 시나리오
시나리오 A. 내부 알파 / 파트너 온보딩 검증
가정:
- 파트너
30개 - MAU
300 - OTP 완료 사용자
100 - 파트너 온보딩/수정 세션
60
비용 해석:
- Supabase Free 가능
- NAVER Geocode 무료 구간 충분
- SOLAPI SMS는 약
2,160원 - repo가 private면 GitHub Actions가 오히려 가장 비싼 항목이 될 수 있음
결론:
- 이 단계의 핵심 비용 리스크는 트래픽이 아니라
스케줄러와OTP
시나리오 B. 1개 생활권 라이브
가정:
- 파트너
100개 - MAU
5,000 - 사용자당 월 이미지 egress
15MB - OTP 완료 사용자
1,000
비용 해석:
- 이미지 egress = 약
75GB - Free는 불가, Pro 포함 구간 내
- SOLAPI SMS = 약
21,600원 - MAU 과금은 아직 없음
- NAVER geocode 과금도 아직 없음
결론:
- 이 단계의 기본 구조는
Supabase Pro + SMS 소액 - 아직 무서운 건 MAU가 아니라
이미지 egress 증가 속도
시나리오 C. 생활권 PMF 확인
가정:
- 파트너
300개 - MAU
20,000 - 사용자당 월 이미지 egress
15MB - OTP 완료 사용자
3,000
비용 해석:
- 이미지 egress = 약
300GB - Supabase Pro 포함량
250GB를 넘어50GB초과 - Supabase egress overage =
약 $4.50 - SOLAPI SMS = 약
64,800원 - MAU 과금은 아직 없음
결론:
- 이 단계부터는
egress overage가 실제로 보이기 시작한다. - 여전히
MAU보다이미지 소비량이 비용 변화에 더 민감하다.
시나리오 D. 도시 확장 직전
가정:
- 파트너
1,000개 - MAU
60,000 - 사용자당 월 이미지 egress
15MB - OTP 완료 사용자
10,000
비용 해석:
- 이미지 egress = 약
900GB - Supabase egress 초과분 =
650GB - Supabase egress overage =
약 $58.50 - SOLAPI SMS = 할인구간 반영 시 대략
180,000원수준 - MAU 과금은 아직 없음
결론:
- 이 단계의 핵심 비용은
Supabase egress + SMS - 아키텍처를 안 바꾸면
MAU 100k전에egress 최적화가 먼저 필요하다
시나리오 E. MAU 100k 돌파
가정:
- 파트너
2,000개 - MAU
120,000 - 사용자당 월 이미지 egress
15MB
비용 해석:
- MAU 초과분 =
20,000 - Supabase MAU overage =
약 $65 - 이미지 egress = 약
1.8TB - Supabase egress 초과분 =
1.55TB - Supabase egress overage =
약 $139.50
결론:
MAU 초과분자체보다egress 초과분이 더 크게 나올 수 있다.- 따라서 100k MAU 도달 전후의 핵심 기술 과제는
Auth 비용 절감이 아니라미디어 전달 구조 변경이다.
우선순위 판단
현재 구조에서 먼저 터질 가능성이 큰 항목 순서는 아래로 본다.
GitHub Actions 스케줄러의 private repo 비용SOLAPI SMS OTPSupabase 이미지 egressSupabase Pro 전환Supabase MAU overageNAVER Geocoding overageSupabase Edge Function overageSupabase Storage size / DB disk
권장 대응
지금 바로
- 푸시 스케줄러를
GitHub Actions에서Cloudflare Workers Cron또는 다른 always-on scheduler로 옮기는 것을 우선 검토한다. - 전화 OTP를
필수 온보딩으로 유지할지 재검토한다. - 파트너 이미지 원본/상세 이미지의 평균 실제 용량을 로그로 측정한다.
PMF 직전
- 이미지 egress를 월별로 추적한다.
사용자당 월 이미지 egress를 KPI처럼 본다.- Naver geocode 호출 수를 기능별로 분리 집계한다.
도시 확장 전
- 사진 전달을
Supabase direct public URL그대로 둘지 재검토한다. - 이미지 캐싱/리사이징/CDN 분리를 검토한다.
- SMS OTP를 유지할 경우
발송량 할인 구간과 재전송률을 같이 본다.
핵심 결론
- 현재 구조에서 가장 먼저 위험해질 가능성이 큰 비용은
MAU가 아니라이미지 egress다. 전화 OTP는 소액처럼 보이지만, 초기 단계에서 가장 빨리 붙는 현금성 가변비다.NAVER Geocoding은 무료 제공량이 커서 초기 폭탄 가능성은 낮다.GitHub Actions 5분 cron은 repo가 private일 경우 숨은 고정비가 될 수 있다.- 기술비용 최적화의 1순위는
인증이나DB가 아니라스케줄러 구조와미디어 전달 구조다.
출처
- Supabase Billing Overview:
https://supabase.com/docs/guides/platform/billing-on-supabase - Supabase Compute:
https://supabase.com/docs/guides/platform/manage-your-usage/compute - Supabase MAU:
https://supabase.com/docs/guides/platform/manage-your-usage/monthly-active-users - Supabase Storage Size:
https://supabase.com/docs/guides/platform/manage-your-usage/storage-size - Supabase Billing FAQ:
https://supabase.com/docs/guides/platform/billing-faq - NAVER CLOUD Maps Pricing:
https://www.fin-ncloud.com/charge/region/ko - NAVER CLOUD notice on AI NAVER API -> Maps migration:
https://www.ncloud.com/support/notice/all/1930 - SOLAPI Messaging Pricing:
https://solapi.com/msg - SOLAPI Tiered Pricing:
https://solapi.com/tiered-pricing - Cloudflare CDN / Website Plans:
https://www.cloudflare.com/en-in/application-services/products/cdn/ - Cloudflare Workers Pricing:
https://developers.cloudflare.com/workers/platform/pricing/ - Cloudflare Workers Platform Pricing:
https://workers.cloudflare.com/pricing - Cloudflare Pages Limits:
https://developers.cloudflare.com/pages/platform/limits/ - GitHub Actions Billing:
https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions - GitHub Actions Runner Pricing:
https://docs.github.com/en/billing/reference/actions-minute-multipliers - Expo Push FAQ:
https://docs.expo.dev/push-notifications/faq/