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

After

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.