<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/how-to-save-3-774-a-month-with-codemagic-patch-c4njpae9v" -->

---
title: How to Save $3,774 a Month with Codemagic Patch | daily.dev
description: Codemagic Patch is a self-hosted, open-source replacement for the retired CodePush service, providing OTA (over-the-air) JavaScript updates for React Native...
canonical: https://daily.dev/posts/how-to-save-3-774-a-month-with-codemagic-patch-c4njpae9v
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: How to Save $3,774 a Month with Codemagic Patch | daily.dev
og:description: Codemagic Patch is a self-hosted, open-source replacement for the retired CodePush service, providing OTA (over-the-air) JavaScript updates for React Native...
og:url: https://daily.dev/posts/how-to-save-3-774-a-month-with-codemagic-patch-c4njpae9v
og:image: https://api.daily.dev/og/posts/c4nJPae9V.png
og:image:alt: How to Save $3,774 a Month with Codemagic Patch
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# How to Save $3,774 a Month with Codemagic Patch

**[ITNEXT](https://daily.dev/sources/itnext)** · 8 min read · 0 upvotes · 0 comments

## Summary

Codemagic Patch is a self-hosted, open-source replacement for the retired CodePush service, providing OTA (over-the-air) JavaScript updates for React Native and Expo apps. It ships a server, release worker, SDK, CLI and dashboard, using static manifest files served from a CDN instead of database lookups, which Codemagic claims handles far more requests per second than a database-backed alternative like HotUpdater's default Cloudflare setup. The piece walks through local setup with Docker Compose, publishing releases via the CLI, gradual rollouts, and automatic rollback on crash. It closes with a cost comparison arguing that self-hosting Patch can save roughly $3,774 a month versus Expo's EAS Update at a million monthly active users, while noting the article is sponsored by Codemagic and includes a Discord giveaway.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://itnext.io/how-to-save-3-774-a-month-with-codemagic-patch-cac0ecd00783>

## Questions this post answers

### What happened to Microsoft App Center and CodePush for React Native OTA updates?

Microsoft retired App Center and CodePush in March 2025, removing the tool many React Native developers relied on to push JavaScript updates without app-store review. Codemagic maintained a CodePush fork for 18 months afterward before releasing Codemagic Patch, a self-hosted rewrite with a server, release worker, React Native SDK, Expo config plugin, CLI, and dashboard.

_Track ecosystem shifts like OTA update tooling changes so migration decisions don't get made in a rush, with daily.dev._

### How does Codemagic Patch check for app updates without hitting a database on every request?

Codemagic Patch answers update checks with static manifest files served from a CDN rather than a database query. Each device requests a path built from its deployment key, binary version, and current bundle hash (e.g. /ios-staging-key/1.4.0/8f2a91c/manifest.json); if the file exists, a newer bundle is available, and if it 404s, the device is current. In a benchmark at 1,000 requests per second, this approach handled all 6,331 requests while a database-backed alternative (Cloudflare Worker plus D1) completed only 564.

_Compare OTA update architectures like this before betting a mobile release pipeline on one, via daily.dev._

### Is it cheaper to self-host React Native OTA updates with Codemagic Patch or use Expo EAS Update?

At a million monthly active users, Expo's EAS Update Production pricing comes to about $3,774 a month based on public list prices, while Codemagic Patch is free in licensing fees up to a million monthly active users under its server license, requiring only self-hosted server, storage, and CDN costs, estimated at a few hundred dollars a month using Cloudflare R2 or CloudFront egress.

_Weigh managed versus self-hosted OTA costs like these before locking in a mobile release budget, with daily.dev._

## Similar posts on daily.dev

- [Self-hosted OTA for an hour a month](https://daily.dev/posts/self-hosted-ota-for-an-hour-a-month-1p5i8qthk) · codemagic · 0 upvotes · 0 comments
- [Announcing Codemagic Patch: an open-source CodePush rebuild for React Native](https://daily.dev/posts/announcing-codemagic-patch-an-open-source-codepush-rebuild-for-react-native-lxos7ric3) · codemagic · 0 upvotes · 0 comments
- [React Native Over-the-Air Updates in 2026: Skip the App Store Wait with Codemagic CodePush](https://daily.dev/posts/react-native-over-the-air-updates-in-2026-skip-the-app-store-wait-with-codemagic-codepush-2jba3bybj) · codemagic · 1 upvotes · 0 comments

---

Tags: [#react-native](https://daily.dev/tags/react-native)

[View this post on daily.dev](https://daily.dev/posts/how-to-save-3-774-a-month-with-codemagic-patch-c4njpae9v)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"How to Save $3,774 a Month with Codemagic Patch","url":"https://daily.dev/posts/how-to-save-3-774-a-month-with-codemagic-patch-c4njpae9v","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/how-to-save-3-774-a-month-with-codemagic-patch-c4njpae9v"},"datePublished":"2026-09-02T09:25:42.433Z","dateModified":"2026-09-02T09:26:14.463Z","description":"Codemagic Patch is a self-hosted, open-source replacement for the retired CodePush service, providing OTA (over-the-air) JavaScript updates for React Native...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/7ff31c68970842dc23a00b18553fd52d?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/7ff31c68970842dc23a00b18553fd52d?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"ITNEXT","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"ITNEXT","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/itnext2","url":"https://daily.dev/sources/itnext"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/how-to-save-3-774-a-month-with-codemagic-patch-c4njpae9v","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"react-native","timeRequired":"PT8M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"ITNEXT","item":"https://daily.dev/sources/itnext"},{"@type":"ListItem","position":3,"name":"How to Save $3,774 a Month with Codemagic Patch"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/how-to-save-3-774-a-month-with-codemagic-patch-c4njpae9v#faq","mainEntity":[{"@type":"Question","name":"What happened to Microsoft App Center and CodePush for React Native OTA updates?","acceptedAnswer":{"@type":"Answer","text":"Microsoft retired App Center and CodePush in March 2025, removing the tool many React Native developers relied on to push JavaScript updates without app-store review. Codemagic maintained a CodePush fork for 18 months afterward before releasing Codemagic Patch, a self-hosted rewrite with a server, release worker, React Native SDK, Expo config plugin, CLI, and dashboard. Track ecosystem shifts like OTA update tooling changes so migration decisions don't get made in a rush, with daily.dev."}},{"@type":"Question","name":"How does Codemagic Patch check for app updates without hitting a database on every request?","acceptedAnswer":{"@type":"Answer","text":"Codemagic Patch answers update checks with static manifest files served from a CDN rather than a database query. Each device requests a path built from its deployment key, binary version, and current bundle hash (e.g. /ios-staging-key/1.4.0/8f2a91c/manifest.json); if the file exists, a newer bundle is available, and if it 404s, the device is current. In a benchmark at 1,000 requests per second, this approach handled all 6,331 requests while a database-backed alternative (Cloudflare Worker plus D1) completed only 564. Compare OTA update architectures like this before betting a mobile release pipeline on one, via daily.dev."}},{"@type":"Question","name":"Is it cheaper to self-host React Native OTA updates with Codemagic Patch or use Expo EAS Update?","acceptedAnswer":{"@type":"Answer","text":"At a million monthly active users, Expo's EAS Update Production pricing comes to about $3,774 a month based on public list prices, while Codemagic Patch is free in licensing fees up to a million monthly active users under its server license, requiring only self-hosted server, storage, and CDN costs, estimated at a few hundred dollars a month using Cloudflare R2 or CloudFront egress. Weigh managed versus self-hosted OTA costs like these before locking in a mobile release budget, with daily.dev."}}]}
```

