Shared Backend
Overview
MeDo lets multiple apps share one backend. A Website, App, and admin dashboard can reuse the same data and backend services while keeping their frontends independent. You can build the backend once, add channel-specific apps as your product grows, and keep business data synchronized across every app.
When to Use a Shared Backend
A shared backend is useful whenever several apps support the same users or business process. Common examples include:
- E-commerce: a customer storefront and a merchant dashboard share products, customers, and orders.
- Business operations: an employee app and an admin dashboard share accounts, permissions, and workflows.
- Content platforms: creator tools and a reader-facing site share published content and engagement data.
- SaaS products: a customer app and an operations dashboard share tenant and subscription data.
- AI products: Website and App experiences share user accounts, saved outputs, and usage records.
Create an App with a Shared Backend
- Open Project and select Create project.
- Describe the new app and choose the appropriate app type, such as Website or App.
- Select an existing project as the shared backend instead of creating a separate backend.
- Confirm the project whose backend you want to reuse, then continue generating the new app.
- In the generated app, verify the data model and permissions before adding or changing shared data.
The new app reuses the selected project's backend configuration, including its data and supported backend services. Its frontend remains separate, so you can design and update it for a different audience or device without rebuilding the backend.
Manage Shared-Backend Apps
Project Management
The Shared Backend group on the Project page brings together projects that use a shared backend. You can use it to find related apps, check whether their backend is available, and manage backend enablement for each app.
Because every app is still an independent project, publishing, access, and app-specific settings remain separate unless the product explicitly indicates that a setting is shared.
Editor Management
When you edit an app connected to a shared backend, the project switcher at the top of the editor lists the other apps connected to that backend. Use it to move between the customer-facing experience, operations dashboard, and other channel-specific apps without returning to the project list.
Changes to shared data structures or backend logic can affect every connected app. Before removing a field, changing a permission, or updating an Edge Function, confirm that the other apps no longer depend on it.
Shared Backend Resources
Apps connected to the same backend can share:
- Database: table structures and business data, such as users, products, and orders.
- Storage: uploaded files and other stored assets.
- Auth: sign-in configuration and user accounts for a consistent identity system.
- Edge Functions: deployed server-side functions that can be called by every connected app.
For example, a customer website, an admin dashboard, and an owner app can all work with the same customers, menu items, and orders. An order placed on the website can appear immediately in the admin dashboard and contribute to the metrics shown in the owner app.
Billing and Usage
Skills
Skills are configured and billed per app. Connecting apps to the same backend does not combine their Skill configuration, free usage, or Credit consumption.
Backend
Backend enablement is also billed per app. Each app with its backend enabled costs 2 Credits per app per day, even when several apps share the same backend. For example, a customer website, an admin dashboard, and an owner app sharing one backend are billed as three backend-enabled apps.
See the Credit System for current Credit rules and consumption details.
Benefits
- Build once, serve multiple channels: reuse one backend across a Website, App, and admin dashboard.
- Develop frontends independently: tailor navigation and workflows to each audience without duplicating backend work.
- Keep data consistent: every connected app reads and updates the same business records.
- Expand gradually: add a new channel to an existing product without recreating its data model and services.
Best Practice: Multi-Channel Restaurant Ordering
This example builds three apps on one backend to support a complete restaurant workflow:
- Customer website: customers browse the menu, place orders, and track order status.
- Admin dashboard: staff process orders, update statuses, and manage menu items.
- Owner app: the owner monitors sales, order activity, popular items, and pending work.
All three apps use the same customers, menu items, orders, and operational data.
Step 1: Build the Customer Website
Prompt
Build a restaurant ordering website where customers can browse menu items by category, customize options and add-ons, add items to a cart, place an order, and view order history with New, Preparing, Ready, and Completed statuses.
Features
- Menu browsing and categories
- Item options and add-ons
- Cart and checkout
- Order history
- Order status tracking
- Reorder from a previous order
Step 2: Build the Admin Dashboard
Create a second app and select the customer website's project as its shared backend.
Prompt
Using the same backend as the restaurant ordering website, build an admin dashboard for staff. Include administrator sign-in, order filtering by status, order status updates, menu item management, today's order count, and today's revenue.
Features
- Administrator sign-in
- Order list and status filters
- Order status updates
- Menu item management
- Today's order count
- Today's revenue
Step 3: Build the Owner App
Create a third app and select the same project as its shared backend.
Prompt
Using the same backend as the customer website and admin dashboard, build an owner app. Show today's revenue, order volume, best-selling items, pending orders, sales and order trends, and new-order alerts.
Features
- Business overview
- Today's revenue and order volume
- Pending orders
- Best-selling items
- Sales and order trends
- New-order alerts