Thank U, Next As of September 1st, Max Leiter's website no longer runs on Next.js but on a bespoke custom framework architected by Fable and implemented by Opus, built in about 3 hours with Claude Code at a total cost of $669.45. The new framework cuts homepage HTML from 24.7 KB to 16.3 KB, JavaScript from 208 KB to 2.3 KB, and improves Lighthouse mobile scores from 98 to 100 with LCP dropping from 2.4s to 1.3s, while the blog post page sees similar gains. Leiter notes the framework is 5,000 lines, easily reviewable, and eliminates supply chain risks by replacing most dependencies. If you're wondering about this post's title: https://en.wikipedia.org/wiki/Thank U, Next https://en.wikipedia.org/wiki/Thank U, Next There's been a lot of talk about custom / personal software lately. I've been a huge fan -- I'm writing this in a markdown editor https://github.com/MaxLeiter/md-viewer I made for myself. And lately I've been toying with thoughts about the future of frameworks. A nice intersection of the two seemed like a personal framework. So as of September 1st, this website is no longer running on Next.js. Instead, it's built by a bespoke custom framework that Fable architected and Opus implemented. If this were a commercial project, I'd probably stay on Next 1, but it's not, so 🤷 This site is overall pretty simple /blog/build-a-blog-with-nextjs-13 - it's fully static and compiled to HTML at build time. But it has a lot of React and non-trivial build-time processing like MDX https://mdxjs.com/ . I gave Fable 5 in the claude code CLI the following: i am curious about on-demand coding with AI -- can claude theroetically make an on-demand bespoke "web framework" that is fasterthan nextjs specifically for this site? can it support the same features we need? can it still deploy to vercel? scope it out for me here and if its feasible we'll ship it - youll coordinate opus subagents. use opus for anysubagents as you are a fantastic AGI-like-but-expensive model. be thorough withit sic ~3 hours of work later I had something to look at. I'll let the numbers speak for themselves: | Next.js | Bespoke | | |---|---|---| Homepage | || | HTML | 24.7 KB | 16.3 KB | | JavaScript, eager | 208 KB in 11 files | 2.3 KB 1 KB inline runtime + analytics | | JavaScript, after first paint | none, all eager | 10.6 KB desktop window manager | | JavaScript, on demand | 1.8 KB command palette, first Cmd+K | | | Lighthouse mobile | 98, LCP 2.4 s, 1,153 KB weight | 100, LCP 1.3 s, 78 KB weight | Blog post | || | HTML | 20.6 KB | 11.6 KB | | JavaScript | 200 KB in 11 files | 2.3 KB | | Lighthouse mobile | 99, LCP 2.2 s, 405 KB weight | 100, LCP 1.1 s, 57 KB weight | | Soft navigation payload | RSC flight, 0.7 to 29 KB per link | 3 KB partial Safari/Firefox or | And here's the session stats a lot of the walltime/duration was my laptop being asleep : Total cost: $669.45 Total duration API : 8h 27m 17s Total duration wall : 1d 1h 34m Total code changes: 20914 lines added, 2022 lines removed Usage by model: claude-haiku-4-5: 272.7k input, 12.8k output, 0 cache read, 0 cache write, 5 web search $0.3869 claude-fable-5: 57.4k input, 165.3k output, 66.8m cache read, 2.8m cache write $131.09 claude-opus-5: 547.6k input, 2.0m output, 562.9m cache read, 32.5m cache write $537.98 Prompt cache main : 195 requests · 95% of input tokens from cache · 6 misses last 16s ago, 2.5m tokens re-cached · warm 1h TTL, last activity 16s ago It used ~10% of my Claude Code 20x subscription. Note that I've made some minor changes/improvements since those stats were recorded, but I'd estimate those stats covered 95% of the work. You can try the Next.js version of this site at next.maxleiter.com. Mostly written by Claude, edited by me: build.ts reads posts/ , renders every route to a static index.html with React on the server , and writes a A bunch of reasons. For one, you could recursively run a loop like this and replace most/all of your dependencies, eliminating a host of supply chain attacks /blog/pin-dependencies . You vendor exactly what you need and nothing else, which is what this framework is — the parts of Next.js this site actually uses. Two, the framework is 5,000 lines; easily reviewable by human and model alike. Next.js and React are hundreds of thousands. Now, there's something to be said that this could all be a lot simpler if I chose a simpler static site generator, switched to python, whatever. Those are all mostly true but this is just a demonstration of the future of software, not just static sites. There are many. I think its fruitless to try reading tea leaves about software engineering. Who knows where models will be in six months, much less two or three years. But I'll try a bit anyways: I think we'll see an increase in vendoring and in-house agentic-rewrites "slop forks" 2 . The security and performance benefits outweigh the costs, which are decreasing rapidly: as agents take on more of the SDLC automonously, they can maintain the software. for now, who knows what my opinion will be/where models will be a year from now ↩ user-content-fnref-1 https://web.archive.org/web/20260228224244/https://slopforks.com/ https://web.archive.org/web/20260228224244/https://slopforks.com/ ↩ user-content-fnref-2