Bolt.new

Build full-stack applications in your browser with Bolt.new, powered by Stack0 for email and files.

Quick Setup

Bolt.new runs entirely in the browser and supports npm packages. Just tell it to install @stack0/sdk and provide your API key.

Starting Your Project

Open bolt.new and paste one of these prompts to get started:

Contact Form App

Create a Next.js app with a beautiful contact form.

Requirements:
- Modern, clean design with Tailwind CSS
- Form fields: name, email, subject, message
- Form validation
- Loading state and success/error messages
- Dark mode support

Backend:
- Create an API route at /api/contact
- Use Stack0 SDK (@stack0/sdk) to send emails

```typescript
import { Stack0 } from '@stack0/sdk'

const stack0 = new Stack0({
  apiKey: process.env.STACK0_API_KEY!
})

await stack0.mail.send({
  from: 'contact@mysite.com',
  to: 'team@mysite.com',
  subject: formSubject,
  html: emailHtml,
})
```

Set STACK0_API_KEY in environment variables.

Image Gallery App

Build an image gallery application with Next.js.

Features:
- Grid layout for images
- Upload new images
- Lightbox view for full-size images
- Delete functionality
- Responsive design

Use Stack0 CDN for image storage:

```typescript
import { Stack0 } from '@stack0/sdk'

const stack0 = new Stack0({
  apiKey: process.env.STACK0_API_KEY!
})

// Get presigned upload URL
const { uploadUrl, cdnUrl, assetId } = await stack0.cdn.getUploadUrl({
  filename: file.name,
  mimeType: file.type,
  size: file.size,
})

// Upload directly to CDN
await fetch(uploadUrl, {
  method: 'PUT',
  body: file,
})

// Confirm upload
await stack0.cdn.confirmUpload({ assetId })

// Use cdnUrl to display image
// Add transforms: cdnUrl + '?w=400&h=300&fit=cover'
```

Set STACK0_API_KEY in environment variables.

Newsletter Platform

Create a newsletter subscription platform.

Features:
- Landing page with email signup
- Admin dashboard to compose newsletters
- Subscriber list management
- Send to all subscribers
- Unsubscribe handling

Use Stack0 for sending newsletters:

```typescript
import { Stack0 } from '@stack0/sdk'

const stack0 = new Stack0({
  apiKey: process.env.STACK0_API_KEY!
})

// Send to single subscriber
await stack0.mail.send({
  from: 'newsletter@mysite.com',
  to: subscriberEmail,
  subject: newsletterSubject,
  html: newsletterContent,
})

// Send to multiple (batch)
for (const subscriber of subscribers) {
  await stack0.mail.send({
    from: 'newsletter@mysite.com',
    to: subscriber.email,
    subject: newsletterSubject,
    html: newsletterContent,
  })
}
```

Set STACK0_API_KEY in environment variables.
Store subscribers in a JSON file or SQLite for simplicity.

Screenshot Tool

Build a URL screenshot tool.

Features:
- Input field for URL
- Take screenshot button
- Display captured screenshot
- Download option
- History of recent screenshots

Use Stack0 Screenshots API:

```typescript
import { Stack0 } from '@stack0/sdk'

const stack0 = new Stack0({
  apiKey: process.env.STACK0_API_KEY!
})

const screenshot = await stack0.screenshots.capture({
  url: targetUrl,
  format: 'png',
  fullPage: false,
  viewport: {
    width: 1280,
    height: 720,
  },
})

// screenshot.url contains the image URL
```

Set STACK0_API_KEY in environment variables.

Setting Up Environment Variables in Bolt

After Bolt creates your project, add your Stack0 API key:

Bolt Chat Prompt
# Tell Bolt to create/update .env.local file:
"Add STACK0_API_KEY to the environment variables.
Create a .env.local file with:
STACK0_API_KEY=sk_live_your_api_key_here
Make sure the API route reads from process.env.STACK0_API_KEY"

Troubleshooting Common Issues

SDK not installing

Tell Bolt: "Install @stack0/sdk using npm. Add it to package.json dependencies."

API key not working

Make sure .env.local exists and the variable name is exactly STACK0_API_KEY.

CORS errors

Stack0 API calls must be made from server-side (API routes), not client-side.

Type errors

Tell Bolt: "Add TypeScript types for Stack0. The SDK includes built-in types."

Exporting Your Project

Once you're happy with your Bolt project, you can:

Deploy to Vercel

Click the deploy button and add STACK0_API_KEY to Vercel's environment variables.

Download Code

Export the project and run locally or deploy anywhere.