# 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 control panel
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 control panel* (if exist)
4. The video is generated on the fly, and video analytics are sent to *Blings control panel*

{% 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 %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.blings.io/developers/getting-started/project-architecture.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
