{"id":2,"date":"2026-05-28T17:44:10","date_gmt":"2026-05-28T17:44:10","guid":{"rendered":"https:\/\/softwareproduction.eu\/wordpress\/?page_id=2"},"modified":"2026-06-07T01:40:45","modified_gmt":"2026-06-07T01:40:45","slug":"blog","status":"publish","type":"page","link":"https:\/\/softwareproduction.eu\/?page_id=2","title":{"rendered":"Automated Application Development"},"content":{"rendered":"\n<div class=\"wp-block-group alignwide has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-columns alignwide is-layout-flex wp-container-core-columns-is-layout-3a88641f wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><\/div>\n<\/div>\n<\/div>\n\n\n\n<main class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-91e525c2 wp-block-group-is-layout-constrained\" style=\"margin-top:80px;margin-bottom:80px;padding-right:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)\">\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-3506bd9a wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:70%\">\n<div class=\"wp-block-query is-layout-flow wp-block-query-is-layout-flow\"><ul class=\"columns-2 wp-block-post-template is-layout-grid wp-container-core-post-template-is-layout-e1460667 wp-block-post-template-is-layout-grid\"><li class=\"wp-block-post post-209 post type-post status-publish format-standard has-post-thumbnail hentry category-code-generation-and-automation\">\n\n<div class=\"wp-block-group has-border-color has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\" style=\"border-color:#cdcdcd;border-width:1px;border-radius:10px\"><figure class=\"wp-block-post-featured-image\"><a href=\"https:\/\/softwareproduction.eu\/?p=209\" target=\"_self\"  ><img loading=\"lazy\" decoding=\"async\" width=\"1880\" height=\"1253\" src=\"https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/type-safe-form-generation.jpg\" class=\"attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"Type-Safe Form Generation from GraphQL Introspection\" style=\"border-radius:10px;object-fit:cover;\" srcset=\"https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/type-safe-form-generation.jpg 1880w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/type-safe-form-generation-300x200.jpg 300w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/type-safe-form-generation-1024x682.jpg 1024w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/type-safe-form-generation-768x512.jpg 768w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/type-safe-form-generation-1536x1024.jpg 1536w\" sizes=\"auto, (max-width: 1880px) 100vw, 1880px\" \/><\/a><\/figure>\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-5bae9e47 wp-block-group-is-layout-constrained\" style=\"margin-top:0;margin-bottom:0;padding-top:var(--wp--preset--spacing--10);padding-right:var(--wp--preset--spacing--10);padding-bottom:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--10)\">\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-3df3f144 wp-block-group-is-layout-flex\" style=\"padding-top:var(--wp--preset--spacing--10)\"><div class=\"wp-block-post-author\"><div class=\"wp-block-post-author__content\"><p class=\"wp-block-post-author__name\">Munir Husseini<\/p><\/div><\/div>\n\n<div class=\"wp-block-post-date\"><time datetime=\"2026-06-07T00:30:13.022Z\">June 7, 2026<\/time><\/div><\/div>\n\n\n<h2 style=\"line-height:1.2\" class=\"wp-block-post-title has-mdm-large-font-size\"><a href=\"https:\/\/softwareproduction.eu\/?p=209\" target=\"_self\" >Type-Safe Form Generation from GraphQL Introspection<\/a><\/h2>\n\n<div class=\"wp-block-post-excerpt\"><p class=\"wp-block-post-excerpt__excerpt\">Seventh in a series about migrating from legacy architectures to a modern Nuxt 4 stack. Two&hellip;<\/p><p class=\"wp-block-post-excerpt__more-text\"><a class=\"wp-block-post-excerpt__more-link\" href=\"https:\/\/softwareproduction.eu\/?p=209\">Read More<\/a><\/p><\/div><\/div>\n<\/div>\n\n<\/li><li class=\"wp-block-post post-208 post type-post status-publish format-standard has-post-thumbnail hentry category-code-generation-and-automation\">\n\n<div class=\"wp-block-group has-border-color has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\" style=\"border-color:#cdcdcd;border-width:1px;border-radius:10px\"><figure class=\"wp-block-post-featured-image\"><a href=\"https:\/\/softwareproduction.eu\/?p=208\" target=\"_self\"  ><img loading=\"lazy\" decoding=\"async\" width=\"1880\" height=\"1253\" src=\"https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/ai-assisted-development.jpg\" class=\"attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"AI-Assisted Development \u2014 MCP, Debug Chatbot, and the Shared Language of the Codebase\" style=\"border-radius:10px;object-fit:cover;\" srcset=\"https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/ai-assisted-development.jpg 1880w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/ai-assisted-development-300x200.jpg 300w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/ai-assisted-development-1024x682.jpg 1024w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/ai-assisted-development-768x512.jpg 768w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/ai-assisted-development-1536x1024.jpg 1536w\" sizes=\"auto, (max-width: 1880px) 100vw, 1880px\" \/><\/a><\/figure>\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-5bae9e47 wp-block-group-is-layout-constrained\" style=\"margin-top:0;margin-bottom:0;padding-top:var(--wp--preset--spacing--10);padding-right:var(--wp--preset--spacing--10);padding-bottom:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--10)\">\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-3df3f144 wp-block-group-is-layout-flex\" style=\"padding-top:var(--wp--preset--spacing--10)\"><div class=\"wp-block-post-author\"><div class=\"wp-block-post-author__content\"><p class=\"wp-block-post-author__name\">Munir Husseini<\/p><\/div><\/div>\n\n<div class=\"wp-block-post-date\"><time datetime=\"2026-06-07T00:30:13.022Z\">June 7, 2026<\/time><\/div><\/div>\n\n\n<h2 style=\"line-height:1.2\" class=\"wp-block-post-title has-mdm-large-font-size\"><a href=\"https:\/\/softwareproduction.eu\/?p=208\" target=\"_self\" >AI-Assisted Development \u2014 MCP, Debug Chatbot, and the Shared Language of the Codebase<\/a><\/h2>\n\n<div class=\"wp-block-post-excerpt\"><p class=\"wp-block-post-excerpt__excerpt\">Fourteenth in a series about migrating from legacy architectures to a modern Nuxt 4 stack. Beyond&hellip;<\/p><p class=\"wp-block-post-excerpt__more-text\"><a class=\"wp-block-post-excerpt__more-link\" href=\"https:\/\/softwareproduction.eu\/?p=208\">Read More<\/a><\/p><\/div><\/div>\n<\/div>\n\n<\/li><li class=\"wp-block-post post-27 post type-post status-publish format-standard has-post-thumbnail hentry category-advanced-web-app-with-nuxt-and-net\">\n\n<div class=\"wp-block-group has-border-color has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\" style=\"border-color:#cdcdcd;border-width:1px;border-radius:10px\"><figure class=\"wp-block-post-featured-image\"><a href=\"https:\/\/softwareproduction.eu\/?p=27\" target=\"_self\"  ><img loading=\"lazy\" decoding=\"async\" width=\"1880\" height=\"1253\" src=\"https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/12-ssr-deep-dive.jpg\" class=\"attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"SSR Deep Dive \u2014 Hydration, State Replay, and the Cookbook\" style=\"border-radius:10px;object-fit:cover;\" srcset=\"https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/12-ssr-deep-dive.jpg 1880w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/12-ssr-deep-dive-300x200.jpg 300w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/12-ssr-deep-dive-1024x682.jpg 1024w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/12-ssr-deep-dive-768x512.jpg 768w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/12-ssr-deep-dive-1536x1024.jpg 1536w\" sizes=\"auto, (max-width: 1880px) 100vw, 1880px\" \/><\/a><\/figure>\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-5bae9e47 wp-block-group-is-layout-constrained\" style=\"margin-top:0;margin-bottom:0;padding-top:var(--wp--preset--spacing--10);padding-right:var(--wp--preset--spacing--10);padding-bottom:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--10)\">\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-3df3f144 wp-block-group-is-layout-flex\" style=\"padding-top:var(--wp--preset--spacing--10)\"><div class=\"wp-block-post-author\"><div class=\"wp-block-post-author__content\"><p class=\"wp-block-post-author__name\">Munir Husseini<\/p><\/div><\/div>\n\n<div class=\"wp-block-post-date\"><time datetime=\"2026-06-07T00:30:13.022Z\">June 7, 2026<\/time><\/div><\/div>\n\n\n<h2 style=\"line-height:1.2\" class=\"wp-block-post-title has-mdm-large-font-size\"><a href=\"https:\/\/softwareproduction.eu\/?p=27\" target=\"_self\" >SSR Deep Dive \u2014 Hydration, State Replay, and the Cookbook<\/a><\/h2>\n\n<div class=\"wp-block-post-excerpt\"><p class=\"wp-block-post-excerpt__excerpt\">Twelfth in a series about migrating from legacy architectures to a modern Nuxt 4 stack. The&hellip;<\/p><p class=\"wp-block-post-excerpt__more-text\"><a class=\"wp-block-post-excerpt__more-link\" href=\"https:\/\/softwareproduction.eu\/?p=27\">Read More<\/a><\/p><\/div><\/div>\n<\/div>\n\n<\/li><li class=\"wp-block-post post-26 post type-post status-publish format-standard has-post-thumbnail hentry category-advanced-web-app-with-nuxt-and-net\">\n\n<div class=\"wp-block-group has-border-color has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\" style=\"border-color:#cdcdcd;border-width:1px;border-radius:10px\"><figure class=\"wp-block-post-featured-image\"><a href=\"https:\/\/softwareproduction.eu\/?p=26\" target=\"_self\"  ><img loading=\"lazy\" decoding=\"async\" width=\"1733\" height=\"1300\" src=\"https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/20-the-full-picture.jpg\" class=\"attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"The Full Picture \u2014 What the New Concept Delivers\" style=\"border-radius:10px;object-fit:cover;\" srcset=\"https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/20-the-full-picture.jpg 1733w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/20-the-full-picture-300x225.jpg 300w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/20-the-full-picture-1024x768.jpg 1024w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/20-the-full-picture-768x576.jpg 768w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/20-the-full-picture-1536x1152.jpg 1536w\" sizes=\"auto, (max-width: 1733px) 100vw, 1733px\" \/><\/a><\/figure>\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-5bae9e47 wp-block-group-is-layout-constrained\" style=\"margin-top:0;margin-bottom:0;padding-top:var(--wp--preset--spacing--10);padding-right:var(--wp--preset--spacing--10);padding-bottom:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--10)\">\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-3df3f144 wp-block-group-is-layout-flex\" style=\"padding-top:var(--wp--preset--spacing--10)\"><div class=\"wp-block-post-author\"><div class=\"wp-block-post-author__content\"><p class=\"wp-block-post-author__name\">Munir Husseini<\/p><\/div><\/div>\n\n<div class=\"wp-block-post-date\"><time datetime=\"2026-06-07T00:30:13.022Z\">June 7, 2026<\/time><\/div><\/div>\n\n\n<h2 style=\"line-height:1.2\" class=\"wp-block-post-title has-mdm-large-font-size\"><a href=\"https:\/\/softwareproduction.eu\/?p=26\" target=\"_self\" >The Full Picture \u2014 What the New Concept Delivers<\/a><\/h2>\n\n<div class=\"wp-block-post-excerpt\"><p class=\"wp-block-post-excerpt__excerpt\">Twentieth and final article in a series about migrating from legacy architectures to a modern Nuxt&hellip;<\/p><p class=\"wp-block-post-excerpt__more-text\"><a class=\"wp-block-post-excerpt__more-link\" href=\"https:\/\/softwareproduction.eu\/?p=26\">Read More<\/a><\/p><\/div><\/div>\n<\/div>\n\n<\/li><li class=\"wp-block-post post-25 post type-post status-publish format-standard has-post-thumbnail hentry category-advanced-web-app-with-nuxt-and-net\">\n\n<div class=\"wp-block-group has-border-color has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\" style=\"border-color:#cdcdcd;border-width:1px;border-radius:10px\"><figure class=\"wp-block-post-featured-image\"><a href=\"https:\/\/softwareproduction.eu\/?p=25\" target=\"_self\"  ><img loading=\"lazy\" decoding=\"async\" width=\"1880\" height=\"1253\" src=\"https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/19-load-testing-results.jpg\" class=\"attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"Load Testing Results \u2014 15\u00d7 Faster, 5\u00d7 More Capacity\" style=\"border-radius:10px;object-fit:cover;\" srcset=\"https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/19-load-testing-results.jpg 1880w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/19-load-testing-results-300x200.jpg 300w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/19-load-testing-results-1024x682.jpg 1024w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/19-load-testing-results-768x512.jpg 768w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/19-load-testing-results-1536x1024.jpg 1536w\" sizes=\"auto, (max-width: 1880px) 100vw, 1880px\" \/><\/a><\/figure>\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-5bae9e47 wp-block-group-is-layout-constrained\" style=\"margin-top:0;margin-bottom:0;padding-top:var(--wp--preset--spacing--10);padding-right:var(--wp--preset--spacing--10);padding-bottom:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--10)\">\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-3df3f144 wp-block-group-is-layout-flex\" style=\"padding-top:var(--wp--preset--spacing--10)\"><div class=\"wp-block-post-author\"><div class=\"wp-block-post-author__content\"><p class=\"wp-block-post-author__name\">Munir Husseini<\/p><\/div><\/div>\n\n<div class=\"wp-block-post-date\"><time datetime=\"2026-06-07T00:30:13.022Z\">June 7, 2026<\/time><\/div><\/div>\n\n\n<h2 style=\"line-height:1.2\" class=\"wp-block-post-title has-mdm-large-font-size\"><a href=\"https:\/\/softwareproduction.eu\/?p=25\" target=\"_self\" >Load Testing Results \u2014 15\u00d7 Faster, 5\u00d7 More Capacity<\/a><\/h2>\n\n<div class=\"wp-block-post-excerpt\"><p class=\"wp-block-post-excerpt__excerpt\">Nineteenth in a series about migrating from legacy architectures to a modern Nuxt 4 stack. Architecture&hellip;<\/p><p class=\"wp-block-post-excerpt__more-text\"><a class=\"wp-block-post-excerpt__more-link\" href=\"https:\/\/softwareproduction.eu\/?p=25\">Read More<\/a><\/p><\/div><\/div>\n<\/div>\n\n<\/li><li class=\"wp-block-post post-24 post type-post status-publish format-standard has-post-thumbnail hentry category-advanced-web-app-with-nuxt-and-net\">\n\n<div class=\"wp-block-group has-border-color has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\" style=\"border-color:#cdcdcd;border-width:1px;border-radius:10px\"><figure class=\"wp-block-post-featured-image\"><a href=\"https:\/\/softwareproduction.eu\/?p=24\" target=\"_self\"  ><img loading=\"lazy\" decoding=\"async\" width=\"1880\" height=\"1099\" src=\"https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/18-full-observability-stack.jpg\" class=\"attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"The Nuxt Observability Stack: Tracing, Logging, and PM2 Metrics\" style=\"border-radius:10px;object-fit:cover;\" srcset=\"https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/18-full-observability-stack.jpg 1880w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/18-full-observability-stack-300x175.jpg 300w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/18-full-observability-stack-1024x599.jpg 1024w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/18-full-observability-stack-768x449.jpg 768w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/18-full-observability-stack-1536x898.jpg 1536w\" sizes=\"auto, (max-width: 1880px) 100vw, 1880px\" \/><\/a><\/figure>\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-5bae9e47 wp-block-group-is-layout-constrained\" style=\"margin-top:0;margin-bottom:0;padding-top:var(--wp--preset--spacing--10);padding-right:var(--wp--preset--spacing--10);padding-bottom:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--10)\">\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-3df3f144 wp-block-group-is-layout-flex\" style=\"padding-top:var(--wp--preset--spacing--10)\"><div class=\"wp-block-post-author\"><div class=\"wp-block-post-author__content\"><p class=\"wp-block-post-author__name\">Munir Husseini<\/p><\/div><\/div>\n\n<div class=\"wp-block-post-date\"><time datetime=\"2026-06-07T00:30:13.022Z\">June 7, 2026<\/time><\/div><\/div>\n\n\n<h2 style=\"line-height:1.2\" class=\"wp-block-post-title has-mdm-large-font-size\"><a href=\"https:\/\/softwareproduction.eu\/?p=24\" target=\"_self\" >The Nuxt Observability Stack: Tracing, Logging, and PM2 Metrics<\/a><\/h2>\n\n<div class=\"wp-block-post-excerpt\"><p class=\"wp-block-post-excerpt__excerpt\">Migrating from a legacy application to a modern Nuxt 4 stack is not just about new&hellip;<\/p><p class=\"wp-block-post-excerpt__more-text\"><a class=\"wp-block-post-excerpt__more-link\" href=\"https:\/\/softwareproduction.eu\/?p=24\">Read More<\/a><\/p><\/div><\/div>\n<\/div>\n\n<\/li><li class=\"wp-block-post post-23 post type-post status-publish format-standard has-post-thumbnail hentry category-advanced-web-app-with-nuxt-and-net\">\n\n<div class=\"wp-block-group has-border-color has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\" style=\"border-color:#cdcdcd;border-width:1px;border-radius:10px\"><figure class=\"wp-block-post-featured-image\"><a href=\"https:\/\/softwareproduction.eu\/?p=23\" target=\"_self\"  ><img loading=\"lazy\" decoding=\"async\" width=\"1880\" height=\"1253\" src=\"https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/17-memory-stability-pm2.jpg\" class=\"attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"Memory, Stability, and PM2 \u2014 Running a Long-Lived Node.js Server\" style=\"border-radius:10px;object-fit:cover;\" srcset=\"https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/17-memory-stability-pm2.jpg 1880w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/17-memory-stability-pm2-300x200.jpg 300w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/17-memory-stability-pm2-1024x682.jpg 1024w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/17-memory-stability-pm2-768x512.jpg 768w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/17-memory-stability-pm2-1536x1024.jpg 1536w\" sizes=\"auto, (max-width: 1880px) 100vw, 1880px\" \/><\/a><\/figure>\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-5bae9e47 wp-block-group-is-layout-constrained\" style=\"margin-top:0;margin-bottom:0;padding-top:var(--wp--preset--spacing--10);padding-right:var(--wp--preset--spacing--10);padding-bottom:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--10)\">\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-3df3f144 wp-block-group-is-layout-flex\" style=\"padding-top:var(--wp--preset--spacing--10)\"><div class=\"wp-block-post-author\"><div class=\"wp-block-post-author__content\"><p class=\"wp-block-post-author__name\">Munir Husseini<\/p><\/div><\/div>\n\n<div class=\"wp-block-post-date\"><time datetime=\"2026-06-07T00:30:13.022Z\">June 7, 2026<\/time><\/div><\/div>\n\n\n<h2 style=\"line-height:1.2\" class=\"wp-block-post-title has-mdm-large-font-size\"><a href=\"https:\/\/softwareproduction.eu\/?p=23\" target=\"_self\" >Memory, Stability, and PM2 \u2014 Running a Long-Lived Node.js Server<\/a><\/h2>\n\n<div class=\"wp-block-post-excerpt\"><p class=\"wp-block-post-excerpt__excerpt\">Seventeenth in a series about migrating from legacy architectures to a modern Nuxt 4 stack. The&hellip;<\/p><p class=\"wp-block-post-excerpt__more-text\"><a class=\"wp-block-post-excerpt__more-link\" href=\"https:\/\/softwareproduction.eu\/?p=23\">Read More<\/a><\/p><\/div><\/div>\n<\/div>\n\n<\/li><li class=\"wp-block-post post-22 post type-post status-publish format-standard has-post-thumbnail hentry category-advanced-web-app-with-nuxt-and-net\">\n\n<div class=\"wp-block-group has-border-color has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\" style=\"border-color:#cdcdcd;border-width:1px;border-radius:10px\"><figure class=\"wp-block-post-featured-image\"><a href=\"https:\/\/softwareproduction.eu\/?p=22\" target=\"_self\"  ><img loading=\"lazy\" decoding=\"async\" width=\"1880\" height=\"1253\" src=\"https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/16-multi-environment-infrastructure.jpg\" class=\"attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"Multi-Environment Infrastructure \u2014 Azure Container Apps and the Configuration System\" style=\"border-radius:10px;object-fit:cover;\" srcset=\"https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/16-multi-environment-infrastructure.jpg 1880w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/16-multi-environment-infrastructure-300x200.jpg 300w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/16-multi-environment-infrastructure-1024x682.jpg 1024w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/16-multi-environment-infrastructure-768x512.jpg 768w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/16-multi-environment-infrastructure-1536x1024.jpg 1536w\" sizes=\"auto, (max-width: 1880px) 100vw, 1880px\" \/><\/a><\/figure>\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-5bae9e47 wp-block-group-is-layout-constrained\" style=\"margin-top:0;margin-bottom:0;padding-top:var(--wp--preset--spacing--10);padding-right:var(--wp--preset--spacing--10);padding-bottom:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--10)\">\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-3df3f144 wp-block-group-is-layout-flex\" style=\"padding-top:var(--wp--preset--spacing--10)\"><div class=\"wp-block-post-author\"><div class=\"wp-block-post-author__content\"><p class=\"wp-block-post-author__name\">Munir Husseini<\/p><\/div><\/div>\n\n<div class=\"wp-block-post-date\"><time datetime=\"2026-06-07T00:30:13.022Z\">June 7, 2026<\/time><\/div><\/div>\n\n\n<h2 style=\"line-height:1.2\" class=\"wp-block-post-title has-mdm-large-font-size\"><a href=\"https:\/\/softwareproduction.eu\/?p=22\" target=\"_self\" >Multi-Environment Infrastructure \u2014 Azure Container Apps and the Configuration System<\/a><\/h2>\n\n<div class=\"wp-block-post-excerpt\"><p class=\"wp-block-post-excerpt__excerpt\">Sixteenth in a series about migrating from legacy architectures to a modern Nuxt 4 stack. The&hellip;<\/p><p class=\"wp-block-post-excerpt__more-text\"><a class=\"wp-block-post-excerpt__more-link\" href=\"https:\/\/softwareproduction.eu\/?p=22\">Read More<\/a><\/p><\/div><\/div>\n<\/div>\n\n<\/li><li class=\"wp-block-post post-21 post type-post status-publish format-standard has-post-thumbnail hentry category-advanced-web-app-with-nuxt-and-net\">\n\n<div class=\"wp-block-group has-border-color has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\" style=\"border-color:#cdcdcd;border-width:1px;border-radius:10px\"><figure class=\"wp-block-post-featured-image\"><a href=\"https:\/\/softwareproduction.eu\/?p=21\" target=\"_self\"  ><img loading=\"lazy\" decoding=\"async\" width=\"1880\" height=\"1102\" src=\"https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/15-security-in-nuxt-ssr.jpg\" class=\"attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"Security in a Nuxt SSR App \u2014 CSRF, OAuth, CSP, and More\" style=\"border-radius:10px;object-fit:cover;\" srcset=\"https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/15-security-in-nuxt-ssr.jpg 1880w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/15-security-in-nuxt-ssr-300x176.jpg 300w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/15-security-in-nuxt-ssr-1024x600.jpg 1024w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/15-security-in-nuxt-ssr-768x450.jpg 768w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/15-security-in-nuxt-ssr-1536x900.jpg 1536w\" sizes=\"auto, (max-width: 1880px) 100vw, 1880px\" \/><\/a><\/figure>\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-5bae9e47 wp-block-group-is-layout-constrained\" style=\"margin-top:0;margin-bottom:0;padding-top:var(--wp--preset--spacing--10);padding-right:var(--wp--preset--spacing--10);padding-bottom:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--10)\">\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-3df3f144 wp-block-group-is-layout-flex\" style=\"padding-top:var(--wp--preset--spacing--10)\"><div class=\"wp-block-post-author\"><div class=\"wp-block-post-author__content\"><p class=\"wp-block-post-author__name\">Munir Husseini<\/p><\/div><\/div>\n\n<div class=\"wp-block-post-date\"><time datetime=\"2026-06-07T00:30:13.022Z\">June 7, 2026<\/time><\/div><\/div>\n\n\n<h2 style=\"line-height:1.2\" class=\"wp-block-post-title has-mdm-large-font-size\"><a href=\"https:\/\/softwareproduction.eu\/?p=21\" target=\"_self\" >Security in a Nuxt SSR App \u2014 CSRF, OAuth, CSP, and More<\/a><\/h2>\n\n<div class=\"wp-block-post-excerpt\"><p class=\"wp-block-post-excerpt__excerpt\">Fifteenth in a series about migrating from legacy architectures to a modern Nuxt 4 stack. Security&hellip;<\/p><p class=\"wp-block-post-excerpt__more-text\"><a class=\"wp-block-post-excerpt__more-link\" href=\"https:\/\/softwareproduction.eu\/?p=21\">Read More<\/a><\/p><\/div><\/div>\n<\/div>\n\n<\/li><li class=\"wp-block-post post-20 post type-post status-publish format-standard has-post-thumbnail hentry category-advanced-web-app-with-nuxt-and-net\">\n\n<div class=\"wp-block-group has-border-color has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\" style=\"border-color:#cdcdcd;border-width:1px;border-radius:10px\"><figure class=\"wp-block-post-featured-image\"><a href=\"https:\/\/softwareproduction.eu\/?p=20\" target=\"_self\"  ><img loading=\"lazy\" decoding=\"async\" width=\"1880\" height=\"1235\" src=\"https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/14-deferred-hydration-done-right.jpg\" class=\"attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"Deferred Hydration Done Right \u2014 The `requestIdleCallback` Trick and the `modulepreload` Pitfall\" style=\"border-radius:10px;object-fit:cover;\" srcset=\"https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/14-deferred-hydration-done-right.jpg 1880w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/14-deferred-hydration-done-right-300x197.jpg 300w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/14-deferred-hydration-done-right-1024x673.jpg 1024w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/14-deferred-hydration-done-right-768x505.jpg 768w, https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/06\/14-deferred-hydration-done-right-1536x1009.jpg 1536w\" sizes=\"auto, (max-width: 1880px) 100vw, 1880px\" \/><\/a><\/figure>\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-container-core-group-is-layout-5bae9e47 wp-block-group-is-layout-constrained\" style=\"margin-top:0;margin-bottom:0;padding-top:var(--wp--preset--spacing--10);padding-right:var(--wp--preset--spacing--10);padding-bottom:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--10)\">\n<div class=\"wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-3df3f144 wp-block-group-is-layout-flex\" style=\"padding-top:var(--wp--preset--spacing--10)\"><div class=\"wp-block-post-author\"><div class=\"wp-block-post-author__content\"><p class=\"wp-block-post-author__name\">Munir Husseini<\/p><\/div><\/div>\n\n<div class=\"wp-block-post-date\"><time datetime=\"2026-06-07T00:30:13.022Z\">June 7, 2026<\/time><\/div><\/div>\n\n\n<h2 style=\"line-height:1.2\" class=\"wp-block-post-title has-mdm-large-font-size\"><a href=\"https:\/\/softwareproduction.eu\/?p=20\" target=\"_self\" >Deferred Hydration Done Right \u2014 The `requestIdleCallback` Trick and the `modulepreload` Pitfall<\/a><\/h2>\n\n<div class=\"wp-block-post-excerpt\"><p class=\"wp-block-post-excerpt__excerpt\">Fourteenth in a series about migrating from legacy architectures to a modern Nuxt 4 stack. The&hellip;<\/p><p class=\"wp-block-post-excerpt__more-text\"><a class=\"wp-block-post-excerpt__more-link\" href=\"https:\/\/softwareproduction.eu\/?p=20\">Read More<\/a><\/p><\/div><\/div>\n<\/div>\n\n<\/li><\/ul>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n<nav class=\"wp-block-query-pagination is-content-justification-center is-layout-flex wp-container-core-query-pagination-is-layout-b29d4327 wp-block-query-pagination-is-layout-flex\" aria-label=\"Pagination\">\n\n\n<div class=\"wp-block-query-pagination-numbers\"><span aria-current=\"page\" class=\"page-numbers current\">1<\/span>\n<a class=\"page-numbers\" href=\"?query-37-page=2&#038;rest_route=%2Fwp%2Fv2%2Fpages%2F2\">2<\/a>\n<a class=\"page-numbers\" href=\"?query-37-page=3&#038;rest_route=%2Fwp%2Fv2%2Fpages%2F2\">3<\/a><\/div>\n\n<a href=\"\/index.php?rest_route=%2Fwp%2Fv2%2Fpages%2F2&#038;query-37-page=2\" class=\"wp-block-query-pagination-next\">Next Page<\/a>\n<\/nav>\n\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:30%\">\n<div class=\"wp-block-group sticky-sidebar has-contrast-background-color has-background is-layout-flow wp-block-group-is-layout-flow wp-container-2 is-position-sticky\" style=\"padding-top:0;padding-right:0;padding-bottom:0;padding-left:0\">\n<div class=\"wp-block-group has-contrast-background-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-radius:10px;padding-top:var(--wp--preset--spacing--10);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--10);padding-left:var(--wp--preset--spacing--20)\"><form role=\"search\" method=\"get\" action=\"https:\/\/softwareproduction.eu\/\" class=\"wp-block-search__button-inside wp-block-search__icon-button wp-block-search\"    ><label class=\"wp-block-search__label screen-reader-text\" for=\"wp-block-search__input-1\" >Search<\/label><div class=\"wp-block-search__inside-wrapper\" ><input class=\"wp-block-search__input\" id=\"wp-block-search__input-1\" placeholder=\"Search\" value=\"\" type=\"search\" name=\"s\" required \/><button aria-label=\"Search\" class=\"wp-block-search__button has-icon wp-element-button\" type=\"submit\" ><svg class=\"search-icon\" viewBox=\"0 0 24 24\" width=\"24\" height=\"24\">\n\t\t\t\t\t<path d=\"M13 5c-3.3 0-6 2.7-6 6 0 1.4.5 2.7 1.3 3.7l-3.8 3.8 1.1 1.1 3.8-3.8c1 .8 2.3 1.3 3.7 1.3 3.3 0 6-2.7 6-6S16.3 5 13 5zm0 10.5c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5-2 4.5-4.5 4.5z\"><\/path>\n\t\t\t\t<\/svg><\/button><\/div><\/form><\/div>\n\n\n\n<div class=\"wp-block-group has-contrast-background-color has-background is-layout-flow wp-block-group-is-layout-flow\" style=\"border-radius:10px;padding-top:var(--wp--preset--spacing--10);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--10);padding-left:var(--wp--preset--spacing--20)\">\n<h4 class=\"wp-block-heading\" style=\"margin-top:0;font-style:normal;font-weight:700\">Categories<\/h4>\n\n\n<ul class=\"wp-block-categories-list wp-block-categories-taxonomy-category wp-block-categories\">\t<li class=\"cat-item cat-item-5\"><a href=\"https:\/\/softwareproduction.eu\/?cat=5\">Advanced Web App with Nuxt and .NET<\/a>\n<\/li>\n\t<li class=\"cat-item cat-item-6\"><a href=\"https:\/\/softwareproduction.eu\/?cat=6\">Code Generation and Automation<\/a>\n<\/li>\n<\/ul><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/main>\n","protected":false},"excerpt":{"rendered":"<p>Categories<\/p>\n","protected":false},"author":1,"featured_media":279,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-2","page","type-page","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Automated Application Development - Software Production<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/softwareproduction.eu\/?page_id=2\" \/>\n<link rel=\"next\" href=\"https:\/\/softwareproduction.eu\/?page_id=2index.php?rest_route=%2Fwp%2Fv2%2Fpages%2F2&query-37-page=2\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Automated Application Development - Software Production\" \/>\n<meta property=\"og:description\" content=\"Categories\" \/>\n<meta property=\"og:url\" content=\"https:\/\/softwareproduction.eu\/?page_id=2\" \/>\n<meta property=\"og:site_name\" content=\"Software Production\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-07T01:40:45+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/05\/pexels-photo-17071359.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"1734\" \/>\n\t<meta property=\"og:image:height\" content=\"1300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/softwareproduction.eu\\\/?page_id=2\",\"url\":\"https:\\\/\\\/softwareproduction.eu\\\/?page_id=2\",\"name\":\"Automated Application Development - Software Production\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/softwareproduction.eu\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/softwareproduction.eu\\\/?page_id=2#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/softwareproduction.eu\\\/?page_id=2#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/softwareproduction.eu\\\/wordpress\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/pexels-photo-17071359.jpeg\",\"datePublished\":\"2026-05-28T17:44:10+00:00\",\"dateModified\":\"2026-06-07T01:40:45+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/softwareproduction.eu\\\/?page_id=2#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/softwareproduction.eu\\\/?page_id=2\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/softwareproduction.eu\\\/?page_id=2#primaryimage\",\"url\":\"https:\\\/\\\/softwareproduction.eu\\\/wordpress\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/pexels-photo-17071359.jpeg\",\"contentUrl\":\"https:\\\/\\\/softwareproduction.eu\\\/wordpress\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/pexels-photo-17071359.jpeg\",\"width\":1734,\"height\":1300,\"caption\":\"Photo by Egor Komarov on Pexels.com\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/softwareproduction.eu\\\/?page_id=2#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/softwareproduction.eu\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Automated Application Development\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/softwareproduction.eu\\\/#website\",\"url\":\"https:\\\/\\\/softwareproduction.eu\\\/\",\"name\":\"Softwareproduction\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/softwareproduction.eu\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/softwareproduction.eu\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/softwareproduction.eu\\\/#organization\",\"name\":\"Munir Husseini\",\"url\":\"https:\\\/\\\/softwareproduction.eu\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/softwareproduction.eu\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/softwareproduction.eu\\\/wordpress\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/softwareproduction-logo-32.png\",\"contentUrl\":\"https:\\\/\\\/softwareproduction.eu\\\/wordpress\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/softwareproduction-logo-32.png\",\"width\":32,\"height\":32,\"caption\":\"Munir Husseini\"},\"image\":{\"@id\":\"https:\\\/\\\/softwareproduction.eu\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Automated Application Development - Software Production","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/softwareproduction.eu\/?page_id=2","next":"https:\/\/softwareproduction.eu\/?page_id=2index.php?rest_route=%2Fwp%2Fv2%2Fpages%2F2&query-37-page=2","og_locale":"en_US","og_type":"article","og_title":"Automated Application Development - Software Production","og_description":"Categories","og_url":"https:\/\/softwareproduction.eu\/?page_id=2","og_site_name":"Software Production","article_modified_time":"2026-06-07T01:40:45+00:00","og_image":[{"width":1734,"height":1300,"url":"https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/05\/pexels-photo-17071359.jpeg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/softwareproduction.eu\/?page_id=2","url":"https:\/\/softwareproduction.eu\/?page_id=2","name":"Automated Application Development - Software Production","isPartOf":{"@id":"https:\/\/softwareproduction.eu\/#website"},"primaryImageOfPage":{"@id":"https:\/\/softwareproduction.eu\/?page_id=2#primaryimage"},"image":{"@id":"https:\/\/softwareproduction.eu\/?page_id=2#primaryimage"},"thumbnailUrl":"https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/05\/pexels-photo-17071359.jpeg","datePublished":"2026-05-28T17:44:10+00:00","dateModified":"2026-06-07T01:40:45+00:00","breadcrumb":{"@id":"https:\/\/softwareproduction.eu\/?page_id=2#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/softwareproduction.eu\/?page_id=2"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/softwareproduction.eu\/?page_id=2#primaryimage","url":"https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/05\/pexels-photo-17071359.jpeg","contentUrl":"https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/05\/pexels-photo-17071359.jpeg","width":1734,"height":1300,"caption":"Photo by Egor Komarov on Pexels.com"},{"@type":"BreadcrumbList","@id":"https:\/\/softwareproduction.eu\/?page_id=2#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/softwareproduction.eu\/"},{"@type":"ListItem","position":2,"name":"Automated Application Development"}]},{"@type":"WebSite","@id":"https:\/\/softwareproduction.eu\/#website","url":"https:\/\/softwareproduction.eu\/","name":"Softwareproduction","description":"","publisher":{"@id":"https:\/\/softwareproduction.eu\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/softwareproduction.eu\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/softwareproduction.eu\/#organization","name":"Munir Husseini","url":"https:\/\/softwareproduction.eu\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/softwareproduction.eu\/#\/schema\/logo\/image\/","url":"https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/05\/softwareproduction-logo-32.png","contentUrl":"https:\/\/softwareproduction.eu\/wordpress\/wp-content\/uploads\/2026\/05\/softwareproduction-logo-32.png","width":32,"height":32,"caption":"Munir Husseini"},"image":{"@id":"https:\/\/softwareproduction.eu\/#\/schema\/logo\/image\/"}}]}},"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/softwareproduction.eu\/index.php?rest_route=\/wp\/v2\/pages\/2","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/softwareproduction.eu\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/softwareproduction.eu\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/softwareproduction.eu\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/softwareproduction.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2"}],"version-history":[{"count":16,"href":"https:\/\/softwareproduction.eu\/index.php?rest_route=\/wp\/v2\/pages\/2\/revisions"}],"predecessor-version":[{"id":291,"href":"https:\/\/softwareproduction.eu\/index.php?rest_route=\/wp\/v2\/pages\/2\/revisions\/291"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/softwareproduction.eu\/index.php?rest_route=\/wp\/v2\/media\/279"}],"wp:attachment":[{"href":"https:\/\/softwareproduction.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}