Skip to main content
Firebase is Google’s managed BaaS: Firestore, Realtime Database, Auth, Cloud Functions, Storage, and many other mobile-focused services. Pylon overlaps with Firestore, Functions, Auth, and Storage. The rest of Firebase (FCM, Crashlytics, Analytics) is out of scope.

TL;DR

  • Choose Firebase if you are building a mobile app, you want Google’s ecosystem (FCM push notifications, Crashlytics, GA4 integration), and a closed-source backend is acceptable.
  • Choose Pylon if you want self-host, no vendor lock-in, structured data, faceted search, or game shards (authored in Rust).

Big picture differences

If you want everything Google ships (push notifications, analytics, A/B testing, remote config, and the broader Google Cloud ecosystem), Firebase is a better fit. Pylon focuses on the backend; pair it with dedicated single-purpose services.

Schema and data

Firestore is schemaless: any document can have any shape. Rules act as a soft schema by validating fields. This helps rapid prototyping, but it causes problems at scale: typos become orphan rows, and refactoring fields is a manual sweep. Pylon’s schema is declarative TypeScript:
You get types in your client (after codegen), automatic indexes, and a single source of truth.

Realtime model

Both ship realtime sync. The mental model differs:
  • Firestore listeners are per-document or per-query. You attach a listener; it fires when the matching documents change. Listeners are stateful, so you manage their lifecycle.
  • Pylon’s sync engine maintains a local replica of every entity you have subscribed to. useQuery("Todo") returns the live array; the engine handles tombstones, optimistic mutations, and reconnection.
Pylon’s model is closer to Convex (replica plus reactive queries). Firebase’s is closer to RxJS (observable streams). Both work. Pylon’s approach treats the local replica as the source of truth, which suits offline-capable apps. Firestore Standard does not provide Pylon’s built-in faceted search shape. Firestore Enterprise adds text search, and many Firebase apps still use Algolia, Elastic, Typesense, or another search service when they need richer ranking and facets. Pylon ships FTS5 + roaring-bitmap facets in the binary. No second hosted search system is required for common faceted-search UI.

Functions

Firebase Cloud Functions can cold start when no warm instance is available. Firebase gives you controls such as min instances and concurrency to reduce that. Pylon functions run inside the already-running Pylon process, so there is no separate serverless function cold start.

Push notifications

Pylon does not ship a push provider. FCM is excellent and free up to enormous volumes, so keep using it on top of any backend, including Pylon. The pattern: register the device token through a Pylon action, then send through FCM from your function or a separate worker.

Pricing

Firebase pricing is itemized across separate meters: Firestore reads, writes, deletes, network egress, function invocations, function GB-seconds, storage, downloads, and related products. The Blaze plan auto-scales, which is useful but needs budget controls. Pylon Cloud is a platform plan plus machine compute and included quotas. Self-hosted, you pay your VPS bill.

Migrating from Firebase

This is the hardest migration of any of the comparisons. Firestore’s schemaless documents typically denormalize aggressively (embedding user info inside every post, for example). Porting to Pylon’s relational model means:
  1. Identify entities — what is a top-level row vs. nested data?
  2. Normalize denormalized data — extract User, Org, etc. into their own tables
  3. Port security rules to policies — Firestore rules use a custom DSL; Pylon policies are simpler boolean expressions
  4. Re-shape clientsfirestore.collection("todos").onSnapshot(...)useQuery("Todo")
Auth migration is tractable: export Firebase Auth users, import as Pylon User rows with emailVerified set, ask users to sign in once via magic code (which auto-binds their existing email).

Pylon tradeoffs

Firebase’s mobile-first integrations (FCM, Crashlytics, A/B testing via Remote Config, in-app messaging) have no Pylon equivalent. If your app’s most important behaviors are around push notifications and mobile experimentation, Firebase has more polish. Pylon assumes you will bring your own analytics, crash reporting, and push provider. Firestore also provides managed horizontal scale and very high throughput when modeled correctly. Pylon’s SQLite default is single-process; Postgres mode scales further but eventually hits its own limits. Neither Pylon nor SQLite fits a Twitter-scale app; that scale needs Spanner, Cassandra, or DynamoDB.

Both / and

Use Pylon for backend logic (data, sync, functions, auth) and FCM for push notifications. They do not conflict. Push notifications are a lightweight integration, not a full-stack commitment. This combination gives you Firebase-quality push without locking the rest of your stack into Google.