Getting Started with Bolt.new: Build Your First Web App
I remember my first encounter with Bolt.new—I was skeptical that an AI-powered development environment could actually replace my traditional workflow. After building three production apps with it, I can tell you it's not just hype. Let me walk you through creating your first web app from scratch, sharing the exact steps I use and the mistakes I've made so you don't have to.
Prerequisites
Before we dive in, make sure you have:
- A modern web browser (Chrome, Firefox, or Edge—I use Chrome)
- A GitHub account (free tier works perfectly)
- Bolt.new account (sign up at bolt.new)
- Basic understanding of web development (HTML, CSS, JavaScript fundamentals)
- Node.js installed (optional, but helpful for local testing)
Warning: Don't skip the GitHub connection step. I learned this the hard way when I lost three hours of work because I forgot to connect my repository. Always connect your GitHub account before starting a project.
Step 1: Create Your Bolt.new Account and Connect GitHub
Head to bolt.new and click "Sign Up." I used my Google account for quick access, but email works too.
- Click "Sign Up" in the top-right corner
- Choose your authentication method (I recommend Google/GitHub OAuth)
- Complete the onboarding wizard—it takes about 2 minutes
- Navigate to Settings → Integrations → GitHub
- Click "Connect GitHub" and authorize the application
- Verify the connection shows "Connected" with a green checkmark

Pro tip: Enable "Auto-save to GitHub" in settings. This saved me when my browser crashed mid-session.
Step 2: Start a New Project
Now let's create your first project. I'll build a simple task manager app that demonstrates core Bolt.new features.
- From the dashboard, click "New Project"
- Select "Web Application" from the template options
- Name your project:
TaskMaster-App - Choose "React + Vite" as your framework (it's fast and modern)
- Click "Create Project"
# Bolt.new automatically generates this structure:
taskmaster-app/
├── src/
│ ├── App.jsx
│ ├── App.css
│ ├── main.jsx
│ └── index.css
├── public/
│ └── vite.svg
├── package.json
├── vite.config.js
└── index.html

Step 3: Write Your First Prompt
This is where Bolt.new shines. Instead of writing code line by line, you describe what you want. Here's my exact prompt for the task manager:
Create a task management app with:
- A header with the title "TaskMaster"
- An input field to add new tasks
- A list displaying all tasks with checkboxes
- Each task has edit and delete buttons
- Tasks can be marked as complete (strikethrough text)
- Local storage persistence
- Clean, modern UI with a blue color scheme
- Responsive design for mobile and desktop
- Type or paste this prompt into the chat interface
- Wait 10-15 seconds while Bolt.new generates the code
- Review the generated code in the preview pane
- Click "Accept" if it looks good
Warning: Your first prompt might generate imperfect code. That's normal! I've found that being specific about UI elements and functionality yields better results. Don't accept the first version if it doesn't match your vision.
Step 4: Customize the Generated Code
After Bolt.new generates the initial code, I always customize a few things. Here's what I changed:
// Original generated code (simplified)
function App() {
const [tasks, setTasks] = useState([]);
// ... rest of the code
}
// My modified version with additional features
function App() {
const [tasks, setTasks] = useState(() => {
const savedTasks = localStorage.getItem('tasks');
return savedTasks ? JSON.parse(savedTasks) : [];
});
const addTask = (taskText) => {
const newTask = {
id: Date.now(),
text: taskText,
completed: false,
createdAt: new Date().toISOString()
};
setTasks([...tasks, newTask]);
};
// ... rest of the code
}
To make these changes:
- Click on the file you want to edit (e.g.,
App.jsx) - Make your changes directly in the editor
- Use the "Explain Code" feature if you don't understand something
- Press
Ctrl+Sto save

Pro tip: Use the "Explain Code" button (looks like a question mark) when you encounter unfamiliar syntax. It saved me hours of Googling.
Step 5: Test Your Application
Bolt.new provides a live preview. Here's how to test your app:
- Click the "Preview" tab in the right panel
- You should see your task manager UI
- Test these features:
- Add a task: Type "Buy groceries" and press Enter
- Mark as complete: Click the checkbox
- Edit a task: Click the edit icon and change the text
- Delete a task: Click the delete icon
- Refresh the page to verify local storage persistence
// Test your local storage manually in the browser console
console.log(localStorage.getItem('tasks'));
// Should output your tasks as a JSON string

Step 6: Deploy Your App
Once your app works locally, it's time to deploy. Bolt.new offers one-click deployment:
- Click the "Deploy" button in the top toolbar
- Select "Netlify" or "Vercel" (I prefer Netlify for simplicity)
- Configure deployment settings:
- Build command:
npm run build - Output directory:
dist - Environment variables: (leave empty for now)
- Build command:
- Click "Deploy"
- Wait 1-2 minutes for the build process
- Your app will be live at
https://your-app-name.netlify.app
# Bolt.new runs these commands automatically during deployment
npm install
npm run build
# Your dist folder is uploaded to the hosting provider

Step 7: Iterate and Improve
Your first version is done, but great apps evolve. Here's my iteration process:
- Gather feedback: Show your app to a friend and watch them use it
- Identify improvements: They'll notice things you missed
- Write new prompts: "Add drag-and-drop reordering for tasks"
- Review changes: Bolt.new will modify existing code
- Test thoroughly: Make sure new features don't break old ones
// Example: Adding task priority (my first iteration)
const addTask = (taskText, priority = 'medium') => {
const newTask = {
id: Date.now(),
text: taskText,
completed: false,
priority: priority, // 'low', 'medium', 'high'
createdAt: new Date().toISOString()
};
setTasks([...tasks, newTask]);
};
Pro Tips
Use version control: Commit your code after each successful iteration. I use the built-in Git integration.
Master prompt engineering: Be specific about:
- UI framework (React, Vue, Svelte)
- Styling approach (Tailwind, CSS Modules, styled-components)
- State management (Context API, Redux, Zustand)
Learn from generated code: When Bolt.new creates something clever, study it. I improved my React skills by analyzing generated patterns.
Keep prompts focused: One feature per prompt yields better results than asking for everything at once.
Use the console: Debug directly in Bolt.new's browser console. Press F12 to open developer tools.
Common Mistakes
Skipping the planning phase: I once built an entire app without wireframes. The result was functional but had terrible UX. Spend 10 minutes planning before prompting.
Over-complicating the first prompt: Start simple. You can always add features later. My first prompt was 200 words—way too long. Keep it under 100 words for initial generation.
Ignoring mobile responsiveness: Bolt.new generates desktop-first code by default. Always add "responsive design" to your prompts.
Not testing edge cases: What happens when a user submits an empty task? What about 1000 tasks? Test these scenarios.
Forgetting to deploy: I spent a week perfecting an app but never deployed it. Deploy early, deploy often—even imperfect versions.
Warning: Never paste sensitive information like API keys or passwords into your prompts. Bolt.new stores conversation history, and you don't want credentials exposed.
What's Next?
You've built and deployed your first web app with Bolt.new! From here, you can:
- Add a backend with Supabase or Firebase
- Implement user authentication
- Create multiple views (calendar, list, board)
- Share your app with the community
The key insight I've gained from using Bolt.new is that it's not about replacing developers—it's about accelerating the development process. You still need to understand what you're building, but Bolt.new handles the implementation details.
Your task manager is live at https://your-app-name.netlify.app. Share it with friends, get feedback, and keep iterating. The best developers I know are the ones who ship fast and learn from real users.
Now go build something amazing. I'll be waiting to see what you create.