株式会社オブライト
Software Development2026-03-01

Mobile App Backend & API Architecture Guide: Firebase vs Supabase vs Custom Servers

From Firebase, Supabase, and AWS Amplify comparison to REST/GraphQL design, authentication, push notifications, and real-time sync. Our Shinagawa-based development team provides a thorough backend selection guide including cost estimates by MAU scale.


Backend Selection Determines Mobile App Business Growth

Mobile app backend architecture is a foundational technology choice that determines app performance, scalability, development speed, and long-term operational costs. While BaaS (Backend as a Service) maturation has dramatically reduced server-side development costs, the abundance of options has conversely made decision-making more difficult for engineers and product managers. Startups in the Shinagawa, Minato, and Shibuya areas need to build MVPs rapidly with limited resources, and a backend selection mistake directly translates to months of lost development effort. This article comprehensively covers everything needed for mobile app backend selection, from comparing major 2026 BaaS platforms to API design, authentication, real-time sync, and cost estimates by MAU scale.

BaaS Comparison: Firebase vs Supabase vs AWS Amplify vs Appwrite

Firebase (Google Cloud) is the pioneer of mobile BaaS, providing a one-stop solution including Firestore (NoSQL database), Authentication, Cloud Functions, Cloud Messaging (push notifications), Crashlytics, Analytics, and Remote Config. The 2026 update added Firestore Vector Search, making AI feature integration seamless. Supabase has seen rapid growth as an open-source Firebase alternative, offering a PostgreSQL-based relational database, Row Level Security, Realtime Subscriptions, Edge Functions, Storage, and vector search via Pgvector. AWS Amplify Gen 2 features Infrastructure from Code with TypeScript, automatically provisioning AppSync (GraphQL), Cognito (authentication), Lambda, and S3 from the codebase. Appwrite has gained attention as a self-hostable open-source BaaS, offering the convenience of BaaS while maintaining complete data ownership. At our Shinagawa office, we select among these four platforms based on project scale and requirements.

REST vs GraphQL: Optimal API Design for Mobile Apps

RESTful APIs remain the strongest choice for CRUD-centric applications due to their simple design, low learning curve, and excellent HTTP cache compatibility. Using OpenAPI 3.1 schema definitions with code auto-generation (openapi-generator) maximizes development efficiency while maintaining type safety between client and server. GraphQL is particularly effective in bandwidth-limited environments like mobile networks since it retrieves only the necessary data in a single request, fundamentally eliminating the N+1 problem that plagues REST APIs when fetching complex related data. GraphQL client libraries such as Apollo Client (React Native) and Ferry (Flutter) have built-in cache management and offline support features, making them highly compatible with mobile apps. For client projects in Setagaya and Meguro, we increasingly adopt a configuration where admin panels and batch processing use REST while mobile app APIs use GraphQL.

Authentication Patterns: OAuth 2.0, JWT, and Social Login

Mobile app authentication is a critical area requiring both security and convenience. OAuth 2.0 with PKCE (Proof Key for Code Exchange) is the standard authentication protocol for mobile apps, combining the Authorization Code Flow with redirects to securely obtain access tokens. For stateless JWT authentication, a two-tier structure of access tokens (approximately 15-minute expiry) and refresh tokens (days to weeks expiry) is recommended, with refresh tokens securely stored in Secure Enclave or Android Keystore. For social login implementation (Google, Apple, LINE, X/Twitter), Sign in with Apple is mandatory per App Store requirements, and LINE login support directly impacts user acquisition in the Japanese market. Firebase Authentication and Supabase Auth integrate these providers in one stop, with MFA (multi-factor authentication) and Passkey support included as standard. For fintech projects in Minato and Shinagawa, additional requirements for biometric authentication (Face ID/Touch ID) integration and eKYC (online identity verification) necessitate particularly careful authentication infrastructure planning.

Push Notification Architecture: FCM/APNs Integrated Design

Push notifications are one of the most effective means of maintaining user engagement, with research showing that well-designed notifications can improve app DAU (Daily Active Users) by 20-30%. Firebase Cloud Messaging (FCM) delivers notifications to both Android and iOS (via APNs) through a unified interface, providing advanced features such as topic subscriptions, user segment targeting, and A/B testing. In notification payload design, distinguishing between data messages and notification messages is crucial, with data messages used when custom handling is needed even when the app is in the foreground. Notification delivery timing is most effective when scheduling considers user timezone and behavior patterns, and our team has implemented machine learning prediction models for optimal send times. For retail clients in Ota and Shinagawa, geofencing (location-triggered) notifications combined with store visit incentive campaigns achieved a 15% increase in physical store visitors.

Real-Time Data Sync: Firestore vs Supabase Realtime vs WebSocket

Real-time features such as chat, collaboration tools, and live update dashboards have become user experience differentiators in modern mobile apps. Cloud Firestore's real-time listeners provide change detection at the document and collection level, operating seamlessly even during network disconnection through automatic offline cache synchronization. Supabase Realtime monitors PostgreSQL's WAL (Write-Ahead Log) and pushes database changes to clients via WebSocket, with the ability to filter based on per-user permissions in conjunction with RLS (Row Level Security). Custom WebSocket implementations using Socket.io or GraphQL Subscriptions can address advanced real-time requirements that BaaS cannot fully handle, such as binary data transmission and custom protocol implementation. For startups near Shinagawa, a phased approach of using Firestore during the prototype stage and migrating to Supabase Realtime or custom WebSocket in production is also effective.

File Storage, CDN, and Serverless Functions

File management for user-uploaded images, videos, and documents in mobile apps is achieved through a combination of storage services and CDN. Firebase Storage, built on Cloud Storage for Firebase, provides access control via Security Rules and automatic resizing through Extensions, while Supabase Storage integrates RLS-based access control with S3-compatible object storage. For CDN delivery, services with different cost structures are available including Cloudflare R2 (zero egress fees), CloudFront, and Vercel Blob Storage, requiring optimal selection based on image delivery volume. Serverless functions can be implemented via Cloud Functions (Firebase) or Edge Functions (Supabase, powered by Deno Deploy), complementing backend logic that BaaS alone cannot handle, such as external API integration, image processing, scheduled batches, and webhook handlers. For media apps in Shibuya and Minato, building an image optimization pipeline (upload, resize, WebP conversion, CDN delivery) is essential, and our team provides cost-efficient solutions utilizing Cloudflare Images.

Database Selection: PostgreSQL, MongoDB, DynamoDB

Database selection for mobile app backends should be based on data model characteristics and query patterns. PostgreSQL excels in relational data normalization and transaction processing, with serverless PostgreSQL services like Supabase, Neon, and PlanetScale minimizing operational burden. MongoDB, as a schemaless document store, offers high flexibility for schema changes during the prototype stage and strong JSON structure affinity, but is not well suited for expressing complex relations. DynamoDB, as an AWS-native NoSQL database, provides millisecond-level low latency and virtually unlimited scalability, though query flexibility is heavily dependent on partition key and sort key design. For e-commerce apps with complex relationships between products, orders, and users, PostgreSQL is optimal, while DynamoDB or MongoDB is better suited for accumulating large volumes of unstructured data such as IoT data or logs. For manufacturing IoT projects in Shinagawa and Ota, a polyglot configuration using DynamoDB for device data and PostgreSQL for business data is increasingly being adopted.

API Versioning, Rate Limiting, and Caching Strategies

In mobile app API operations, versioning strategy is extremely important for maintaining app backward compatibility. URL path-based versioning (/api/v1/, /api/v2/) is the simplest and most common approach, guaranteeing that older app versions continue to function while promoting migration to new APIs. Rate limiting is implemented using token bucket algorithms or sliding window methods, with general guidelines of 60 requests per minute for unauthenticated users and 300 requests per minute for authenticated users. For caching strategy, in addition to proper HTTP cache header configuration (Cache-Control, ETag), the SWR (Stale-While-Revalidate) pattern on the client side effectively displays cached data immediately while fetching the latest data in the background. Introducing an API gateway such as Cloudflare Workers, AWS API Gateway, or Kong Gateway enables centralized management of rate limiting, authentication, caching, and logging.

Offline-First Design and Monthly Cost Comparison by MAU Scale

Mobile apps must function even in environments with unstable network connectivity, making offline-first design increasingly important. Designing synchronization strategies between local databases such as WatermelonDB (React Native) or Isar/Drift (Flutter) and server data requires pre-defining conflict resolution policies (Last Write Wins, Operational Transform, CRDT, etc.). For monthly cost estimates by MAU scale: at 1,000 MAU, Firebase free tier ($0), Supabase free tier ($0), and custom server (VPS $20-$50) are all viable. At 10,000 MAU, costs are approximately Firebase Blaze ($50-$150/month), Supabase Pro ($25-$100/month), and custom server ($100-$300/month). At 100,000 MAU, typical ranges are Firebase ($300-$1,000/month), Supabase Team ($200-$600/month), and custom server ($500-$2,000/month). To maximize cost efficiency, a hybrid approach of rapid initial launch with BaaS followed by partial migration to custom servers as scale demands is effective.

Backend and API Design Support Services from Shinagawa

Mobile app backend selection requires strategic judgment that considers not only initial development costs but also long-term scalability and operational costs. Based in Shinagawa, our company leverages full-stack technical capabilities covering Firebase, Supabase, and custom servers to propose the optimal backend architecture for your business requirements. We offer on-site technical consulting for companies in the Minato, Shibuya, Setagaya, Meguro, and Ota ward areas. We receive numerous consultations regarding existing app backend replacement, BaaS migration, and performance improvement, and we provide complimentary consultations for optimal architecture design based on MAU scale and data characteristics. If you have any concerns about your mobile app's backend, please do not hesitate to contact our Shinagawa-based team.

Feel free to contact us

Contact Us