> For the complete documentation index, see [llms.txt](https://help.blings.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.blings.io/role-guides/developer/getting-started/project-architecture.md).

# Project Architecture

A typical project involves the following components:

1. Web Client-side SDK
2. Data-store (either a CRM, a custom API of the customer, or a CSV table hosted on Blings servers)
3. Blings Platform
4. Blings template repository

**The HTML page containing the SDK is doing the following steps:**

1. Getting the specific video template for this project from *Blings template repository*.
2. Getting specific the end-user's data, either from:
   1. External *data-store* (custom API, CRM)
   2. Data hosted on Blings servers
   3. Passing the data directly to the SDK
3. Getting settings from *Blings Platform* (if they exist)
4. The video is generated on the fly, and video analytics are sent to *Blings Platform*

Use Platform Integration to collect generated delivery instructions before connecting a CRM, CSV workflow, SDK page, or custom API. Use Platform Simulation separately to validate project data.

{% content-ref url="/pages/x3JPpFV8w1i0Dwwm10bj" %}
[Integration](/apps/blings-platform/integration.md)
{% endcontent-ref %}

{% content-ref url="/pages/VkH17x1J2SH1VmvzEgwU" %}
[Simulation](/apps/blings-platform/simulation.md)
{% endcontent-ref %}

{% hint style="info" %}
**NOTE**: For customers that have a limited IP whitelist, we can remove all calls to Blings systems. In this case, the video template will be compiled inside the SDK, and we won't support analytics.
{% endhint %}
