[{"data":1,"prerenderedAt":567},["ShallowReactive",2],{"navigation":3,"\u002Fen\u002Fblog\u002Flow-code-backend":249,"surround:\u002Fen\u002Fblog\u002Flow-code-backend":554},[4,23,35,176,203,242],{"title":5,"path":6,"stem":7,"children":8,"icon":22},"Getting Started","\u002Fen\u002Fdocs\u002Fgetting-started","en\u002F1.docs\u002F1.getting-started\u002F1.index",[9,12,17],{"title":10,"path":6,"stem":7,"icon":11},"Introduction","i-lucide-house",{"title":13,"path":14,"stem":15,"icon":16},"Get Started","\u002Fen\u002Fdocs\u002Fgetting-started\u002Fget-started","en\u002F1.docs\u002F1.getting-started\u002F2.get-started","i-lucide-rocket",{"title":18,"path":19,"stem":20,"icon":21},"How It Works","\u002Fen\u002Fdocs\u002Fgetting-started\u002Fhow-it-works","en\u002F1.docs\u002F1.getting-started\u002F3.how-it-works","i-lucide-lightbulb",false,{"title":24,"path":25,"stem":26,"children":27,"icon":22},"Guides","\u002Fen\u002Fdocs\u002Fguides","en\u002F1.docs\u002F2.guides\u002F1.index",[28,30],{"title":24,"path":25,"stem":26,"icon":29},"i-lucide-book-open",{"title":31,"path":32,"stem":33,"icon":34},"Connect a Container Registry","\u002Fen\u002Fdocs\u002Fguides\u002Fcontainer-registries","en\u002F1.docs\u002F2.guides\u002F2.container-registries","i-lucide-container",{"title":36,"icon":22,"path":37,"stem":38,"children":39,"page":22},"Platform","\u002Fen\u002Fdocs\u002Fplatform","en\u002F1.docs\u002F2.platform",[40,60,127,166],{"title":10,"path":41,"stem":42,"children":43,"icon":22},"\u002Fen\u002Fdocs\u002Fplatform\u002Fintroduction","en\u002F1.docs\u002F2.platform\u002F1.introduction\u002F1.index",[44,47,52,57],{"title":45,"path":41,"stem":42,"icon":46},"Overview","i-lucide-cloud",{"title":48,"path":49,"stem":50,"icon":51},"Use Cases","\u002Fen\u002Fdocs\u002Fplatform\u002Fintroduction\u002Fwhen-to-use","en\u002F1.docs\u002F2.platform\u002F1.introduction\u002F2.when-to-use","i-lucide-compass",{"title":53,"path":54,"stem":55,"icon":56},"Features","\u002Fen\u002Fdocs\u002Fplatform\u002Fintroduction\u002Fwhat-you-get","en\u002F1.docs\u002F2.platform\u002F1.introduction\u002F3.what-you-get","i-lucide-package-check",{"title":13,"path":58,"stem":59,"icon":16},"\u002Fen\u002Fdocs\u002Fplatform\u002Fintroduction\u002Fget-started","en\u002F1.docs\u002F2.platform\u002F1.introduction\u002F4.get-started",{"title":61,"path":62,"stem":63,"children":64,"icon":22},"Web Services","\u002Fen\u002Fdocs\u002Fplatform\u002Fweb-services","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F01.index",[65,68,73,78,82,87,92,97,102,107,112,117,122],{"title":66,"path":62,"stem":63,"icon":67},"Source Options","i-lucide-app-window",{"title":69,"path":70,"stem":71,"icon":72},"Build Strategies","\u002Fen\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fbuild-strategies","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F02.build-strategies","i-lucide-hammer",{"title":74,"path":75,"stem":76,"icon":77},"Configuration","\u002Fen\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fconfiguration","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F03.configuration","i-lucide-settings",{"title":79,"path":80,"stem":81,"icon":16},"Deploying","\u002Fen\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fdeploying","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F04.deploying",{"title":83,"path":84,"stem":85,"icon":86},"Scaling","\u002Fen\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fscaling","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F05.scaling","i-lucide-scaling",{"title":88,"path":89,"stem":90,"icon":91},"Domains","\u002Fen\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fdomains","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F06.domains","i-lucide-globe",{"title":93,"path":94,"stem":95,"icon":96},"Service Networking","\u002Fen\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fconnecting-services","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F07.connecting-services","i-lucide-network",{"title":98,"path":99,"stem":100,"icon":101},"Env Variables","\u002Fen\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fenvironment-variables","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F08.environment-variables","i-lucide-key-round",{"title":103,"path":104,"stem":105,"icon":106},"Storage","\u002Fen\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fpersistent-storage","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F09.persistent-storage","i-lucide-hard-drive",{"title":108,"path":109,"stem":110,"icon":111},"Defaults","\u002Fen\u002Fdocs\u002Fplatform\u002Fweb-services\u002Flimits","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F10.limits","i-lucide-gauge",{"title":113,"path":114,"stem":115,"icon":116},"Billing","\u002Fen\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fbilling","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F11.billing","i-lucide-credit-card",{"title":118,"path":119,"stem":120,"icon":121},"Shell","\u002Fen\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fshell","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F12.shell","i-lucide-square-terminal",{"title":123,"path":124,"stem":125,"icon":126},"Drop a Site","\u002Fen\u002Fdocs\u002Fplatform\u002Fweb-services\u002Fdrop","en\u002F1.docs\u002F2.platform\u002F2.web-services\u002F13.drop","i-lucide-upload",{"title":128,"path":129,"stem":130,"children":131,"icon":22},"Databases","\u002Fen\u002Fdocs\u002Fplatform\u002Fdatabases","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F1.index",[132,135,140,145,150,153,158,163],{"title":133,"path":129,"stem":130,"icon":134},"Templates","i-lucide-database",{"title":136,"path":137,"stem":138,"icon":139},"Create","\u002Fen\u002Fdocs\u002Fplatform\u002Fdatabases\u002Fcreate","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F2.create","i-lucide-plus",{"title":141,"path":142,"stem":143,"icon":144},"Connect","\u002Fen\u002Fdocs\u002Fplatform\u002Fdatabases\u002Fconnect","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F3.connect","i-lucide-plug",{"title":146,"path":147,"stem":148,"icon":149},"Public Access","\u002Fen\u002Fdocs\u002Fplatform\u002Fdatabases\u002Fpublic-access","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F4.public-access","i-lucide-radio-tower",{"title":103,"path":151,"stem":152,"icon":106},"\u002Fen\u002Fdocs\u002Fplatform\u002Fdatabases\u002Fstorage","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F5.storage",{"title":154,"path":155,"stem":156,"icon":157},"Management","\u002Fen\u002Fdocs\u002Fplatform\u002Fdatabases\u002Fmanagement","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F6.management","i-lucide-sliders-horizontal",{"title":159,"path":160,"stem":161,"icon":162},"Operations","\u002Fen\u002Fdocs\u002Fplatform\u002Fdatabases\u002Foperational-notes","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F7.operational-notes","i-lucide-clipboard-list",{"title":113,"path":164,"stem":165,"icon":116},"\u002Fen\u002Fdocs\u002Fplatform\u002Fdatabases\u002Fbilling","en\u002F1.docs\u002F2.platform\u002F3.databases\u002F8.billing",{"title":24,"path":167,"stem":168,"children":169,"icon":22},"\u002Fen\u002Fdocs\u002Fplatform\u002Fguides","en\u002F1.docs\u002F2.platform\u002F4.guides\u002F1.index",[170,171],{"title":24,"path":167,"stem":168,"icon":29},{"title":172,"path":173,"stem":174,"icon":175},"Hermes Agent","\u002Fen\u002Fdocs\u002Fplatform\u002Fguides\u002Fsetup-hermes-agent","en\u002F1.docs\u002F2.platform\u002F4.guides\u002F2.setup-hermes-agent","i-lucide-bot",{"title":177,"path":178,"stem":179,"children":180,"icon":22},"App Services","\u002Fen\u002Fdocs\u002Fapp-services","en\u002F1.docs\u002F3.app-services\u002F1.index",[181,182,186,190,194,199],{"title":177,"path":178,"stem":179,"icon":16},{"title":183,"path":184,"stem":185,"icon":77},"Build Settings","\u002Fen\u002Fdocs\u002Fapp-services\u002Fbuild-settings","en\u002F1.docs\u002F3.app-services\u002F2.build-settings",{"title":98,"path":187,"stem":188,"icon":189},"\u002Fen\u002Fdocs\u002Fapp-services\u002Fenvironment-variables","en\u002F1.docs\u002F3.app-services\u002F3.environment-variables","i-lucide-key",{"title":191,"path":192,"stem":193,"icon":91},"Custom Domains","\u002Fen\u002Fdocs\u002Fapp-services\u002Fcustom-domains","en\u002F1.docs\u002F3.app-services\u002F4.custom-domains",{"title":195,"path":196,"stem":197,"icon":198},"Health Checks","\u002Fen\u002Fdocs\u002Fapp-services\u002Fhealth-checks","en\u002F1.docs\u002F3.app-services\u002F5.health-checks","i-lucide-heart-pulse",{"title":200,"path":201,"stem":202,"icon":86},"Autoscaling","\u002Fen\u002Fdocs\u002Fapp-services\u002Fautoscaling","en\u002F1.docs\u002F3.app-services\u002F6.autoscaling",{"title":204,"path":205,"stem":206,"children":207,"icon":22},"Helm Releases","\u002Fen\u002Fdocs\u002Fhelm-releases","en\u002F1.docs\u002F4.helm-releases\u002F1.index",[208,210,214,219,223,228,232,237],{"title":204,"path":205,"stem":206,"icon":209},"i-lucide-package",{"title":211,"path":212,"stem":213,"icon":134},"Deploy PostgreSQL","\u002Fen\u002Fdocs\u002Fhelm-releases\u002Fdeploy-postgresql","en\u002F1.docs\u002F4.helm-releases\u002F2.deploy-postgresql",{"title":215,"path":216,"stem":217,"icon":218},"Deploy Redis","\u002Fen\u002Fdocs\u002Fhelm-releases\u002Fdeploy-redis","en\u002F1.docs\u002F4.helm-releases\u002F3.deploy-redis","i-lucide-zap",{"title":220,"path":221,"stem":222,"icon":218},"Deploy Valkey","\u002Fen\u002Fdocs\u002Fhelm-releases\u002Fdeploy-valkey","en\u002F1.docs\u002F4.helm-releases\u002F3.deploy-valkey",{"title":224,"path":225,"stem":226,"icon":227},"Deploy n8n","\u002Fen\u002Fdocs\u002Fhelm-releases\u002Fdeploy-n8n","en\u002F1.docs\u002F4.helm-releases\u002F4.deploy-n8n","i-lucide-workflow",{"title":229,"path":230,"stem":231,"icon":106},"Deploy RustFS","\u002Fen\u002Fdocs\u002Fhelm-releases\u002Fdeploy-rustfs","en\u002F1.docs\u002F4.helm-releases\u002F5.deploy-rustfs",{"title":233,"path":234,"stem":235,"icon":236},"Deploy OpenSearch","\u002Fen\u002Fdocs\u002Fhelm-releases\u002Fdeploy-opensearch","en\u002F1.docs\u002F4.helm-releases\u002F6.deploy-opensearch","i-lucide-search",{"title":238,"path":239,"stem":240,"icon":241},"Deploy Keycloak","\u002Fen\u002Fdocs\u002Fhelm-releases\u002Fdeploy-keycloak","en\u002F1.docs\u002F4.helm-releases\u002F7.deploy-keycloak","i-lucide-shield-check",{"title":243,"path":244,"stem":245,"children":246,"icon":22},"Glossary","\u002Fen\u002Fdocs\u002Fglossary","en\u002F1.docs\u002F5.glossary\u002F1.index",[247],{"title":243,"path":244,"stem":245,"icon":248},"i-lucide-book-a",{"id":250,"title":251,"authors":252,"badge":258,"body":259,"date":543,"description":544,"extension":545,"image":546,"lastUpdated":258,"meta":548,"navigation":549,"path":550,"published":549,"seo":551,"stem":552,"tags":258,"__hash__":553},"posts\u002Fen\u002F3.blog\u002F77.low-code-backend.md","Low-Code Backend: Ship Faster, Skip the Ops",[253],{"name":254,"to":255,"avatar":256},"Thomas Ens","\u002Fabout\u002Fthomasens",{"src":257},"\u002Fimages\u002Fblog\u002Fauthors\u002Fthomas.jpeg",null,{"type":260,"value":261,"toc":524},"minimark",[262,266,271,274,277,280,284,287,295,302,309,313,318,335,338,342,356,359,363,377,380,384,397,401,404,407,411,436,440,443,449,455,461,464,468,471,477,483,494,500,504,507,513],[263,264,265],"p",{},"Backend development was long a field that demanded deep technical know-how: database modeling, API design, authentication, deployment, scaling. All of it landed on the shoulders of developers, who often spent more time on it than on the actual product logic. Low-code platforms are changing that, but not as radically as some of the hype would suggest. What actually changes, and what it means for developers and DevOps teams, is what we'll look at here.",[267,268,270],"h2",{"id":269},"what-low-code-backend-actually-means","What \"low-code backend\" actually means",[263,272,273],{},"The term is fuzzy, you have to admit that. Low-code backend roughly covers any approach where a large part of the backend infrastructure is provided through configuration, visual interfaces, or heavily abstracted APIs, rather than being written by hand.",[263,275,276],{},"The spectrum ranges from backend-as-a-service platforms that deliver authentication, database, and storage as ready-made building blocks, all the way to API builders that automatically generate REST or GraphQL endpoints from a database schema. In between sit workflow engines, internal tool builders, and platforms that package CI\u002FCD, secrets management, and deployment into a single interface.",[263,278,279],{},"No-code goes one step further and drops manual coding entirely. For many backend requirements that's simply unrealistic: too complex, too much custom logic, too many edge cases. Low-code, by contrast, leaves developers in control while taking the repetitive work off their plate. That's the decisive difference.",[267,281,283],{"id":282},"why-the-market-is-exploding-right-now","Why the market is exploding right now",[263,285,286],{},"Three factors are driving the boom, and they have little to do with marketing trends.",[263,288,289,290,294],{},"First: ",[291,292,293],"strong",{},"skill shortage",". Good backend developers are expensive and scarce. Teams have to deliver more with fewer resources. Platforms that automate standard tasks aren't a nice-to-have anymore, they're an operational necessity.",[263,296,297,298,301],{},"Second: ",[291,299,300],{},"time-to-market pressure",". If it takes you three weeks to stand up a new API layer, you lose ground to teams that do it in two days. The pressure doesn't come from one particular industry, it's everywhere.",[263,303,304,305,308],{},"Third: ",[291,306,307],{},"rising infrastructure complexity",". Kubernetes, service meshes, observability, security: the infrastructure landscape has gotten significantly more complicated over the past few years. At the same time, developers are supposed to focus on product features, not cluster management. Low-code platforms resolve that tension by abstracting complexity away, without throwing it out.",[267,310,312],{"id":311},"the-main-categories-in-low-code-backend","The main categories in low-code backend",[314,315,317],"h3",{"id":316},"backend-as-a-service-baas","Backend-as-a-Service (BaaS)",[263,319,320,321,328,329,334],{},"BaaS platforms like ",[322,323,327],"a",{"href":324,"rel":325},"https:\u002F\u002Fsupabase.com",[326],"nofollow","Supabase"," or ",[322,330,333],{"href":331,"rel":332},"https:\u002F\u002Fappwrite.io",[326],"Appwrite"," deliver auth, database, storage, and realtime functionality as ready-made, configurable building blocks. You connect via SDK, define database structures and permissions, and within hours you have a working backend.",[263,336,337],{},"That works well for many standard applications: web apps, mobile backends, internal tools. Where it gets tricky: complex business logic that won't squeeze into database rules or edge functions, and proprietary data formats that make later migration difficult.",[314,339,341],{"id":340},"api-builders-and-auto-generated-apis","API builders and auto-generated APIs",[263,343,344,345,328,350,355],{},"Tools like ",[322,346,349],{"href":347,"rel":348},"https:\u002F\u002Fhasura.io",[326],"Hasura",[322,351,354],{"href":352,"rel":353},"https:\u002F\u002Fpostgrest.org",[326],"PostgREST"," automatically generate APIs from a database schema. That saves an enormous amount of boilerplate code, no more writing CRUD endpoints by hand. The logic lives in the database structure and in permissions rules, not in application code.",[263,357,358],{},"For data-driven applications, that's a real efficiency gain. The catch: as soon as the logic gets complex or depends on multiple data sources, you quickly hit the limits of the generation approach.",[314,360,362],{"id":361},"workflow-and-process-engines","Workflow and process engines",[263,364,365,366,328,371,376],{},"Platforms like ",[322,367,370],{"href":368,"rel":369},"https:\u002F\u002Fn8n.io",[326],"n8n",[322,372,375],{"href":373,"rel":374},"https:\u002F\u002Ftemporal.io",[326],"Temporal"," cover a different area: process automation and complex workflows across system boundaries. Instead of writing integration code, you connect building blocks visually or through configuration.",[263,378,379],{},"That's low-code in a different sense: not less infrastructure, but less integration work. For teams that have to connect many external systems, that's often more relevant than a BaaS stack.",[314,381,383],{"id":382},"internal-tool-builders","Internal tool builders",[263,385,344,386,328,391,396],{},[322,387,390],{"href":388,"rel":389},"https:\u002F\u002Fretool.com",[326],"Retool",[322,392,395],{"href":393,"rel":394},"https:\u002F\u002Fwww.appsmith.com",[326],"Appsmith"," target teams that need to build internal dashboards, admin panels, or data tools quickly. This is where low-code is most directly felt: in hours you have a working interface pointing at real backend APIs.",[267,398,400],{"id":399},"low-code-also-means-deployment-gets-easy","Low-code also means: deployment gets \"easy\"",[263,402,403],{},"When people talk about \"low-code backend,\" they usually think first of databases, auth, and API generators. In practice, though, there's another category that belongs here: low-code for deployment.",[263,405,406],{},"The idea: you click (or push) and the app runs, including builds, environments, domains, and rollouts, without having to assemble your own CI\u002FCD and ops toolkit every single time.",[314,408,410],{"id":409},"examples-vercel-mainstream-and-lowcloud-sovereign","Examples: Vercel (mainstream) and lowcloud (sovereign)",[412,413,414,425],"ul",{},[415,416,417,424],"li",{},[291,418,419],{},[322,420,423],{"href":421,"rel":422},"https:\u002F\u002Fvercel.com",[326],"Vercel"," is the best-known example of this \"low-code deployment\" direction: extremely fast developer experience, great for web apps, but with the classic trade-off toward lock-in and platform dependency.",[415,426,427,430,431,435],{},[291,428,429],{},"lowcloud"," aims at the same \"deployments as simple as possible\" idea, but as a ",[322,432,434],{"href":433},"\u002Fen\u002Fblog\u002Fdigital-sovereignty-lowcloud-vs-vercel-b2b","sovereign Vercel alternative",": control over the environment, data ownership, and clear responsibilities — without teams having to run \"ops as a side job.\"",[267,437,439],{"id":438},"the-limits-of-low-code-when-youre-better-off-staying-away","The limits of low-code: when you're better off staying away",[263,441,442],{},"Low-code backend is no silver bullet. There are scenarios where you're better off sticking with classic approaches.",[263,444,445,448],{},[291,446,447],{},"Complex business logic"," is hard to squeeze into configuration. When a process has many conditions, exceptions, and domain-specific rules, every low-code abstraction becomes a crutch. Code is simply more expressive here.",[263,450,451,454],{},[291,452,453],{},"Performance-critical systems",", APIs with hard latency requirements, high-volume data processing, often need direct control over database queries, caching strategies, and network communication. BaaS platforms bring overhead by definition.",[263,456,457,460],{},[291,458,459],{},"Strict compliance requirements"," (e.g. GDPR, BSI baseline protection, ISO 27001) don't sit well with proprietary cloud services whose data processing you can't fully control. If you need full data sovereignty, you have to look closely at where data sits and who has access.",[263,462,463],{},"That doesn't mean avoiding low-code, it means using it deliberately: for standard tasks, for fast iteration, for internal tools. And for the rest: classic code that does exactly what you want.",[267,465,467],{"id":466},"what-makes-a-good-low-code-backend-platform","What makes a good low-code backend platform",[263,469,470],{},"Not every platform that calls itself \"low-code\" delivers on the promise. What matters:",[263,472,473,476],{},[291,474,475],{},"Developer experience"," is the most important criterion. A platform that forces developers to click through dozens of UI screens to configure something costs more time than it saves. Good platforms have clear APIs, sensible defaults, and documentation that isn't a novel.",[263,478,479,482],{},[291,480,481],{},"GitOps compatibility"," is not optional. Configurations have to be versionable, deployments reproducible. Platforms that keep state only in a proprietary database are a problem in professional teams.",[263,484,485,488,489,493],{},[291,486,487],{},"Vendor lock-in"," is the ",[322,490,492],{"href":491},"\u002Fen\u002Fblog\u002Fcloud-vendor-lock-in","hidden price of many low-code solutions",". Before you commit to a platform, you should know: what does an exit look like? Can I migrate my data and configurations? Are there open-source alternatives?",[263,495,496,499],{},[291,497,498],{},"Security and secrets management"," are rarely shown in low-code demos, but they're decisive in everyday use. How are API keys stored? Who has access to what? Can role-based access control be configured at a fine-grained level?",[267,501,503],{"id":502},"outlook-where-is-low-code-backend-heading","Outlook: where is low-code backend heading?",[263,505,506],{},"Two developments will shape low-code backend over the next few years.",[263,508,509,512],{},[291,510,511],{},"AI-assisted API generation"," is the next stage: no longer just from a database schema, but from natural-language descriptions or existing data sources. Early approaches already exist, the quality still varies a lot, but the direction is clear.",[263,514,515,518,519,523],{},[291,516,517],{},"Platform engineering as a discipline"," is maturing. More and more companies are building dedicated ",[322,520,522],{"href":521},"\u002Fen\u002Fblog\u002Fplatform-engineering","internal developer platforms"," instead of having every developer wrestle with infrastructure themselves. Low-code tools for the platform layer, deployment interfaces, self-service portals, observability dashboards, are becoming central.",{"title":525,"searchDepth":526,"depth":526,"links":527},"",2,[528,529,530,537,540,541,542],{"id":269,"depth":526,"text":270},{"id":282,"depth":526,"text":283},{"id":311,"depth":526,"text":312,"children":531},[532,534,535,536],{"id":316,"depth":533,"text":317},3,{"id":340,"depth":533,"text":341},{"id":361,"depth":533,"text":362},{"id":382,"depth":533,"text":383},{"id":399,"depth":526,"text":400,"children":538},[539],{"id":409,"depth":533,"text":410},{"id":438,"depth":526,"text":439},{"id":466,"depth":526,"text":467},{"id":502,"depth":526,"text":503},"2026-05-14","Low-code backend takes repetitive work off developers: ship faster, less boilerplate. The categories, the limits, and what makes a good platform.","md",{"src":547},"\u002Fimages\u002Fblog\u002Flow-code-backend.jpg",{},true,"\u002Fen\u002Fblog\u002Flow-code-backend",{"title":251,"description":544},"en\u002F3.blog\u002F77.low-code-backend","DHYveWDJD0pKabcdvzBz6EPJnVQiwtUyMtGdbXXfZ2k",[555,561],{"title":556,"path":557,"stem":558,"description":559,"date":560,"published":549,"children":-1},"Vibe Coding Deployment: Building More Apps, But How to Host?","\u002Fen\u002Fblog\u002Fhost-many-vibe-coded-apps","en\u002F3.blog\u002F77.host-many-vibe-coded-apps","Vibe coding makes your app count explode. How to standardize deployment and operations so 20, 50, or 200 apps stay manageable instead of chaos.","2026-05-05",{"title":562,"path":563,"stem":564,"description":565,"date":566,"published":549,"children":-1},"Publish Your AI App: 7 Things a Link Won't Solve","\u002Fen\u002Fblog\u002Fpublish-ai-app","en\u002F3.blog\u002F77.publish-ai-app","Built an AI app and want to give it to clients or your team? What you actually need beyond the link: access control, domain, stability, data.","2026-06-15",1783326674255]