# Summary

In order to develop a web application in CARTO. These are the general steps to follow:

1. **Connect:** You need to [connect](https://docs.carto.com/carto-user-manual/connections) your CARTO organization to your data warehouse: [BigQuery](https://cloud.google.com/bigquery), [Redshift](https://aws.amazon.com/redshift/), [Snowflake](https://www.snowflake.com/), [Databricks](https://www.databricks.com/), [Oracle](https://docs.carto.com/carto-user-manual/connections/oracle), [PostgreSQL](https://docs.carto.com/carto-user-manual/connections/postgresql), or using the ready-to-use [CARTO Data Warehouse](https://docs.carto.com/carto-user-manual/connections/carto-data-warehouse).
2. **Authenticate:** The CARTO libraries and APIs will then require a valid [token](https://docs.carto.com/carto-user-manual/developers/managing-credentials/api-access-tokens), obtained from any of the strategies explained in [Authentication Methods](https://docs.carto.com/carto-for-developers/key-concepts/authentication-methods) section.
3. **Build:** The next step is to build a web application, using the any Javascript framework of your choice, such as [React](https://react.dev/), [Angular](https://angular.io/), [Vue.js](https://vuejs.org/), etc. Use the [CARTO Libraries and APIs](https://docs.carto.com/carto-for-developers/key-concepts/apis) to accelerate your geospatial development.
   1. Use `@carto/api-client` to integrate your CARTO data sources
   2. Use `@deck.gl` and `@deck.gl/CARTO` to visualize your data in a map.
   3. Use the CARTO APIs for extra functionality: SQL API, Geocoding, etc.
   4. You can [embed or retrieve maps](https://docs.carto.com/carto-for-developers/key-concepts/rapid-map-prototyping) and layer configurations from CARTO Builder.
4. **Charts, widgets, interactivity and filtering:** To create interactive charts and widgets that stay synchronized with your map, you should use [CARTO Widgets](https://docs.carto.com/carto-for-developers/key-concepts/charts-and-widgets)
5. **AI-powered interaction (optional):** Add [natural language map control](https://docs.carto.com/carto-for-developers/key-concepts/ai-powered-map-interaction) to your application using `@carto/agentic-deckgl`, so users can interact with the map through chat.
6. **Deployment:** Finally, you just need to choose where to deploy your CARTO application. Most applications built using CARTO do not need additional backend services, and therefore, can be deployed in a service that simply serves static files like [Firebase Hosting](https://firebase.google.com/docs/hosting) or [Heroku](https://www.heroku.com/).
