Image credit @fireship / TheCodeReport on YT.

A few months ago I wrote about how Claude failed to build a simple macOS menu bar application. After burning through $5 in API credits and multiple sessions, it eventually gave up and suggested I reset my NVRAM. GPT-4o built it on the first try.

I still think that critique was fair. But I’ve started using Claude Code for the past few weeks after all the opus 4.5 hype, and I need to update my assessment: Claude is actually pretty good.

I used it to re-write crapslesscraps.com from scratch, and I am very pleased with the results. Here is the before & after:

Before

Screenshot of the Crapless Craps game interface, displaying a virtual betting table, current bank amount, and options to roll dice. The table features various betting options with a vibrant green background.

After

Screenshot of the Crapless Craps game interface showing the betting options and game controls.

In addition to looking way better, I went from this insanely complex project for something so simple:

.
├── assets
│   └── initial.png
├── CLAUDE.md
├── eslint.config.mjs
├── next-env.d.ts
├── next.config.ts
├── out
│   ├── _next
│   │   ├── qZpjdeMzF2EBa0T0miGAH
│   │   └── static
│   │       ├── chunks
│   │       │   ├── 4bd1b696-1962bfe149af46cd.js
│   │       │   ├── 684-80ddbd5c2fee50a3.js
│   │       │   ├── 748-170506f584844847.js
│   │       │   ├── app
│   │       │   │   ├── _not-found
│   │       │   │   │   └── page-6bf1735bae9e04ee.js
│   │       │   │   ├── layout-bb587b94ee6256a7.js
│   │       │   │   └── page-b1329367083c88ad.js
│   │       │   ├── framework-f593a28cde54158e.js
│   │       │   ├── main-477a2845a0a3ba6c.js
│   │       │   ├── main-app-cb108c2984af81c8.js
│   │       │   ├── pages
│   │       │   │   ├── _app-da15c11dea942c36.js
│   │       │   │   └── _error-cc3f077a18ea1793.js
│   │       │   ├── polyfills-42372ed130431b0a.js
│   │       │   └── webpack-f029a09104d09cbc.js
│   │       ├── css
│   │       │   └── 643c490fd7af8faf.css
│   │       ├── media
│   │       │   ├── 4cf2300e9c8272f7-s.p.woff2
│   │       │   ├── 747892c23ea88013-s.woff2
│   │       │   ├── 8d697b304b401681-s.woff2
│   │       │   ├── 93f479601ee12b01-s.p.woff2
│   │       │   ├── 9610d9e46709d722-s.woff2
│   │       │   └── ba015fad6dcf6784-s.woff2
│   │       └── qZpjdeMzF2EBa0T0miGAH
│   │           ├── _buildManifest.js
│   │           └── _ssgManifest.js
│   ├── 404
│   │   └── index.html
│   ├── 404.html
│   ├── about.txt
│   ├── android-chrome-192x192.png
│   ├── android-chrome-512x512.png
│   ├── apple-touch-icon.png
│   ├── favicon-16x16.png
│   ├── favicon-32x32.png
│   ├── favicon.ico
│   ├── file.svg
│   ├── globe.svg
│   ├── icon.svg
│   ├── index.html
│   ├── index.txt
│   ├── next.svg
│   ├── playonlinefree.png
│   ├── site.webmanifest
│   ├── vercel.svg
│   └── window.svg
├── package-lock.json
├── package.json
├── postcss.config.mjs
├── public
│   ├── about.txt
│   ├── android-chrome-192x192.png
│   ├── android-chrome-512x512.png
│   ├── apple-touch-icon.png
│   ├── favicon-16x16.png
│   ├── favicon-32x32.png
│   ├── favicon.ico
│   ├── file.svg
│   ├── globe.svg
│   ├── icon.svg
│   ├── next.svg
│   ├── playonlinefree.png
│   ├── site.webmanifest
│   ├── vercel.svg
│   └── window.svg
├── README.md
├── src
│   ├── app
│   │   ├── globals.css
│   │   ├── layout.tsx
│   │   └── page.tsx
│   ├── components
│   │   ├── AnimatedBankroll.tsx
│   │   ├── AuthenticCrapsTable.tsx
│   │   ├── ChipClearAnimation.tsx
│   │   ├── CrapsTable.tsx
│   │   ├── DiceAnimation.tsx
│   │   └── WinDisplay.tsx
│   ├── contexts
│   │   └── UserContext.tsx
│   └── lib
│       ├── game-logic.ts
│       └── sound-manager.ts
├── tsconfig.json
└── tsconfig.tsbuildinfo

20 directories, 79 files

^ that’s before node_modules which added an additional 1949 directories and 22,781 files (lol):

1969 directories, 22860 files

to this:

.
├── favicon.ico
├── index.html
├── public
│   ├── apple-touch-icon.png
│   ├── favicon-16x16.png
│   ├── favicon-32x32.png
│   ├── favicon.ico
│   └── icon.svg
└── README.md

A favicon, and an 800 line html file that spits in the face of every flavor of the month javascript framework. I love it.