Rust Saiargaliev / 2024-11-19

I just tried bolt.new

I just tried https://bolt.new/, a new AI kid on the block that promises to build web apps for you.

Here is my brief experience, but go and try it yourself; there is a limited free plan.

I asked to build a simple static page that uses a small JSON dataset to display and manipulate some data. It quickly created a page with nice styling and interactivity, but with a small bug.

I asked it to fix it, which it did on the second iteration.

Then I checked the code it produced - and oh my, it launched the entire React app with Vite, Tailwind, and who knows what else. For example, here is a package.json that it produced:

{
  "name": "vite-react-typescript-starter",
  "private": true,
  "version": "0.0.0",
  "type": "module",
  "scripts": {
    "dev": "vite",
    "build": "vite build",
    "lint": "eslint .",
    "preview": "vite preview"
  },
  "dependencies": {
    "lucide-react": "^0.344.0",
    "react": "^18.3.1",
    "react-dom": "^18.3.1"
  },
  "devDependencies": {
    "@eslint/js": "^9.9.1",
    "@types/react": "^18.3.5",
    "@types/react-dom": "^18.3.0",
    "@vitejs/plugin-react": "^4.3.1",
    "autoprefixer": "^10.4.18",
    "eslint": "^9.9.1",
    "eslint-plugin-react-hooks": "^5.1.0-rc.0",
    "eslint-plugin-react-refresh": "^0.4.11",
    "globals": "^15.0.9",
    "postcss": "^8.4.35",
    "tailwindcss": "^3.4.1",
    "typescript": "^5.3.3",
    "typescript-eslint": "^6.3.0",
    "vite": "^5.4.2"
  }
}

I asked it to rebuild it without any JS frameworks, but keep it plain vanilla JS, so in the third iteration it just gave me app.js, index.html and style.css as a result. It kept the original styling and interactions (even after it removed Tailwind), which is good; however, I find it very funny that it went with a big overengineered solution in the first place.