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

# Cross-App Calls vs Shared Data Stores

> How to decide whether your apps should share a database or talk to each other through APIs

When two apps need to work with the same data, you have two options: connect them to a [shared data store](/data-stores/overview), or have them [call each other's APIs](/cross-app/overview). This page helps you pick the right one.

## The Short Version

**Share a data store** when the apps need the same data and neither one "owns" it.

**Use cross-app calls** when one app needs to tell another app to do something, or when the apps have their own data but need to exchange specific pieces of it.

## When to Share a Data Store

A shared data store works best when multiple apps are different views into the same underlying data. They all read and write the same tables, and changes show up everywhere instantly.

Good examples:

* **POS + QR ordering + back-office dashboard** — all three apps work with the same menu, orders, and customers. They're different interfaces to the same restaurant.
* **Customer portal + admin panel** — customers see their own data, staff sees everyone's. Same database, different access levels.
* **Mobile app + website** — two frontends for the same product. Same users, same content, same everything.

The pattern: the apps are tightly coupled and wouldn't make sense without each other. They share a data model.

## When to Use Cross-App Calls

Cross-app calls work best when the apps are independent systems that occasionally need to interact. Each app has its own data and its own purpose.

Good examples:

* **POS + kitchen display** — the POS manages customers and payments, the kitchen manages prep queues and timing. The POS sends orders to the kitchen, the kitchen sends "ready" status back.
* **CRM + invoicing** — the CRM tracks deals, the invoicing app generates and sends invoices. When a deal closes, the CRM tells the invoicing app to create an invoice.
* **Booking site + notification service** — the booking app handles reservations, the notification app handles emails and SMS. The booking app tells the notification app when to send confirmations and reminders.

The pattern: the apps could exist independently. They have different data models and different responsibilities. They trigger actions in each other at specific moments.

## Decision Guide

| Question                                         | Data store  | Cross-app calls |
| ------------------------------------------------ | ----------- | --------------- |
| Do the apps share the same core data?            | Yes         | No              |
| Does one app need to trigger actions in another? | Not usually | Yes             |
| Would the apps make sense on their own?          | No          | Yes             |
| Do changes need to appear everywhere instantly?  | Yes         | Not critical    |
| Do the apps have different data models?          | No          | Yes             |

## Using Both

Some setups use both. A group of restaurant apps might share a data store for the menu and order data, but use cross-app calls to notify a separate delivery dispatch app when an order is ready for pickup. The delivery app is a different system with its own data — it just needs to know when orders are ready.
