# How to build your project

> Discover essential building tips for creating applications with PandaSuite, including responsive layouts, screen management, language integration, and more. Learn to optimize app size and collaborate effectively on projects.

https://docs.pandasuite.com/getting-started/key-considerations-for-building-your-app/

**When you start building your application, here are the main questions to ask yourself to better organize and manage your application with PandaSuite.**

## Responsive and layout management

When creating a new project, it automatically has a fixed aspect ratio which means that your design grows proportionally to the size of the screen, but margins may appear on a screen with another ratio.

To make your application automatically adapt to different screen sizes, you have two possibilities:

- **Create a responsive application (one layout):** your application has the same design and orientation on all devices. Activate the [Size & Position Scale](https://docs.pandasuite.com/essentials/layout/responsive-design/) mode and select each object on your screen to define its responsive settings.
- **Create an application with [several layouts](https://docs.pandasuite.com/essentials/layout/create-a-new-layout/) (adaptive):** your application has one or several designs adapted to each type of screen. The right layout will be automatically displayed depending on the device (mobile or tablet for example).

> **Info**
>
> To know: when you create a new layout, you have the choice between creating a
> blank layout or starting from an existing layout. Thus, we recommend that you
> finalize the first layout before creating the other. Any changes you make to
> one layout afterwards must be made to the other. You can save time by using
> the [Copy and
> Paste](https://docs.pandasuite.com/essentials/project-management/copy-paste-between-projects/) feature
> between projects.

## Number of screens

You can create an unlimited number of screens in your application.

> **Note**
>
> The screen is the basic unit of your application. Each screen corresponds to a
> major step in the user journey: authentication, welcome, article, news...

> **Info**
>
> In terms of user experience, you have to take into account that each screen is
> independent and that there is a loading at each display. If you want to create
> transition effects, you can use
> [foreground/background](https://docs.pandasuite.com/essentials/project-properties/foreground-and-background/) or
> [create new states](https://docs.pandasuite.com/essentials/interactions/understand-states/).

Here are the screens of the [Stay at home](https://pandasuite.com/templates/mobile-health-app/) mobile app:

[Image: Five screens of the Stay at home mobile app: home, reading suggestions, back-home tips, quiz and official certificate]

To create a new screen, click on the **+ Add screen** in the screens window.

Each screen is independent: it is up to you to create the links between screens with the **Change screen** action.

> **Info**
>
> The order of the screens only makes sense if you enable [Magazine
> mode](https://docs.pandasuite.com/essentials/navigation/magazine-mode/) or create a **Go to Next/Back**
> screen action.

## Screen versus state

Each screen has a default state. If you want to animate your screen, you can create transitions using new states. You can create new independent states or linked states. The linked state retains all the characteristics of the initial state and a link to this other state. It is the state that allows you to create transitions and animations.

When you create a linked state and change the layout of your objects, a transition is applied and your objects are animated.

## Global elements

While your screens are independent, [the foreground and background](https://docs.pandasuite.com/essentials/project-properties/foreground-and-background/) are global to the application: they are located above and below your screens. The foreground in particular allows you to create visual elements that are global to your application (e.g. a navigation bar) and to insert elements that have a persistent use in your application (e.g. an HTTP component).

To edit the foreground and background, go to your **Project** level.

[Image: Editing a foreground in PandaSuite Studio: the Foregrounds list on the left, a navigation bar at the bottom of the screen]

## Language management

You can [add several languages](https://docs.pandasuite.com/essentials/project-properties/languages-and-localization/) to your application. The advantage is that you create a single layout of your project and insert the translated content (text, images) in the different languages. There is no automatic translation, it is up to you to translate the texts beforehand.

To add new languages, go to the **Project** properties, in the **Languages** section.

The initial language of the project, the one in which you have worked, is marked **\[initial]**.

To add a new language, click **+ Add** and choose it in the list.

[Image: Languages section of the project properties, framed: + Add, then English as the initial language and French]

## App size

There are no storage limitations with PandaSuite. Nevertheless it is important to control the [size of the app](https://docs.pandasuite.com/essentials/project-management/optimize-your-app-size/) for your users, especially if you are delivering a native app to your audience's personal device. This is an important criterion for your users to monitor their available space. If you publish on the web instead, hosting, delivery, and performance with many simultaneous users are handled automatically: see [Hosting and performance](https://docs.pandasuite.com/essentials/web-publishing/hosting-and-performance/).

> **Info**
>
> Each application has a size in megabytes that determines how much storage it
> needs to run on users' devices. Since storage space is limited, it is
> important that an application offers a reasonable size to the user.

## One or multiple projects?

With the [Multi](https://docs.pandasuite.com/account/subscription/the-multi-plan/), [Full](https://docs.pandasuite.com/account/subscription/the-full-plan/), and [Ultra](https://docs.pandasuite.com/account/subscription/the-ultra-plan/) plans, you have the possibility to distribute several projects within the same application. Your application becomes a content hub where you can manage content and access.

A project corresponds to a specific content that addresses an audience. If you want to create other content for other targets, you can create other projects and make them accessible within the same interface.

> **Info**
>
> Let's take the example of an application that gathers all business materials
> for the ACME salespeople. It is possible to integrate within this application
> the corporate sales materials accessible to all and to create
> [channels](https://docs.pandasuite.com/essentials/content-management/channel/) (folders) for each category
> of sales representatives (B2B, EMEA, Africa etc...). You can send each sales
> person the access link to their content.

## Teamwork

It is not yet possible to work simultaneously on the same project. We recommend that you break down your project into several projects (sandbox projects and a master project) and combine them into one project by [copying and pasting](https://docs.pandasuite.com/essentials/project-management/copy-paste-between-projects/) between projects.
