# Run the demo Signals React travel application
> Set up and run the demo travel website using Docker and Snowplow Local.
> Source: https://docs.snowplow.io/tutorials/signals-personalize-travel/setting-up/
> Documentation index: https://docs.snowplow.io/llms.txt

[![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/snowplow/documentation/blob/main/static/notebooks/signals-personalize-travel-demo.ipynb)

You'll now install and run the example travel website that you'll use to test Snowplow Signals personalization. This website represents a typical ecommerce travel platform where users browse destinations, read content, and interact with various features.

The demo website is part of the [Snowplow Local](https://github.com/snowplow-incubator/snowplow-local) repository. It's a React application.

## Clone Snowplow Local

Clone the Snowplow Local repository to your machine:

```text
git clone git@github.com:snowplow-incubator/snowplow-local.git
```

Change directory into the `snowplow-local` folder:

```text
cd snowplow-local
```

## Configure environment variables

Create an `.env` file based on the example file:

```text
cp .env.example .env
```

Edit the `.env` file with your Signals connection credentials:

```bash
NEXT_PUBLIC_SNOWPLOW_SIGNALS_API_URL=signals.snowplow.com
SNOWPLOW_SIGNALS_API_KEY=
SNOWPLOW_SIGNALS_API_KEY_ID=
SNOWPLOW_SIGNALS_ORGANIZATION_ID=
NEXT_PUBLIC_SNOWPLOW_COLLECTOR_URL=
```

If you plan to use the AI agent add an OpenAI API key (`OPENAI_API_KEY`) to your `.env` file.

## Run the travel website

Run the following Docker command:

```bash
docker compose --profile travel-site up
```

## Test the website

Open the travel website in your browser at <http://localhost:8086>. You should see the homepage of the travel site.

Open your browser's developer console (Ctrl+Shift+I or equivalent) and go to the Snowplow Inspector tab. Generate some events by clicking on filters on the [destinations](http://localhost:8086/destinations) page. You should see self-describing events firing into your Snowplow pipeline.

Explore the site to get familiar with its features before you define the attributes in the next step.
