> ## Documentation Index
> Fetch the complete documentation index at: https://backdrift.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> From prompt to production in 5 minutes.

This guide walks you through creating and deploying your first Backdrift backend.

## Prerequisites

* A Backdrift account ([sign up here](https://backdrift.ai))
* A modern web browser

That's it. No AWS account, no CLI tools, no infrastructure knowledge required.

## Step 1: Create a Project

<Steps>
  <Step title="Log in to the Dashboard">
    Go to [backdrift.ai](https://backdrift.ai) and sign in.
  </Step>

  <Step title="Click 'New Project'">
    From the dashboard, click the **New Project** button.
  </Step>

  <Step title="Name Your Project">
    Give your project a name like "Task Manager" or "My First Backend".
  </Step>
</Steps>

## Step 2: Describe Your Backend

You have two options:

<Tabs>
  <Tab title="Start from Template">
    Choose from pre-built templates:

    * **Task Management** - Projects, tasks, team members
    * **E-commerce** - Products, orders, customers
    * **CRM** - Contacts, deals, activities
    * **Blog** - Posts, authors, comments
  </Tab>

  <Tab title="Describe from Scratch">
    Write a natural language description:

    ```
    A task management app where users can create projects,
    add tasks with due dates and priorities, and assign
    tasks to team members. Each organization should have
    isolated data.
    ```
  </Tab>
</Tabs>

## Step 3: Refine with AI Chat

After your initial description, you can chat with the AI to refine your spec:

```
User: "Add a comments feature to tasks"
AI: "I've added a comments entity with author, content, and timestamp fields..."

User: "Tasks should have file attachments"
AI: "I've added file storage support with S3 buckets configured..."
```

## Step 4: Preview & Validate

Before deploying, click **Preview** to see:

* **Infrastructure Changes** - What resources will be created
* **Cost Estimate** - Monthly cost at different usage tiers
* **Validation Report** - Security and architecture checks

<Frame>
  <img src="https://mintlify.s3.us-west-1.amazonaws.com/backdrift/images/preview-example.png" alt="Preview Dialog" />
</Frame>

## Step 5: Deploy

Click **Deploy** and watch the magic happen:

1. ✅ Database tables created
2. ✅ Authentication configured
3. ✅ API endpoints deployed
4. ✅ Frontend application built
5. ✅ Health checks verified

In about 2-3 minutes, you'll have:

* A live **API URL** (e.g., `https://xyz123.execute-api.us-east-2.amazonaws.com`)
* A live **Frontend URL** (your React admin app)
* A **Cognito User Pool** for authentication

## Step 6: Test Your Backend

### Health Check

```bash theme={null}
curl https://your-api-url.amazonaws.com/health
```

```json theme={null}
{
  "status": "healthy",
  "timestamp": "2024-01-15T10:30:00Z",
  "service": "task-manager-health-handler"
}
```

### Create a User

Use the generated frontend to sign up, or use the AWS Console to create a test user in your Cognito User Pool.

### Make API Calls

```bash theme={null}
# Get an access token (from Cognito)
TOKEN="your-jwt-token"

# List tasks
curl https://your-api-url.amazonaws.com/v1/tasks \
  -H "Authorization: Bearer $TOKEN"

# Create a task
curl -X POST https://your-api-url.amazonaws.com/v1/tasks \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"title": "My first task", "priority": "high"}'
```

## What's Next?

<CardGroup cols={2}>
  <Card title="Download SDKs" icon="download" href="/artifacts/sdks">
    Get Python and TypeScript clients for your API.
  </Card>

  <Card title="Integrate with Lovable" icon="heart" href="/integrations/lovable">
    Use the Design Doc to build a frontend with Lovable.
  </Card>

  <Card title="Add Features" icon="plus" href="/workflow/spec-chat">
    Use Spec Chat to add authentication, jobs, or file storage.
  </Card>

  <Card title="Manage Data" icon="database" href="/operations/admin-dashboard">
    Use the Admin Dashboard to browse and edit records.
  </Card>
</CardGroup>
