{"id":1702,"date":"2026-08-07T01:07:33","date_gmt":"2026-08-07T01:07:33","guid":{"rendered":"https:\/\/vykhodtsev.dev\/?page_id=1702"},"modified":"2026-08-07T02:11:46","modified_gmt":"2026-08-07T02:11:46","slug":"development-updates","status":"publish","type":"page","link":"https:\/\/vykhodtsev.dev\/?page_id=1702","title":{"rendered":"Development Updates"},"content":{"rendered":"\n<div class=\"wp-block-query is-layout-flow wp-block-query-is-layout-flow\"><ul class=\"wp-block-post-template is-layout-flow wp-block-post-template-is-layout-flow\"><li class=\"wp-block-post post-1762 post type-post status-publish format-standard hentry category-uncategorized\">\n<h2 class=\"wp-block-post-title\"><a href=\"https:\/\/vykhodtsev.dev\/?p=1762\" target=\"_self\" >\ud83e\udde0 Adding Business Rules to My AI SQL Agent<\/a><\/h2>\n\n\n\n<div class=\"wp-block-post-excerpt\"><p class=\"wp-block-post-excerpt__excerpt\">Another step in the development of my AI SQL Agent: I\u2019ve added a centralized Business Rules layer that allows me to control how the AI Agent works with the database without hardcoding every instruction into the application logic.Instead of relying only on a large system prompt, I created a dedicated database table where architectural and&hellip; <\/p><\/div>\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n<div class=\"wp-block-post-date\"><time datetime=\"2026-08-13T01:48:48+00:00\">August 13, 2026<\/time><\/div>\n<\/li><li class=\"wp-block-post post-1741 post type-post status-publish format-standard has-post-thumbnail hentry category-uncategorized\">\n<h2 class=\"wp-block-post-title\"><a href=\"https:\/\/vykhodtsev.dev\/?p=1741\" target=\"_self\" >\ud83d\udcca AI SQL Agent can now generate charts directly from natural language queries<\/a><\/h2>\n\n<figure class=\"alignwide wp-block-post-featured-image\"><a href=\"https:\/\/vykhodtsev.dev\/?p=1741\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"1300\" height=\"1143\" src=\"https:\/\/vykhodtsev.dev\/wp-content\/uploads\/2026\/08\/Screenshot-2026-08-09-190715.png\" class=\"attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"\ud83d\udcca AI SQL Agent can now generate charts directly from natural language queries\" style=\"object-fit:cover;\" srcset=\"https:\/\/vykhodtsev.dev\/wp-content\/uploads\/2026\/08\/Screenshot-2026-08-09-190715.png 1300w, https:\/\/vykhodtsev.dev\/wp-content\/uploads\/2026\/08\/Screenshot-2026-08-09-190715-300x264.png 300w, https:\/\/vykhodtsev.dev\/wp-content\/uploads\/2026\/08\/Screenshot-2026-08-09-190715-1024x900.png 1024w, https:\/\/vykhodtsev.dev\/wp-content\/uploads\/2026\/08\/Screenshot-2026-08-09-190715-768x675.png 768w\" sizes=\"auto, (max-width: 1300px) 100vw, 1300px\"  title=\"\ud83d\udcca AI SQL Agent can now generate charts directly from natural language queries\" \/><\/a><\/figure>\n\n<div class=\"wp-block-post-excerpt\"><p class=\"wp-block-post-excerpt__excerpt\">Aug 9 2026Another exciting milestone for my AI SQL Agent!The latest version goes beyond generating SQL and displaying tables\u2014it can now automatically create visualizations based on query results.Users can simply ask questions like:Show total sales by monthDisplay revenue by product groupCompare product sales in JulyCreate a pie chart of sales by categoryThe AI Agent will:\u2705&hellip; <\/p><\/div>\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n<div class=\"wp-block-post-date\"><time datetime=\"2026-08-10T12:25:32+00:00\">August 10, 2026<\/time><\/div>\n<\/li><li class=\"wp-block-post post-1736 post type-post status-publish format-standard has-post-thumbnail hentry category-uncategorized\">\n<h2 class=\"wp-block-post-title\"><a href=\"https:\/\/vykhodtsev.dev\/?p=1736\" target=\"_self\" >\ud83d\ude80 AI SQL Agent is now running in Microsoft Azure<\/a><\/h2>\n\n<figure class=\"alignwide wp-block-post-featured-image\"><a href=\"https:\/\/vykhodtsev.dev\/?p=1736\" target=\"_self\" ><img loading=\"lazy\" decoding=\"async\" width=\"1546\" height=\"1233\" src=\"https:\/\/vykhodtsev.dev\/wp-content\/uploads\/2026\/08\/Screenshot-2026-08-08-231038.png\" class=\"attachment-post-thumbnail size-post-thumbnail wp-post-image\" alt=\"\ud83d\ude80 AI SQL Agent is now running in Microsoft Azure\" style=\"object-fit:cover;\" srcset=\"https:\/\/vykhodtsev.dev\/wp-content\/uploads\/2026\/08\/Screenshot-2026-08-08-231038.png 1546w, https:\/\/vykhodtsev.dev\/wp-content\/uploads\/2026\/08\/Screenshot-2026-08-08-231038-300x239.png 300w, https:\/\/vykhodtsev.dev\/wp-content\/uploads\/2026\/08\/Screenshot-2026-08-08-231038-1024x817.png 1024w, https:\/\/vykhodtsev.dev\/wp-content\/uploads\/2026\/08\/Screenshot-2026-08-08-231038-768x613.png 768w, https:\/\/vykhodtsev.dev\/wp-content\/uploads\/2026\/08\/Screenshot-2026-08-08-231038-1536x1225.png 1536w\" sizes=\"auto, (max-width: 1546px) 100vw, 1546px\"  title=\"\ud83d\ude80 AI SQL Agent is now running in Microsoft Azure\" \/><\/a><\/figure>\n\n<div class=\"wp-block-post-excerpt\"><p class=\"wp-block-post-excerpt__excerpt\">Aug 8 2026Over the past few weeks, I&#8217;ve been moving my AI SQL Agent from my local laptop to a cloud-based architecture built on Microsoft Azure.The project has reached another important milestone:\u2705 Deployed the application to Azure App Service\u2705 Built a public WordPress website as the front-end\u2705 Integrated the AI SQL Agent directly into the&hellip; <\/p><\/div>\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n<div class=\"wp-block-post-date\"><time datetime=\"2026-08-09T04:18:25+00:00\">August 9, 2026<\/time><\/div>\n<\/li><\/ul><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"_zipai_imported":false,"footnotes":""},"class_list":["post-1702","page","type-page","status-publish","hentry"],"spectra_blocks_featured_image_url":null,"spectra_blocks_author_info":{"display_name":"Aleksei","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/198b25ea575ebb3cbd0934cb05fd942d0f256a65d3ff388a161c857e00b092bf?s=96&d=mm&r=g","author_link":"https:\/\/vykhodtsev.dev\/?author=1","description":""},"_links":{"self":[{"href":"https:\/\/vykhodtsev.dev\/index.php?rest_route=\/wp\/v2\/pages\/1702","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vykhodtsev.dev\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/vykhodtsev.dev\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/vykhodtsev.dev\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vykhodtsev.dev\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1702"}],"version-history":[{"count":6,"href":"https:\/\/vykhodtsev.dev\/index.php?rest_route=\/wp\/v2\/pages\/1702\/revisions"}],"predecessor-version":[{"id":1728,"href":"https:\/\/vykhodtsev.dev\/index.php?rest_route=\/wp\/v2\/pages\/1702\/revisions\/1728"}],"wp:attachment":[{"href":"https:\/\/vykhodtsev.dev\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1702"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}