{
    "archive_path": "archive/1769964939.207504",
    "base_url": "www.zackliscio.com/posts/rip-low-code-2014-2025",
    "basename": "",
    "bookmarked_date": "2026-02-01 16:55",
    "canonical": {
        "archive_org_path": "https://web.archive.org/web/www.zackliscio.com/posts/rip-low-code-2014-2025",
        "dom_path": "output.html",
        "favicon_path": "favicon.ico",
        "git_path": "git/",
        "google_favicon_path": "https://www.google.com/s2/favicons?domain=www.zackliscio.com",
        "headers_path": "headers.json",
        "htmltotext_path": "htmltotext.txt",
        "index_path": "index.html",
        "media_path": "media/",
        "mercury_path": "mercury/content.html",
        "pdf_path": "output.pdf",
        "readability_path": "readability/content.html",
        "screenshot_path": "screenshot.png",
        "singlefile_path": "singlefile.html",
        "warc_path": "warc/",
        "wget_path": null
    },
    "domain": "www.zackliscio.com",
    "downloaded_at": "2026-02-01T16:55:44.077959+00:00",
    "downloaded_datestr": "2026-02-01 16:55",
    "extension": "",
    "hash": "2495K3A4WN7E6Z9AQ399",
    "history": {
        "archive_org": [
            {
                "cmd": [
                    "/usr/bin/curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--proxy",
                    "socks5://tor-socks-proxy:9150",
                    "--head",
                    "--max-time",
                    "60",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)",
                    "https://web.archive.org/save/https://www.zackliscio.com/posts/rip-low-code-2014-2025/"
                ],
                "cmd_version": "8.10.1",
                "end_ts": "2026-02-01T16:56:21.079075+00:00",
                "index_texts": null,
                "output": "ArchiveError: Failed to find \"content-location\" URL header in Archive.org response.",
                "pwd": "/data/archive/1769964939.207504",
                "schema": "ArchiveResult",
                "start_ts": "2026-02-01T16:56:19.177945+00:00",
                "status": "failed"
            }
        ],
        "dom": [
            {
                "cmd": [
                    "/usr/bin/chromium-browser",
                    "--proxy-server=socks5://tor-socks-proxy:9150",
                    "--disable-features=DarkMode",
                    "--run-all-compositor-stages-before-draw",
                    "--hide-scrollbars",
                    "--autoplay-policy=no-user-gesture-required",
                    "--no-first-run",
                    "--use-fake-ui-for-media-stream",
                    "--use-fake-device-for-media-stream",
                    "--simulate-outdated-no-au='Tue, 31 Dec 2099 23:59:59 GMT'",
                    "--headless=new",
                    "--no-sandbox",
                    "--no-zygote",
                    "--disable-dev-shm-usage",
                    "--disable-software-rasterizer",
                    "--disable-sync",
                    "--window-size=1440,2000",
                    "--user-agent=Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)",
                    "--user-data-dir=/data/personas/Default/chrome_profile",
                    "--profile-directory=Default",
                    "--dump-dom",
                    "https://www.zackliscio.com/posts/rip-low-code-2014-2025/"
                ],
                "cmd_version": "131.0.6778",
                "end_ts": "2026-02-01T16:55:59.957528+00:00",
                "index_texts": null,
                "output": "output.html",
                "pwd": "/data/archive/1769964939.207504",
                "schema": "ArchiveResult",
                "start_ts": "2026-02-01T16:55:52.568405+00:00",
                "status": "succeeded"
            }
        ],
        "favicon": [
            {
                "cmd": [
                    "/usr/bin/curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--proxy",
                    "socks5://tor-socks-proxy:9150",
                    "--max-time",
                    "60",
                    "--output",
                    "favicon.ico",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)",
                    "https://www.google.com/s2/favicons?domain=www.zackliscio.com"
                ],
                "cmd_version": "8.10.1",
                "end_ts": "2026-02-01T16:55:48.343168+00:00",
                "index_texts": null,
                "output": "favicon.ico",
                "pwd": "/data/archive/1769964939.207504",
                "schema": "ArchiveResult",
                "start_ts": "2026-02-01T16:55:44.432400+00:00",
                "status": "succeeded"
            }
        ],
        "git": [],
        "headers": [
            {
                "cmd": [
                    "/usr/bin/curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--proxy",
                    "socks5://tor-socks-proxy:9150",
                    "--head",
                    "--max-time",
                    "60",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)",
                    "https://www.zackliscio.com/posts/rip-low-code-2014-2025/"
                ],
                "cmd_version": "8.10.1",
                "end_ts": "2026-02-01T16:55:48.493822+00:00",
                "index_texts": null,
                "output": "headers.json",
                "pwd": "/data/archive/1769964939.207504",
                "schema": "ArchiveResult",
                "start_ts": "2026-02-01T16:55:48.374585+00:00",
                "status": "succeeded"
            }
        ],
        "htmltotext": [
            {
                "cmd": [
                    "(internal) archivebox.extractors.htmltotext",
                    "./{singlefile,dom}.html"
                ],
                "cmd_version": "0.8.5rc51",
                "end_ts": "2026-02-01T16:56:13.152321+00:00",
                "index_texts": [
                    "(/favicon.ico) RIP Low-Code 2014-2025 | Zack Liscio (https://www.zackliscio.com/posts/rip-low-code-2014-2025/) (https://fonts.googleapis.com) (https://fonts.gstatic.com) (https://fonts.googleapis.com/css2?family=Sora:wght@300;400;500;600&display=swap)  (/) ZL (/#portfolio) Work (/posts) Writing (https://linkedin.com/in/zackliscio) Contact   (/posts)   Back to Blog  January 25, 2026  RIP Low-Code 2014-2025 ai low-code vibe-coding   (RIP Low Code - 2014-2025)  The rise of AI and particularly agentic development presents an existential threat to an entire category of low-code platforms. While the adoption of new techniques and tooling will take years to propagate through the Byzantine ranks of larger, slower-moving enterprises, the fundamental ROI case for these tools looks different in a world where the cost of shipping code now approaches zero. This may seem like a preposterous conclusion given the substantial size and growth of the sector. Forrester, who actually gave low-code its name back in 2014, (https://www.forrester.com/blogs/the-low-code-market-could-approach-50-billion-by-2028/) projects the category will reach $50b by 2028 and sees no current indication that things will slow down, let alone contract. However, it\u2019s worth digging in to why these tools arose in the first place and the problems they solve to explore how much the landscape has shifted in just the past year. (Forrester Low-Code Market Projection)  Put simply, these software platforms exist to allow users to create software with fewer developer resources. By purchasing one of these platforms, a company can enable non-technical stakeholders to ship production-ready experiences, often with little to zero actual code being written. This frees up developer bandwidth, accelerates the company, and until recently was a no-brainer investment for building internal and even customer-facing software. (The Low Code Value Prop)  To enable these platforms in the real world, developers spend considerable time on prerequisite and ongoing work: piping and transforming data, writing and maintaining custom components that go beyond out-of-the-box functionality, and meshing authentication systems, to name a few. This investment is in turn justified by the reduction in development scope and complexity downstream of the low-code platform\u2014non-technical users can be left to their own devices to ship to their hearts\u2019 content. With the emergence of AI coding, this ROI case gets inverted. It is now often faster, cheaper, and easier to ship the kind of tools you might have built with low-code tools outside these platforms. Yes, this still requires developer time, but so did enabling these low-code-platforms in the first place.  Even disregarding the financial and organizational costs of low-code tools, AI affords developers the conveniences of their regular workflows without the bolt-on complexity introduced by external platforms. When you add in the total cost of ownership of these low-code tools, a return to in-house tooling becomes even more attractive. As an illustration of what\u2019s possible, we\u2019ve seen this play out in real-time at (https://www.cloudcapital.co) Cloud Capital . In the not-too-distant past, we relied heavily on a low-code platform called (https://retool.com) Retool for almost all of our internal Admin tooling. We built management dashboards, reporting, and orchestrated complex workflows that were critical to the business. The acceleration was real\u2014our developers spent significantly less time rolling boilerplate tables, transforming data, and wiring up workflows. We even celebrated at our All Hands how much better our dashboards felt than if we\u2019d hand-rolled them or used a pre-canned admin interface. Then came the agentic tools that completely transformed the way we develop software. For our low-code tooling, the shift began with a single choice to prototype some new, self-contained functionality as a standalone internal tool instead of via our low-code platform. It was faster, easier, and leveraged our actual codebase in ways an external solution could not. That meant we shipped something safer, more robust, and more maintainable. The cherry on top is that the end product was also better\u2014the UI looked and felt more like our in-house products, without the clunkiness required to stay on the WYSIWYG rails. It felt immediately clear that we had identified an unlock for our internal tooling velocity. All of a sudden, we found ourselves feeling constrained by the same low-code tools that until so recently were unblocking us. Changes that would have been one-liners in Cursor or automated triage tickets handled by an agent meant logging in to another platform, moving around clunky UX blocks, bashing against version management systems that weren\u2019t quite as polished or integrated as our core development flows. All with the additional cost of maintaining this additional system. What started as a single tool quickly became a wholesale migration of all of our Admin tooling, and the inevitable sunsetting of our Retool instance. They hadn\u2019t changed, but our culture and way of working had, and low-code couldn\u2019t keep up. What was most shocking was the timeline of this change\u2014for us as a small, fast-moving startup, the transition including migration played out fully in just a couple of sprints. It\u2019s inevitable that incumbent low-code tools will adapt\u2014they will need to in order to survive. In many cases, this shift is already visible in their marketing, such as Retool\u2019s new AI-heavy positioning: (Retool&#x27;s new AI-heavy positioning)  At this point, it\u2019s hard to say whether it\u2019ll be enough. While it\u2019s possible low-code platforms will survive by providing non-technical users with the kind of magical experience that\u2019s already possible for developers with AI coding tools today, it also seems likely they will continue to cede market share to the core AI players themselves. We\u2019re beginning to see this take shape as non-technical AI artifacts become more complex, powerful, and collaborative. For us, abandoning low-code to reclaim ownership of our internal tooling was a simple build vs buy decision with meaningful cost savings and velocity gains. It also feels like a massive upgrade in developer experience and end-user quality of life. It\u2019s been about 6 months since we made this switch, and so far we haven\u2019t looked back. Every build vs buy decision is unique, but many ultimately boil down to ROI in terms of speed, financial cost, maintenance cost, and organizational complexity. There are of course additional considerations like vendor lock-in, ownership of core competencies, ecosystem compatibility, etc., but in this case we can reduce the decision to this: will buying this platform let my team go faster, ship more, and create more value for our customers. At least for now, that answer feels clearer every day.    \u00a9 2026 Zack Liscio     "
                ],
                "output": "htmltotext.txt",
                "pwd": "/data/archive/1769964939.207504",
                "schema": "ArchiveResult",
                "start_ts": "2026-02-01T16:56:13.141479+00:00",
                "status": "succeeded"
            }
        ],
        "media": [
            {
                "cmd": [
                    "/usr/local/bin/yt-dlp",
                    "--restrict-filenames",
                    "--trim-filenames",
                    "128",
                    "--write-description",
                    "--write-info-json",
                    "--write-annotations",
                    "--write-thumbnail",
                    "--no-call-home",
                    "--write-sub",
                    "--write-auto-subs",
                    "--convert-subs=srt",
                    "--yes-playlist",
                    "--continue",
                    "--no-abort-on-error",
                    "--ignore-errors",
                    "--geo-bypass",
                    "--add-metadata",
                    "--format=(bv*+ba/b)[filesize<=750m][filesize_approx<=?750m]/(bv*+ba/b)",
                    "--skip-download",
                    "--cache-dir=/data/yt-dlp-cache/",
                    "--cookies=/data/yt-dlp-cache/cookies.txt",
                    "--proxy=socks5://tor-socks-proxy:9150",
                    "--no-playlist",
                    "https://www.zackliscio.com/posts/rip-low-code-2014-2025/"
                ],
                "cmd_version": "2024.10.7",
                "end_ts": "2026-02-01T16:56:19.129303+00:00",
                "index_texts": [],
                "output": "media/",
                "pwd": "/data/archive/1769964939.207504",
                "schema": "ArchiveResult",
                "start_ts": "2026-02-01T16:56:15.827613+00:00",
                "status": "succeeded"
            }
        ],
        "mercury": [
            {
                "cmd": [
                    "/home/archivebox/.npm/bin/postlight-parser",
                    "https://www.zackliscio.com/posts/rip-low-code-2014-2025/"
                ],
                "cmd_version": "2.2.3",
                "end_ts": "2026-02-01T16:56:13.116272+00:00",
                "index_texts": null,
                "output": "mercury/",
                "pwd": "/data/archive/1769964939.207504",
                "schema": "ArchiveResult",
                "start_ts": "2026-02-01T16:56:11.133066+00:00",
                "status": "succeeded"
            }
        ],
        "pdf": [],
        "readability": [
            {
                "cmd": [
                    "/home/archivebox/.npm/bin/readability-extractor",
                    "/tmp/tmpzpy_wt4z",
                    "https://www.zackliscio.com/posts/rip-low-code-2014-2025/"
                ],
                "cmd_version": "0.0.11",
                "end_ts": "2026-02-01T16:56:02.955657+00:00",
                "index_texts": [
                    "The rise of AI and particularly agentic development presents an existential threat to an entire category of low-code platforms. While the adoption of new techniques and tooling will take years to propagate through the Byzantine ranks of larger, slower-moving enterprises, the fundamental ROI case for these tools looks different in a world where the cost of shipping code now approaches zero.\nThis may seem like a preposterous conclusion given the substantial size and growth of the sector. Forrester, who actually gave low-code its name back in 2014, projects the category will reach $50b by 2028 and sees no current indication that things will slow down, let alone contract. However, it\u2019s worth digging in to why these tools arose in the first place and the problems they solve to explore how much the landscape has shifted in just the past year.\n\nPut simply, these software platforms exist to allow users to create software with fewer developer resources. By purchasing one of these platforms, a company can enable non-technical stakeholders to ship production-ready experiences, often with little to zero actual code being written. This frees up developer bandwidth, accelerates the company, and until recently was a no-brainer investment for building internal and even customer-facing software.\n\nTo enable these platforms in the real world, developers spend considerable time on prerequisite and ongoing work: piping and transforming data, writing and maintaining custom components that go beyond out-of-the-box functionality, and meshing authentication systems, to name a few. This investment is in turn justified by the reduction in development scope and complexity downstream of the low-code platform\u2014non-technical users can be left to their own devices to ship to their hearts\u2019 content.\nWith the emergence of AI coding, this ROI case gets inverted. It is now often faster, cheaper, and easier to ship the kind of tools you might have built with low-code tools outside these platforms. Yes, this still requires developer time, but so did enabling these low-code-platforms in the first place.  Even disregarding the financial and organizational costs of low-code tools, AI affords developers the conveniences of their regular workflows without the bolt-on complexity introduced by external platforms. When you add in the total cost of ownership of these low-code tools, a return to in-house tooling becomes even more attractive.\nAs an illustration of what\u2019s possible, we\u2019ve seen this play out in real-time at Cloud Capital. In the not-too-distant past, we relied heavily on a low-code platform called Retool for almost all of our internal Admin tooling. We built management dashboards, reporting, and orchestrated complex workflows that were critical to the business. The acceleration was real\u2014our developers spent significantly less time rolling boilerplate tables, transforming data, and wiring up workflows. We even celebrated at our All Hands how much better our dashboards felt than if we\u2019d hand-rolled them or used a pre-canned admin interface.\nThen came the agentic tools that completely transformed the way we develop software. For our low-code tooling, the shift began with a single choice to prototype some new, self-contained functionality as a standalone internal tool instead of via our low-code platform. It was faster, easier, and leveraged our actual codebase in ways an external solution could not. That meant we shipped something safer, more robust, and more maintainable. The cherry on top is that the end product was also better\u2014the UI looked and felt more like our in-house products, without the clunkiness required to stay on the WYSIWYG rails.\nIt felt immediately clear that we had identified an unlock for our internal tooling velocity. All of a sudden, we found ourselves feeling constrained by the same low-code tools that until so recently were unblocking us. Changes that would have been one-liners in Cursor or automated triage tickets handled by an agent meant logging in to another platform, moving around clunky UX blocks, bashing against version management systems that weren\u2019t quite as polished or integrated as our core development flows. All with the additional cost of maintaining this additional system.\nWhat started as a single tool quickly became a wholesale migration of all of our Admin tooling, and the inevitable sunsetting of our Retool instance. They hadn\u2019t changed, but our culture and way of working had, and low-code couldn\u2019t keep up. What was most shocking was the timeline of this change\u2014for us as a small, fast-moving startup, the transition including migration played out fully in just a couple of sprints.\nIt\u2019s inevitable that incumbent low-code tools will adapt\u2014they will need to in order to survive. In many cases, this shift is already visible in their marketing, such as Retool\u2019s new AI-heavy positioning:\n\nAt this point, it\u2019s hard to say whether it\u2019ll be enough. While it\u2019s possible low-code platforms will survive by providing non-technical users with the kind of magical experience that\u2019s already possible for developers with AI coding tools today, it also seems likely they will continue to cede market share to the core AI players themselves. We\u2019re beginning to see this take shape as non-technical AI artifacts become more complex, powerful, and collaborative.\nFor us, abandoning low-code to reclaim ownership of our internal tooling was a simple build vs buy decision with meaningful cost savings and velocity gains. It also feels like a massive upgrade in developer experience and end-user quality of life. It\u2019s been about 6 months since we made this switch, and so far we haven\u2019t looked back.\nEvery build vs buy decision is unique, but many ultimately boil down to ROI in terms of speed, financial cost, maintenance cost, and organizational complexity. There are of course additional considerations like vendor lock-in, ownership of core competencies, ecosystem compatibility, etc., but in this case we can reduce the decision to this: will buying this platform let my team go faster, ship more, and create more value for our customers. At least for now, that answer feels clearer every day."
                ],
                "output": "readability/",
                "pwd": "/data/archive/1769964939.207504",
                "schema": "ArchiveResult",
                "start_ts": "2026-02-01T16:56:00.771356+00:00",
                "status": "succeeded"
            }
        ],
        "screenshot": [],
        "singlefile": [],
        "title": [
            {
                "cmd": [
                    "/usr/bin/curl",
                    "--silent",
                    "--location",
                    "--compressed",
                    "--proxy",
                    "socks5://tor-socks-proxy:9150",
                    "--max-time",
                    "60",
                    "--user-agent",
                    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 ArchiveBox/{VERSION} (+https://github.com/ArchiveBox/ArchiveBox/)",
                    "https://www.zackliscio.com/posts/rip-low-code-2014-2025/"
                ],
                "cmd_version": "8.10.1",
                "end_ts": "2026-02-01T16:56:00.098054+00:00",
                "index_texts": null,
                "output": "RIP Low-Code 2014-2025 | Zack Liscio",
                "pwd": "/data/archive/1769964939.207504",
                "schema": "ArchiveResult",
                "start_ts": "2026-02-01T16:56:00.063454+00:00",
                "status": "succeeded"
            }
        ],
        "wget": []
    },
    "icons": null,
    "is_archived": true,
    "is_static": false,
    "latest": {
        "archive_org": "ArchiveError: Failed to find \"content-location\" URL header in Archive.org response.",
        "dom": "output.html",
        "favicon": "favicon.ico",
        "git": null,
        "media": "media/",
        "pdf": null,
        "screenshot": null,
        "singlefile": null,
        "title": "RIP Low-Code 2014-2025 | Zack Liscio",
        "warc": null,
        "wget": null
    },
    "link_dir": "/data/archive/1769964939.207504",
    "newest_archive_date": "2026-02-01T16:56:19.177945+00:00",
    "num_failures": 1,
    "num_outputs": 8,
    "oldest_archive_date": "2026-02-01T16:55:44.432400+00:00",
    "path": "/posts/rip-low-code-2014-2025/",
    "schema": "Link",
    "scheme": "https",
    "snapshot_abid": "snp_01KGD239ZCE98EB4E301QFA8VN",
    "snapshot_id": "5773ce78-99e3-47d4-b70d-5a77eef52375",
    "sources": [
        "/data/sources/1769964938-import.txt"
    ],
    "tags": null,
    "tags_str": "",
    "timestamp": "1769964939.207504",
    "title": "RIP Low-Code 2014-2025 | Zack Liscio",
    "url": "https://www.zackliscio.com/posts/rip-low-code-2014-2025/"
}