{"slug": "llms-carpenters-and-ikea-code", "title": "LLMs, Carpenters, and IKEA Code", "summary": "Large language models are transforming software development by making coding accessible and affordable, akin to how IKEA revolutionized furniture assembly. This shift enables individuals to build utility software cheaply, threatening SaaS gatekeepers and commoditizing simple coding tasks, while complex, high-stakes applications still require professional software engineering.", "body_md": "[← Tin's Posts](/p/t/)\n· June 25, 2026\n· 4 min read\n\n# LLMs, Carpenters, and IKEA code\n\nLLMs are doing to coding what IKEA has done to carpentry. I won't elaborate.\n\nWell, I will (would be a short post otherwise), but once you see it, the parallels are hard to miss. Coding with an LLM is \"good enough\", it's usable, cheap, replaceable. You wouldn't put IKEA into your designer studio, but you'll gladly cozy up with a book on a Poang armchair.\n\nThe applications you generate? They do the job. Easy to mod, easy to replace, easy to afford (nearly free). You won't turn heads, it's an IKEA living room after all, but you'll be cozy and you'll enjoy the fact it's yours.\n\nAs a user? I'm thrilled, I love having a \"hex key\" approach to building my utility software, and I'll rarely even check if there's a software as a service (SaaS) option for small things anymore. The gatekeeper just isn't there anymore. As a code-carpenter, though, it means I need to reframe my approach to many things. An entire category of our industry hears its own death knell.\n\n(IKEA sells a BILLY bookcase every five seconds. How many carpenters do you know?)\n\n## Nobody Hires a Carpenter to Assemble a Kallax\n\nYou won't be paying programmers to shorten your URLs either, soon enough. Our industry will evolve past the SaaS gatekeepers. If the problem isn't uniquely difficult to solve, an LLM can handle it just fine. Your problem needs to be big, needs to follow difficult laws, needs to be high value, it needs to be something more than \"just code\".\n\nCoding is far from \"dying\". You still need carpenters, you'll still need coders. But the easiest and simplest niches are disappearing. Coding's not enough any more, it needs to be software engineering. You're not outcompeting IKEA at making cheap chairs.\n\nIn software, these are the cheap chairs. Watch them go:\n\n**URL shortener**- custom domain and team features: $10–35/month** Magic links / passwordless login**- $25–50/month at small scale** Email notifications**- $15–50/month depending on volume** Webhook inspector / relay**- $15–20/month** Form handler**- $10–25/month once you outgrow the free tier** Scheduled job runner**- $10–20/month** Basic uptime monitoring**- $7–20/month\n\nToday, ALL of these functions can be served off your own server for a price of a (nicer) sandwich, monthly. And this sandwich keeps growing layers, as every tool stays with you. The utility margin grows, as we say it in the industry, because the price stays consistent. LLMs flip the \"buy vs build\" decision on its head.\n\nIs it only for you? Build it. Want to share it with a few friends? Build it. Is it only an inconvenience if it breaks? Build it. Do you want to keep your data? Build it.\n\nDon't just build everything, though...\n\n## Know The Difference\n\nAs with IKEA, LLM software can be abused. There are absolutely times where you shouldn't prompt your way forward, however tempting it is. You'd be using plywood to hold your weight - maybe it'd not fail immediately. But apply some pressure, go out of the happy path? It could really hurt.\n\nIKEA doesn't sell load-bearing walls. The analogy holds.\n\nConcretely, where I wouldn't prompt my way forward:\n\n**Payments.** Stripe exists for good reasons. PCI compliance isn't something you prompt around.**Auth for your actual users.** Magic links for your own internal tools, friends with play accounts? Fine. Authentication guarding real people's accounts and data? Leave it to something battle-tested.**Compliance surface.** Health data, financial records, anything GDPR-adjacent - the blast radius stops being only yours.**Customer-facing services where failure has teeth.** Your cron job going down is your problem. Your customer's login failing is their emergency.\n\nBuild where your own stuff catches on fire. Buy where other people's stuff does.\n\n## The Value\n\nThe parallel isn't flawless. Nobody can hack your IKEA couch. Your IKEA lamp can't mess up your taxes. LLMs break all the time, and the maintenance of code isn't trivial. It's not too difficult either, and anyone convincing you otherwise is selling you something.\n\nThe industry's already trying to capture this paradigm. [Claude Artifacts](https://claude.com/resources/tutorials/intro-to-artifacts) are going to go this way, near certainly. Other tools are experimenting with similar \"packaged solutions\".\n\nI don't see the value in surrendering the sovereignty of your toolchain to someone else - so I'm not holding my breath for it. I will most certainly be building mine up. I think you should be doing the same. [Change my mind.](https://tinthe.dev/no-sugar)\n\nThe question of whether to build it yourself has inverted. We should be looking at reasons as to why not do it ourselves. The freedom is hard to overstate.\n\nAnd it's just plain fun. Just like building IKEA.\n\nEnjoyed this? [Subscribe](/p/t/)\nto get future posts by email.", "url": "https://wpnews.pro/news/llms-carpenters-and-ikea-code", "canonical_source": "https://tinthe.dev/p/t/posts/ikea-code", "published_at": "2026-06-25 12:58:54+00:00", "updated_at": "2026-06-25 13:15:23.863431+00:00", "lang": "en", "topics": ["large-language-models", "generative-ai", "ai-tools", "ai-products", "developer-tools"], "entities": ["IKEA", "Stripe", "LLM", "SaaS", "Billy bookcase", "Poang armchair", "Kallax"], "alternates": {"html": "https://wpnews.pro/news/llms-carpenters-and-ikea-code", "markdown": "https://wpnews.pro/news/llms-carpenters-and-ikea-code.md", "text": "https://wpnews.pro/news/llms-carpenters-and-ikea-code.txt", "jsonld": "https://wpnews.pro/news/llms-carpenters-and-ikea-code.jsonld"}}