<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[Dvloper Blog]]></title><description><![CDATA[Thoughts, stories and ideas.]]></description><link>https://blog.dvloper.io/</link><image><url>https://blog.dvloper.io/favicon.png</url><title>Dvloper Blog</title><link>https://blog.dvloper.io/</link></image><generator>Ghost 5.71</generator><lastBuildDate>Tue, 22 Sep 2026 21:59:39 GMT</lastBuildDate><atom:link href="https://blog.dvloper.io/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[De ce AI îi face pe developeri mult mai importanți]]></title><description><![CDATA[<p><em>Un material de opinie de Mihai Chihaia, Chief Revenue Officer al dvloper.io<br></em></p><p><strong>Inteligen&#x21B;a artificial&#x103; schimb&#x103; rapid modul &#xEE;n care este construit software-ul. Acum, modelele generative pot scrie cod, pot genera teste, pot documenta aplica&#x21B;ii &#x219;i pot automatiza o parte tot mai</strong></p>]]></description><link>https://blog.dvloper.io/de-ce-ai-ii-face-pe-developeri-mult-mai-importanti-2/</link><guid isPermaLink="false">6aabc68735afda0001bdd342</guid><dc:creator><![CDATA[Dvloper Blog]]></dc:creator><pubDate>Thu, 17 Sep 2026 10:53:24 GMT</pubDate><media:content url="https://blog.dvloper.io/content/images/2026/09/ChatGPT-Image-17-sept.-2026-13_38_07-100kb-3.jpeg" medium="image"/><content:encoded><![CDATA[<img src="https://blog.dvloper.io/content/images/2026/09/ChatGPT-Image-17-sept.-2026-13_38_07-100kb-3.jpeg" alt="De ce AI &#xEE;i face pe developeri mult mai importan&#x21B;i"><p><em>Un material de opinie de Mihai Chihaia, Chief Revenue Officer al dvloper.io<br></em></p><p><strong>Inteligen&#x21B;a artificial&#x103; schimb&#x103; rapid modul &#xEE;n care este construit software-ul. Acum, modelele generative pot scrie cod, pot genera teste, pot documenta aplica&#x21B;ii &#x219;i pot automatiza o parte tot mai mare din activit&#x103;&#x21B;ile care, p&#xE2;n&#x103; nu demult, necesitau interven&#x21B;ia direct&#x103; a unui dezvoltator. Dar dac&#x103; AI poate genera cod tot mai bine &#x219;i tot mai repede, care mai este rolul celui care scrie cod?</strong></p><p><strong>Ei bine, &#xEE;n aceste &#xEE;mprejur&#x103;ri cu totul excep&#x21B;ionale prin natura &#x219;i importan&#x21B;a lor, expertiza tehnic&#x103; nu numai c&#x103; nu &#xEE;&#x219;i pierde din importan&#x21B;&#x103;, ci chiar dimpotriv&#x103;. Pe m&#x103;sur&#x103; ce volumul de cod pe care &#xEE;l putem genera cre&#x219;te, devine mai important s&#x103; existe oameni capabili s&#x103; &#xEE;n&#x21B;eleag&#x103; ce trebuie construit, de ce trebuie construit &#xEE;ntr-un anumit fel &#x219;i dac&#x103; ceea ce a produs AI-ul este, &#xEE;ntr-adev&#x103;r, corect.</strong></p><p>&#x201E;Problema nu este c&#x103; AI-ul poate scrie cod. Problema este c&#x103; acum putem genera foarte mult cod, foarte repede. Dac&#x103; acest proces nu este controlat de oameni care &#xEE;n&#x21B;eleg arhitectura, securitatea, performan&#x21B;a &#x219;i implica&#x21B;iile pe termen lung ale deciziilor tehnice, putem acumula technical debt &#xEE;ntr-un ritm mult mai mare dec&#xE2;t &#xEE;nainte.&#x201D;</p><p>Aceasta este una dintre marile schimb&#x103;ri aduse de AI &#xEE;n dezvoltarea software. <strong><em>Instrumentele devin mai rapide, dar viteza nu este neap&#x103;rat &#x219;i nu &#xEE;ntotdeauna sinonim&#x103; cu valoarea</em></strong>. Un sistem poate fi construit mai repede &#x219;i, &#xEE;n acela&#x219;i timp, poate fi mai greu de &#xEE;ntre&#x21B;inut, mai vulnerabil sau mai costisitor pe termen lung. De aceea, competen&#x21B;ele care vor conta tot mai mult sunt cele care permit dezvoltatorului s&#x103; vad&#x103; problema de la un cap&#x103;t la altul. &#xCE;n&#x21B;elegerea cerin&#x21B;elor de business, capacitatea de a pune sub semnul &#xEE;ntreb&#x103;rii o cerin&#x21B;&#x103; atunci c&#xE2;nd este necesar, alegerea arhitecturii, evaluarea riscurilor de securitate &#x219;i performan&#x21B;&#x103; &#x219;i validarea rezultatelor generate de AI devin cel pu&#x21B;in la fel de importante ca scrierea efectiv&#x103; a codului.</p><p>Astfel, pe m&#x103;sur&#x103; ce codul devine mai u&#x219;or de generat, valoarea developerului se mut&#x103; de la capacitatea de a scrie cod la capacitatea de a decide ce cod merit&#x103; scris, cum trebuie construit &#x219;i dac&#x103; rezultatul este cel corect. Aceast&#x103; transformare nu se limiteaz&#x103; &#xEE;ns&#x103; la departamentele tehnice.&#xA0;</p><p><strong><em>&#xCE;n organiza&#x21B;ii, tenta&#x21B;ia de a privi AI-ul drept un substitut direct pentru oameni este tot mai mare</em></strong>.&#xA0;</p><p>Unele companii au &#xEE;ncercat s&#x103; reduc&#x103; rapid num&#x103;rul de angaja&#x21B;i, presupun&#xE2;nd c&#x103; agen&#x21B;ii AI vor putea prelua activit&#x103;&#x21B;ile acestora. &#xCE;n practic&#x103;, &#xEE;ns&#x103;, limitele acestei abord&#x103;ri devin evidente. AI-ul este un instrument foarte puternic, dar valoarea lui depinde de modul &#xEE;n care este integrat &#xEE;n organiza&#x21B;ie. AI-ul are nevoie de context. Pentru a putea func&#x21B;iona eficient &#xEE;ntr-o companie, trebuie s&#x103; &#xEE;n&#x21B;eleag&#x103; procesele, datele, rela&#x21B;iile dintre acestea, regulile de business &#x219;i limitele &#xEE;n care poate lua sau recomanda decizii.&#xA0;</p><p>&#x201E;De aceea, cred c&#x103; adev&#x103;rata transformare nu este &#xAB;om versus AI&#xBB;, ci redesenarea modului &#xEE;n care se desf&#x103;&#x219;oar&#x103; munca. Unele activit&#x103;&#x21B;i vor fi automatizate, altele vor fi augmentate de AI, iar rolurile oamenilor vor evolua c&#x103;tre zone &#xEE;n care judecata, contextul, responsabilitatea &#x219;i creativitatea r&#x103;m&#xE2;n esen&#x21B;iale. Nu cred c&#x103; principala &#xEE;ntrebare ar trebui s&#x103; fie c&#xE2;&#x21B;i oameni poate &#xEE;nlocui AI-ul, ci ce putem construi diferit dac&#x103; oamenii &#x219;i sistemele AI lucreaz&#x103; &#xEE;mpreun&#x103;.&#x201D;</p><p>&#xCE;n acest nou context, se schimb&#x103; &#x219;i pia&#x21B;a serviciilor de dezvoltare software. Modelul tradi&#x21B;ional, bazat &#xEE;n mare parte pe num&#x103;rul de oameni &#x219;i de zile necesare pentru realizarea unui proiect, este pus sub presiune de productivitatea oferit&#x103; de AI. Vedem deja &#x219;i vom vedea tot mai des tot mai multe echipe hibride, &#xEE;n care oamenii lucreaz&#x103; &#xEE;mpreun&#x103; cu agen&#x21B;i AI pe &#xEE;ntregul ciclu de dezvoltare, de la programare &#x219;i testare p&#xE2;n&#x103; la documenta&#x21B;ie &#x219;i code review. Un Technical Lead cu competen&#x21B;e solide &#xEE;n AI poate coordona nu doar o echip&#x103; de dezvoltatori, ci &#x219;i mai mul&#x21B;i agen&#x21B;i specializa&#x21B;i.</p><p>&#xCE;n aceste condi&#x21B;ii, num&#x103;rul de man-days nu mai reflect&#x103; &#xEE;n mod necesar capacitatea real&#x103; de produc&#x21B;ie. Dac&#x103; o activitate care necesita anterior mai multe zile sau mai mul&#x21B;i oameni poate fi realizat&#x103; &#xEE;ntr-un timp mult mai scurt cu ajutorul AI, valoarea serviciului nu mai poate fi definit&#x103; exclusiv prin timpul consumat.</p><p>Este de a&#x219;teptat, astfel, o tranzi&#x21B;ie de la modele bazate pe capacitate c&#x103;tre servicii evaluate &#xEE;n func&#x21B;ie de rezultat &#x219;i valoare. Clien&#x21B;ii vor fi mai pu&#x21B;in interesa&#x21B;i de dimensiunea echipei &#x219;i mai interesa&#x21B;i de ceea ce poate livra furnizorul, &#xEE;n c&#xE2;t timp, la ce nivel de calitate &#x219;i cu ce responsabilitate asupra rezultatului.</p><p>Acela&#x219;i principiu este valabil &#x219;i la nivel de management. &#xCE;n pia&#x21B;&#x103; apar deja solu&#x21B;ii prezentate drept &#x201E;AI CTO&#x201D;, &#x201E;AI CFO&#x201D; sau chiar &#x201E;AI CEO&#x201D;. AI poate analiza cantit&#x103;&#x21B;i foarte mari de informa&#x21B;ii, poate identifica rapid corela&#x21B;ii, poate construi scenarii &#x219;i poate sintetiza date &#xEE;ntr-un timp foarte scurt. Pentru un executiv, aceste capacit&#x103;&#x21B;i pot schimba radical modul &#xEE;n care este luat&#x103; o decizie.</p><p><strong><em>Dar leadershipul nu &#xEE;nseamn&#x103; doar procesarea informa&#x21B;iei</em></strong>. &#xCE;nseamn&#x103; asumarea responsabilit&#x103;&#x21B;ii, &#xEE;n&#x21B;elegerea contextului, gestionarea oamenilor, negocierea unor interese contradictorii &#x219;i luarea unor decizii atunci c&#xE2;nd datele sunt incomplete. AI poate sus&#x21B;ine aceste procese, &#xEE;ns&#x103; responsabilitatea pentru decizie nu dispare.&#xA0;</p><p>Aceast&#x103; nevoie de transformare st&#x103; &#x219;i la baza AI Factory, framework dezvoltat de dvloper.io prin care urm&#x103;re&#x219;te s&#x103; standardizeze componentele &#x219;i procesele care se repet&#x103; &#xEE;n proiectele de implementare AI, de la accesul la date &#x219;i modele &#x219;i integrarea cu sistemele existente p&#xE2;n&#x103; la orchestrarea agen&#x21B;ilor, identity &amp; access management, securitate, observabilitate &#x219;i evaluarea rezultatelor. Obiectivul este ca organiza&#x21B;iile s&#x103; poat&#x103; trece de la experimente &#x219;i proof-of-concept-uri la solu&#x21B;ii AI care pot func&#x21B;iona efectiv &#xEE;n produc&#x21B;ie, f&#x103;r&#x103; ca fiecare proiect s&#x103; fie construit de la zero.</p>]]></content:encoded></item><item><title><![CDATA[How We Built a Modern, Dynamic SharePoint Website]]></title><description><![CDATA[<p>SharePoint is often seen as a place to store documents, publish announcements, and share information.</p><p>For this project, we wanted to take it further. The goal was to create a central platform for internal ISO compliance information and the processes that sit around it. Employees needed a clear place to</p>]]></description><link>https://blog.dvloper.io/how-we-built-a-modern-dynamic-sharepoint-website/</link><guid isPermaLink="false">6a670e54e242d4000139a34e</guid><dc:creator><![CDATA[Dvloper Blog]]></dc:creator><pubDate>Mon, 10 Aug 2026 14:08:59 GMT</pubDate><media:content url="https://blog.dvloper.io/content/images/2026/07/ChatGPT-Image-Jul-27--2026--11_27_45-AM.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://blog.dvloper.io/content/images/2026/07/ChatGPT-Image-Jul-27--2026--11_27_45-AM.jpg" alt="How We Built a Modern, Dynamic SharePoint Website"><p>SharePoint is often seen as a place to store documents, publish announcements, and share information.</p><p>For this project, we wanted to take it further. The goal was to create a central platform for internal ISO compliance information and the processes that sit around it. Employees needed a clear place to find published policies, acknowledge the ones assigned to them, access training material, and follow their own deadlines. Administrators and process owners needed dedicated areas for managing policies, controls, evidence, risks, training, and reporting. Rather than treating those activities as separate tools, we brought them together within Microsoft 365. The result was a SharePoint website designed to make structured compliance work feel more connected, easier to follow, and easier to maintain over time.</p><figure class="kg-card kg-image-card"><img src="https://blog.dvloper.io/content/images/2026/07/ChatGPT-Image-Jul-27--2026--11_33_17-AM.png" class="kg-image" alt="How We Built a Modern, Dynamic SharePoint Website" loading="lazy" width="1774" height="887" srcset="https://blog.dvloper.io/content/images/size/w600/2026/07/ChatGPT-Image-Jul-27--2026--11_33_17-AM.png 600w, https://blog.dvloper.io/content/images/size/w1000/2026/07/ChatGPT-Image-Jul-27--2026--11_33_17-AM.png 1000w, https://blog.dvloper.io/content/images/size/w1600/2026/07/ChatGPT-Image-Jul-27--2026--11_33_17-AM.png 1600w, https://blog.dvloper.io/content/images/2026/07/ChatGPT-Image-Jul-27--2026--11_33_17-AM.png 1774w" sizes="(min-width: 720px) 720px"></figure><h2 id="sharepoint-as-the-foundation"><strong>SharePoint as the Foundation</strong></h2><figure class="kg-card kg-image-card"><img src="https://blog.dvloper.io/content/images/2026/07/image-4.png" class="kg-image" alt="How We Built a Modern, Dynamic SharePoint Website" loading="lazy" width="1891" height="1203" srcset="https://blog.dvloper.io/content/images/size/w600/2026/07/image-4.png 600w, https://blog.dvloper.io/content/images/size/w1000/2026/07/image-4.png 1000w, https://blog.dvloper.io/content/images/size/w1600/2026/07/image-4.png 1600w, https://blog.dvloper.io/content/images/2026/07/image-4.png 1891w" sizes="(min-width: 720px) 720px"></figure><p>Modern SharePoint pages provided the foundation, but the core of the experience came from custom SharePoint Framework web parts built with React. This allowed us to create focused interfaces around the work people actually needed to do, instead of sending them directly into raw Lists.</p><p>The portal includes dedicated experiences for policy management, controls, evidence, risks, training, dashboards, tools, and the homepage. A policy owner can create or update a policy, submit it for review, and follow it through approval and publishing. A reviewer can open a control or evidence item, add review notes, and update its status. A user can see assigned policies and training, confirm acknowledgment, and update training progress.</p><p>Behind these pages, SharePoint Lists provide the structured data layer. They store the records and relationships that make the portal work: policies, controls, risks, evidence metadata, training courses, assignments, events, categories, frameworks, and other reusable reference data. This keeps information consistent across the different web parts. A risk can be connected to relevant controls, evidence can be connected to a control and related policies, and training can be assigned to people or groups.</p><p>Document libraries complete the picture. Evidence files and training materials are stored in SharePoint, while the portal provides the task-focused interface around them. Native SharePoint version history also supports the policy lifecycle, allowing new versions to be created while retaining the history of the previous record.</p><p>This combination gave us the flexibility of SharePoint as a Microsoft 365 platform, while still allowing the website to feel tailored to the process rather than to the underlying data structure.</p><h2 id="creating-clear-handoffs-for-power-automate"><strong>Creating Clear Handoffs for Power Automate</strong></h2><figure class="kg-card kg-image-card"><img src="https://blog.dvloper.io/content/images/2026/07/image-6.png" class="kg-image" alt="How We Built a Modern, Dynamic SharePoint Website" loading="lazy" width="1517" height="1088" srcset="https://blog.dvloper.io/content/images/size/w600/2026/07/image-6.png 600w, https://blog.dvloper.io/content/images/size/w1000/2026/07/image-6.png 1000w, https://blog.dvloper.io/content/images/2026/07/image-6.png 1517w" sizes="(min-width: 720px) 720px"></figure><p>Not every part of a process needs to happen in a flow. We kept immediate actions inside the web parts wherever possible: creating records, changing statuses, acknowledging policies, uploading evidence, assigning training, and updating progress.&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;&#xA0;</p><p>For work that can take longer or needs to continue in the background, the portal creates a dedicated SharePoint request record or updates a flag that an automation can process. This creates a clear handoff between the website and Power Automate.</p><p>One example is the audit evidence package request. A user can create the request from the evidence area, choose the relevant audit period and framework, and then see the request status in the portal. Power Automate can process that request in the background, assemble the required information, update the same request record, and add a package location when the result is ready. The website can then expose the completed package from the request history.</p><p>The same pattern is used for policy upload requests. The web part extracts the information from an uploaded policy document and creates a structured request record for the next stage of processing. This keeps the browser experience responsive while preserving a visible history of what was requested and when.</p><p>The repository also contains workflow specifications for policy approvals, reminders, reviews, training notifications, risk follow-up, and audit activities. These flows are tenant-side components and are managed separately from the SPFx package. Keeping the boundary explicit made the solution easier to reason about: the web parts manage the user interaction and the List records, while Power Automate can manage the asynchronous work around them.</p><h2 id="bringing-reporting-into-the-portal"><strong>Bringing Reporting Into the Portal</strong></h2><figure class="kg-card kg-image-card"><img src="https://blog.dvloper.io/content/images/2026/07/Screenshot-2026-07-27-110142.png" class="kg-image" alt="How We Built a Modern, Dynamic SharePoint Website" loading="lazy" width="1711" height="1052" srcset="https://blog.dvloper.io/content/images/size/w600/2026/07/Screenshot-2026-07-27-110142.png 600w, https://blog.dvloper.io/content/images/size/w1000/2026/07/Screenshot-2026-07-27-110142.png 1000w, https://blog.dvloper.io/content/images/size/w1600/2026/07/Screenshot-2026-07-27-110142.png 1600w, https://blog.dvloper.io/content/images/2026/07/Screenshot-2026-07-27-110142.png 1711w" sizes="(min-width: 720px) 720px"></figure><p><br>The portal needed to show more than individual records. It also needed to make the overall state of the compliance programme easier to understand.</p><p>The homepage brings operational information together from SharePoint Lists. Depending on the user&apos;s role, this can include policy status, framework coverage, evidence activity, training completion, open risks, recent activity, and upcoming events or deadlines. Employees can focus on their own assigned policies and training, while administrative users can access broader indicators and navigation into the relevant areas.</p><p>For more advanced reporting, we embedded Power BI reports inside SharePoint. The dashboard web part supports configurable report URLs for the executive overview, audit status, policies, training, risks, evidence, and controls. That keeps reporting close to the processes and information it represents, without forcing users to move between a separate reporting portal and the operational website.</p><p>Power BI has a specific role in this solution: reporting and monitoring. It provides visibility into trends, status, and coverage. The website does not use it as a decision engine. Decisions such as approving a policy, reviewing evidence, or changing a risk status remain part of the defined process and the responsible user&apos;s work.</p><h2 id="authentication-and-role-based-access-control-rbac">Authentication and Role-Based Access Control (RBAC)</h2><p>Security was a core design principle of the solution. Instead of implementing a custom authentication system, the website leverages Microsoft Entra ID for identity management and SharePoint&apos;s native permission model for authorization.</p><figure class="kg-card kg-image-card"><img src="https://blog.dvloper.io/content/images/2026/08/ChatGPT-Image-Aug-10--2026--04_53_35-PM.jpeg" class="kg-image" alt="How We Built a Modern, Dynamic SharePoint Website" loading="lazy" width="1515" height="1018" srcset="https://blog.dvloper.io/content/images/size/w600/2026/08/ChatGPT-Image-Aug-10--2026--04_53_35-PM.jpeg 600w, https://blog.dvloper.io/content/images/size/w1000/2026/08/ChatGPT-Image-Aug-10--2026--04_53_35-PM.jpeg 1000w, https://blog.dvloper.io/content/images/2026/08/ChatGPT-Image-Aug-10--2026--04_53_35-PM.jpeg 1515w" sizes="(min-width: 720px) 720px"></figure><h3 id="authentication">Authentication</h3><p>Users authenticate using their organizational Microsoft Entra ID accounts through Microsoft 365&apos;s Single Sign-On (SSO). This provides:</p><ul><li>Secure enterprise authentication</li><li>Seamless access without additional logins</li><li>Centralized identity management</li><li>Multi-Factor Authentication (MFA) support (if enabled by the organization)</li></ul><p>Because authentication is handled by Microsoft 365, the React-based SPFx components automatically execute within the authenticated SharePoint context.</p><h3 id="authorization-rbac">Authorization (RBAC)</h3><p>Role-Based Access Control (RBAC) is implemented using a combination of Microsoft Entra ID groups, Microsoft 365 groups, and SharePoint site permissions.</p><p><strong>The access model consists of:</strong></p><ul><li>Microsoft Entra ID Security Groups for managing organizational user memberships.</li><li>SharePoint Modern Site Permissions (Owners, Members, and Visitors) to define site-level access.</li><li>SharePoint Groups to simplify permission management for pages, lists, and document libraries.</li><li>Modern Page Audience Targeting and page permissions to ensure users only see content relevant to their roles.</li></ul><p>Rather than assigning permissions to individual users, access is granted to groups, making administration scalable and reducing maintenance overhead.</p><h2 id="development-and-deployment">Development and Deployment</h2><p>The portal was developed using the SharePoint Framework (SPFx) with ReactJS, enabling reusable, component-based development while integrating seamlessly with SharePoint Online.</p><figure class="kg-card kg-image-card"><img src="https://blog.dvloper.io/content/images/2026/08/ChatGPT-Image-Aug-10--2026--05_00_34-PM.jpeg" class="kg-image" alt="How We Built a Modern, Dynamic SharePoint Website" loading="lazy" width="1521" height="1016" srcset="https://blog.dvloper.io/content/images/size/w600/2026/08/ChatGPT-Image-Aug-10--2026--05_00_34-PM.jpeg 600w, https://blog.dvloper.io/content/images/size/w1000/2026/08/ChatGPT-Image-Aug-10--2026--05_00_34-PM.jpeg 1000w, https://blog.dvloper.io/content/images/2026/08/ChatGPT-Image-Aug-10--2026--05_00_34-PM.jpeg 1521w" sizes="(min-width: 720px) 720px"></figure><h3 id="development">Development</h3><p>The application was built as a collection of independent React components and SPFx web parts, where each major page or feature was developed as a separate component. This modular approach improved maintainability, simplified testing, and allowed features to evolve independently.</p><p>Although the functionality was split across multiple web parts, they were packaged together as a single SPFx solution, making deployment and version management much simpler.</p><p><strong>The development workflow included:</strong></p><ul><li>ReactJS for building responsive UI components</li><li>SharePoint Framework (SPFx) for SharePoint integration</li><li>TypeScript for type-safe development</li><li>SharePoint REST APIs and Microsoft Graph for data access</li><li>Reusable components shared across multiple pages</li><li>Local Development and Testing</li></ul><p>During development, SharePoint&apos;s standard SPFx development workflow was used for local testing.</p><p>The application was tested using the local SharePoint Workbench and hosted Workbench, allowing individual web parts to be validated before deployment to SharePoint Online.</p><h3 id="deployment">Deployment</h3><p>After development was complete, the project was bundled and packaged into a single SPFx solution package (.sppkg).</p><p>Deployment was performed through the SharePoint App Catalog using the Manage Apps interface.</p><p><strong>The deployment process consisted of:</strong></p><ul><li>Bundle the solution using the SPFx build tools.</li><li>Generate the .sppkg deployment package.</li><li>Upload the package to the SharePoint App Catalog.</li><li>Deploy the solution across the tenant.</li><li>Add the required web parts to modern SharePoint pages.</li></ul><p>Packaging all web parts into a single solution simplified application updates, versioning, and deployment across environments.</p><h3 id="power-bi-development">Power BI Development</h3><p>Reporting and analytics were developed directly within the Power BI Service using its web interface.</p><p>Interactive dashboards were connected to SharePoint data sources and published for secure access within the SharePoint portal. Reports were then embedded into modern pages, allowing users to view analytics without leaving the application.</p><h3 id="power-automate-development">Power Automate Development</h3><p>Business workflows were implemented using the Power Automate web portal.</p><p><strong>Flows were designed to automate processes such as:</strong></p><ul><li>Approval workflows</li><li>Notifications</li><li>List item updates</li><li>Document processing</li><li>Integration between Microsoft 365 services</li></ul><p>These cloud flows were connected to SharePoint lists and document libraries, enabling business processes to run automatically without requiring custom backend services.</p><h2 id="conclusion">Conclusion</h2><p>This project demonstrates that SharePoint can be much more than a document repository. By combining SharePoint Online, React-based SPFx web parts, Microsoft Entra ID, Power Automate, and Power BI, we built a unified platform that supports the day-to-day activities of an ISO compliance program while remaining entirely within the Microsoft 365 ecosystem.</p><p>Rather than relying on multiple disconnected applications, the solution brings together content management, business processes, reporting, authentication, and automation into a single experience. SharePoint Lists provide the structured data layer, document libraries manage files, SPFx delivers task-focused user interfaces, Power Automate handles long-running workflows, and Power BI provides operational visibility through interactive dashboards.</p><p>An important design decision was to keep responsibilities clearly separated. The web application focuses on user interaction and data management, Power Automate executes asynchronous business processes, Power BI delivers reporting and analytics, and Microsoft Entra ID, together with SharePoint permissions, enforces security and role-based access control. This separation makes the solution easier to maintain, extend, and evolve over time.</p><p>The result is a scalable, modular, and maintainable architecture that demonstrates how the Microsoft 365 platform can be used to build modern line-of-business applications&#x2014;not by replacing SharePoint, but by extending it with the capabilities of the wider Microsoft ecosystem.</p>]]></content:encoded></item><item><title><![CDATA[Heading to VMware Explore 2026: Conversations About the Future of Private Cloud]]></title><description><![CDATA[<p>At the end of August, our team, together with our strategic joint venture partner AxelCore, will be in Las Vegas for VMware Explore 2026, where we&apos;ll be meeting with customers, partners, and members of the VMware community to discuss the future of enterprise private cloud.</p><p>Every year, VMware</p>]]></description><link>https://blog.dvloper.io/heading-to-vmware-explore-2026-conversations-about-the-future-of-private-cloud/</link><guid isPermaLink="false">6a6b191d12ccf100019a54bd</guid><dc:creator><![CDATA[Dvloper Blog]]></dc:creator><pubDate>Thu, 30 Jul 2026 09:38:56 GMT</pubDate><media:content url="https://blog.dvloper.io/content/images/2026/07/ChatGPTImageJul30202612_36_50P.jpeg" medium="image"/><content:encoded><![CDATA[<img src="https://blog.dvloper.io/content/images/2026/07/ChatGPTImageJul30202612_36_50P.jpeg" alt="Heading to VMware Explore 2026: Conversations About the Future of Private Cloud"><p>At the end of August, our team, together with our strategic joint venture partner AxelCore, will be in Las Vegas for VMware Explore 2026, where we&apos;ll be meeting with customers, partners, and members of the VMware community to discuss the future of enterprise private cloud.</p><p>Every year, VMware Explore brings together customers, partners, architects, consultants, platform engineers, and technology leaders from across the VMware ecosystem. But beyond the product announcements and technical sessions, its greatest value has always been the conversations.</p><p>This year, we expect many of those conversations to revolve around a common theme: the renewed strategic importance of private cloud.&#xA0;</p><p><strong>The Conversation Has Changed</strong></p><p>For years, enterprise infrastructure discussions revolved around one destination: the public cloud.</p><p>Today, the conversation is different.</p><p>Organizations are increasingly prioritizing control, resilience, predictable costs, AI readiness, and operational consistency. Rather than asking whether to move to the cloud, they&#x2019;re asking what kind of cloud architecture will best support the business they want to build over the next decade.</p><p>For many enterprises, Vmware Cloud Foundation has become a key part of that conversation.</p><p><strong>Why VMware Cloud Foundation Matters</strong></p><p>Modern infrastructure is no longer just about virtual machines.</p><p>It must provide a consistent platform for enterprise applications, Kubernetes workloads, AI initiatives, networking, storage, automation, and security, all operating as a single, integrated environment.</p><p>VMware Cloud Foundation helps organizations move beyond managing individual infrastructure components toward operating a unified private cloud platform. The result is greater operational consistency, simplified lifecycle management, and an architecture designed to evolve alongside changing business needs.<strong>&#xA0;</strong></p><p><strong>What Enterprise Leaders Are Prioritizing</strong></p><p>Across the organizations we work with, several strategic priorities continue to shape infrastructure decisions:</p><p>&#x2022;&#xA0;Accelerating VMware Cloud Foundation adoption.</p><p>&#x2022;&#xA0;Simplifying infrastructure operations through unified management.</p><p>&#x2022;&#xA0;Modernizing data centers without increasing operational complexity.</p><p>&#x2022;&#xA0;Expanding Kubernetes and platform engineering capabilities.</p><p>&#x2022;&#xA0;Building secure, resilient, AI-ready infrastructure.</p><p>&#x2022;&#xA0;Delivering consistent operations across on-premises, edge, and cloud environments.</p><p>These aren&apos;t isolated technology initiatives.</p><p>They&apos;re strategic business decisions that determine how quickly organizations can innovate, adapt, and scale in the years ahead.</p><p><strong>Technology Alone Isn&apos;t Enough</strong></p><p>Choosing the right platform is only the beginning.</p><p>Successful VMware Cloud Foundation adoption depends on sound architecture, careful planning, implementation expertise, and practical operational experience. The organizations seeing the greatest success are those that combine the right technology with experienced engineering teams capable of delivering complex enterprise transformations.</p><p>That&apos;s why Professional Services continue to play a critical role in helping organizations turn strategy into successful implementation.</p><p><strong>A Community That Continues to Move the Industry Forward</strong></p><p>One of VMware&apos;s greatest strengths has always been its community.</p><p>From VMUG events to VMware Explore, architects, consultants, platform engineers, customers, and partners openly share ideas, lessons learned, implementation experiences, and best practices. That collaborative culture has helped shape the VMware ecosystem for years and continues to accelerate innovation across the enterprise infrastructure landscape.</p><p>It&apos;s one of the reasons we look forward to VMware Explore every year.</p><p><strong>Meet the dvloper and AxelCore Teams in Las Vegas</strong></p><p>Together with AxelCore, dvloper delivers VMware Professional Services to Broadcom customers across North America. As a Broadcom Expert Advantage Partner, we help enterprise organizations accelerate VMware Cloud Foundation adoption through consulting, implementation, and modernization services.</p><p>If you&apos;ll be attending VMware Explore 2026, we&apos;d love to connect.</p><p>Whether you&apos;re planning your next VMware Cloud Foundation initiative, evaluating your private cloud strategy, or simply interested in exchanging perspectives on where enterprise infrastructure is heading next, we&apos;d welcome the opportunity to continue the conversation.</p><p>See you in Las Vegas.</p>]]></content:encoded></item><item><title><![CDATA[Building Tomorrow's Developers: A Journey of Collaboration and Real-World Experience]]></title><description><![CDATA[<p>In today&apos;s fast-paced tech landscape, traditional education often falls short of preparing developers for the realities they&apos;ll face in production environments. Our Core Competencies Academy bridges this gap&#x2014;not by lecturing from a textbook, but by immersing learners in authentic, end-to-end application development with experienced</p>]]></description><link>https://blog.dvloper.io/building-tomorrows-developers-a-journey-of-collaboration-and-real-world-experience/</link><guid isPermaLink="false">6a425734bfccaa0001303e23</guid><dc:creator><![CDATA[Dvloper Blog]]></dc:creator><pubDate>Mon, 29 Jun 2026 11:30:20 GMT</pubDate><media:content url="https://blog.dvloper.io/content/images/2026/06/ChatGPT_Image_Jun_29_2026_02_29_48_PM_1_optimized_1000.png" medium="image"/><content:encoded><![CDATA[<img src="https://blog.dvloper.io/content/images/2026/06/ChatGPT_Image_Jun_29_2026_02_29_48_PM_1_optimized_1000.png" alt="Building Tomorrow&apos;s Developers: A Journey of Collaboration and Real-World Experience"><p>In today&apos;s fast-paced tech landscape, traditional education often falls short of preparing developers for the realities they&apos;ll face in production environments. Our Core Competencies Academy bridges this gap&#x2014;not by lecturing from a textbook, but by immersing learners in authentic, end-to-end application development with experienced mentors guiding every step.</p><h2 id="from-linux-basics-to-kubernetes-a-practical-progression">From Linux Basics to Kubernetes: A Practical Progression</h2><p>The academy&apos;s curriculum isn&apos;t designed around theoretical milestones. Instead, it mirrors the actual journey developers take in their careers. Students begin with the fundamentals&#x2014;setting up Linux environments, configuring networks, and learning to work with the command line&#x2014;skills that form the bedrock of professional development. This hands-on approach immediately builds confidence and removes the intimidation factor that often accompanies technical education.</p><p>But the magic happens through <strong>collaboration and mentorship</strong>. Rather than working in isolation, students have access to experienced mentors who understand the &quot;why&quot; behind each technology choice. When architecting a Document Manager application, mentors help students make informed decisions about databases, APIs, and security frameworks. This real-world guidance prevents the common pitfall of learning technologies in a vacuum without understanding how they work together in production systems.</p><h2 id="building-teams-not-just-individuals">Building Teams, Not Just Individuals</h2><p>As students progress through backend development, frontend integration, and containerization, they&apos;re not just accumulating technical skills&#x2014;they&apos;re learning to think like production teams. The curriculum deliberately intertwines frontend and backend tasks, forcing students to consider API design from both consumer and provider perspectives. When configuring Docker containers and Docker Compose, they experience firsthand the challenges of service orchestration and inter-service communication.</p><p>This integrated approach teaches the <strong>collaborative mindset</strong> essential in real workplaces. Students learn that a great API means nothing if the frontend can&apos;t consume it efficiently. They discover that containerization isn&apos;t just an operations concern&#x2014;it directly impacts development workflow and deployment reliability. These insights come through doing, with mentors available to help when assumptions prove incorrect.</p><h2 id="authenticity-in-learning-from-local-to-production-ready">Authenticity in Learning: From Local to Production-Ready</h2><p>The academy emphasizes <strong>real-world constraints</strong>. Students don&apos;t deploy to magical cloud environments; they build on personal VMs and local Kubernetes clusters, managing volumes, configuring ingress controllers, and setting up CI/CD pipelines. When they encounter the friction of managing secrets, configuring CORS, or troubleshooting container networking, they&apos;re experiencing the genuine problems that senior developers solve daily.</p><p>Setting up a self-hosted GitLab Runner, configuring kubectl, and deploying with Kubernetes manifests&#x2014;these aren&apos;t academic exercises. They&apos;re the exact workflow that modern DevOps teams use. By traversing this path with mentorship, students don&apos;t just learn how to do these things; they develop intuition about why each step matters and how to adapt these patterns to new challenges.</p><h2 id="a-culture-of-continuous-improvement">A Culture of Continuous Improvement</h2><p>Perhaps most importantly, the academy fosters a culture where questions aren&apos;t obstacles&#x2014;they&apos;re opportunities. Mentors encourage students to design their own application architecture, choose their own technology stack (with guidance), and make decisions about trade-offs. When a student chooses Go over Java, or Vue over React, mentors help them understand the implications and learn from those decisions.</p><p>This approach transforms technical education from passive consumption into active collaboration. Students leave not just with a portfolio project, but with the problem-solving mindset, the confidence to make architectural decisions, and the experience of working with mentors who&apos;ve walked the same path before them.</p><p>The Core Competencies Academy recognizes that great developers aren&apos;t created by completing tasks&#x2014;they&apos;re forged through authentic challenges, thoughtful mentorship, and the collaborative spirit that defines modern software teams. It&apos;s education that prepares you not just for your first job, but for a career of continuous growth and meaningful contributions to real-world systems.</p><hr><p>The journey from Linux basics to Kubernetes deployment is more than a technical curriculum&#x2014;it&apos;s an apprenticeship in the craft of software development.</p>]]></content:encoded></item><item><title><![CDATA[The Agent That Doesn’t Lose Its Place]]></title><description><![CDATA[Building a support agent that survives the restart]]></description><link>https://blog.dvloper.io/the-agent-that-doesnt-lose-its-place/</link><guid isPermaLink="false">6a43bd4bfad5030001632396</guid><dc:creator><![CDATA[Dvloper Blog]]></dc:creator><pubDate>Thu, 25 Jun 2026 09:00:00 GMT</pubDate><media:content url="https://blog.dvloper.io/content/images/2026/06/ChatGPT-Image-Jun-30--2026--04_02_48-PM.png" medium="image"/><content:encoded><![CDATA[<img src="https://blog.dvloper.io/content/images/2026/06/ChatGPT-Image-Jun-30--2026--04_02_48-PM.png" alt="The Agent That Doesn&#x2019;t Lose Its Place"><p>When a system is down, a token has expired, or the process just died mid-investigation - is the part you actually have to build.</p><p>Anyone can build the support-bot demo. Wire a capable model to a ticket, give it read access to a couple of APIs, and watch it diagnose a clean failure on stage. It looks like magic. It is also the easy 20%.</p><p>Then you put it in front of a real queue. Unattended. Overnight. Reaching into half a dozen live systems, any of which can be slow, broken, or mid-deploy at the exact moment the agent knocks. The demo agent doesn&#x2019;t survive that. It stalls on the first timeout, loses its place on the first restart, and the next morning you find a row of half-finished investigations and no record of what they tried.</p><p>The hard part of an autonomous support agent isn&#x2019;t the diagnosis. It&#x2019;s persistence, the unglamorous discipline of not losing your place when the world around you misbehaves.</p><p>We borrowed the idea from the agentic coding tools we already live in, like Claude Code: a loop that keeps its footing. It remembers what it&#x2019;s done, retries what failed, adapts when a step is refused, and picks up where it left off. None of that is the model. It&#x2019;s the scaffolding around the model. So when we built our support agent, we treated that scaffolding as the product, not an afterthought. Here is what it actually takes.</p><h2 id="1-the-work-has-to-outlive-the-process">1. The work has to outlive the process</h2><p>Every ticket becomes a durable job, not a request held in memory. It lands in a queue that lives outside the agent, so if the worker is killed mid-investigation (deploy, crash, OOM, a careless kill -9), the job is still there when the lights come back on.</p><p>And it comes back honestly. On restart, anything that was &#x201C;running&#x201D; when the process died gets caught and marked, not left hanging as a zombie that the dashboard quietly lies about. The state of every job is always queryable, always truthful. That&#x2019;s the floor: the agent can die, the work cannot.</p><h2 id="2-the-agent-has-to-remember-what-it-did">2. The agent has to remember what it did</h2><p>Every step the agent takes (each model turn, each tool call, the command it ran, the result it got back, the action that was blocked, the assumption it had to make) is written to an append-only log as it happens, one line at a time. Think black-box recorder, not a summary written at the end (the end is exactly when you don&#x2019;t get to write anything).</p><p>So any investigation can be replayed after the fact, in order, by anyone. This is the difference between &#x201C;the agent failed, please investigate&#x201D; and a complete transcript of what it tried, in what sequence, and where it hit the wall. One of those is a ticket nobody wants. The other is a colleague&#x2019;s handoff notes.</p><h2 id="3-degrade-don%E2%80%99t-die">3. Degrade, don&#x2019;t die</h2><p>The agent depends on systems it doesn&#x2019;t own: a secrets store, an orchestration API, the ticketing system, the platform&#x2019;s own APIs, the log store. In production, &#x201C;all of them healthy at once&#x201D; is the exception, not the rule.</p><p>So a dependency being down is a condition the agent handles, not an exception that kills it. If it can&#x2019;t resolve a particular tenant&#x2019;s credentials, it doesn&#x2019;t abort; it proceeds with whatever it can reach, and it says so plainly in the record. If an access token expires mid-run, it refreshes and keeps going. The agent is built to do useful work with partial information, because partial information is the normal case.</p><h2 id="4-a-blocked-action-is-a-message">4. A blocked action is a message</h2><p>The agent is read-only by construction. Anything that could change state is blocked at the gate before it ever runs: no writes, no deletes, no destructive commands, no exceptions. You don&#x2019;t trust an unattended agent not to do damage; you make damage impossible.</p><p>But here&#x2019;s the part that matters for persistence: when the sandbox refuses a command, it doesn&#x2019;t throw an error that unwinds the whole run. It hands the agent a readable reason (&#x201C;that path is read-only; use the query endpoint instead&#x201D;), and the loop continues, with the agent adjusting its approach. Same trick the good coding agents use. A denied tool is feedback, not a fatal error.</p><h2 id="5-exhaust-the-layers-before-you-escalate">5. Exhaust the layers before you escalate</h2><p>The agent investigates in layers, from the cheap broad signals down to the specific deep ones, trying alternatives and dropping to the next source when one comes up empty. It only escalates to a human after it has actually run out of things to check.</p><p>And when it does escalate, it doesn&#x2019;t dump a shrug into the queue. It hands over the full context, what it confirmed, what it couldn&#x2019;t reach, what it had to assume, and what it recommends next:</p><p>Investigation: Inconclusive, escalated to on-call.</p><p>Confirmed:<br>&#x2022; Instance exists, in ERROR state, on a region reporting healthy capacity.<br>&#x2022; Tenant quota not exhausted.</p><p>Could not reach:<br>&#x2022; Per-tenant secrets (store timed out) &#x2192; continued with reduced access.</p><p>Assumptions logged:<br>&#x2022; Fault attributed to scheduler, inferred from the most recent platform signal.</p><p>Recommended next actions:<br>&#x2022; Route to on-call with the trace below; confirm scheduler health for that region.</p><p>That is not a bot giving up. That is a co-worker who did the legwork, knew the limits of what it could see, and tapped the right person on the shoulder with everything they need.</p><h2 id="the-business-case-said-plainly">The business case, said plainly</h2><p>The reason this is worth the upfront work shows up in four places:</p><ul><li>Continuity. It survives the 3 a.m. restart. The queue doesn&#x2019;t lose tickets and the agent doesn&#x2019;t lose its place, so unattended actually means unattended.</li><li>Trust. It tells you what it knew, what it didn&#x2019;t, and why. People stop second-guessing it, which is the only way they ever start relying on it.</li><li>Auditability. Every run is replayable, step by step. When someone asks &#x201C;why did it say that&#x201D; three weeks later, the answer is a file, not a guess.</li><li>Throughput. Humans only see the tickets that genuinely need a human, each one arriving with the investigation already done.</li></ul><h2 id="the-closing-thought">The closing thought</h2><p>The model is what makes the agent smart for a single step. Persistence is what makes it dependable across ten thousand of them. One of those you can buy off a leaderboard. The other you have to build, and it is mostly queues, logs, fallbacks, and the discipline to assume every dependency is having a bad day.</p><p>If your agent looks brilliant in the demo and brittle in production, the gap usually isn&#x2019;t the model. It&#x2019;s everything underneath that lets it keep going when something breaks, because in production, something always does.</p><p>That&#x2019;s the part we build.</p><p>Want to talk about where your agent gets brittle between the demo and production? Get in touch at dvloper.io.</p><p>Razvan Georgescu, VP of Data &amp; AI, dvloper.io</p>]]></content:encoded></item><item><title><![CDATA[Your AI Works. Your Team Doesn’t Use It.]]></title><description><![CDATA[<p><em>Your AI assistant works. That&#x2019;s not the problem. The problem is that nobody is actually using it.</em></p><p>It passes the demo, the answers are solid, and stakeholders sign off. It looks like a success. Then it goes live, and usage quietly drops. People tried it, found it helpful</p>]]></description><link>https://blog.dvloper.io/your-ai-works-your-team-doesnt-use-it/</link><guid isPermaLink="false">6a0ac3ac0534e20001c9f411</guid><dc:creator><![CDATA[Dvloper Blog]]></dc:creator><pubDate>Mon, 18 May 2026 07:56:15 GMT</pubDate><media:content url="https://blog.dvloper.io/content/images/2026/05/dvloper_blog_under_1mb.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://blog.dvloper.io/content/images/2026/05/dvloper_blog_under_1mb.jpg" alt="Your AI Works. Your Team Doesn&#x2019;t Use It."><p><em>Your AI assistant works. That&#x2019;s not the problem. The problem is that nobody is actually using it.</em></p><p>It passes the demo, the answers are solid, and stakeholders sign off. It looks like a success. Then it goes live, and usage quietly drops. People tried it, found it helpful enough, and then returned to their usual way of working. No complaints. No escalation. Just silence.</p><p>This is usually where most companies get it wrong. The issue is labeled as adoption. More training is proposed. Internal nudges are introduced, but none of it changes much. Because the issue isn&#x2019;t adoption.</p><p><strong>Using the assistant creates more work than it removes.</strong></p><p>A user asks a question and gets an answer. Then they have to stop, read it, decide if they trust it, and manually apply it somewhere else: another system, another tool, another conversation. The AI helps, but only partially. The rest of the process is still on them.</p><p>Over time, that trade-off becomes obvious. Saving time on information retrieval doesn&#x2019;t justify adding friction to everything that follows. So people adapt. They route around it. That decision exposes the real problem.&#xA0;</p><p><strong>The assistant isn&#x2019;t failing. It&#x2019;s simply not part of the workflow.</strong></p><p>When your agent sits next to the process, it&#x2019;s optional. It depends on someone choosing to use it and doing the extra step of translating its output into action. That extra step is exactly where things get stuck. It&#x2019;s also where our system-building work begins.&#xA0;</p><p>If your team isn&#x2019;t using AI, it&#x2019;s worth asking a simpler question: What happens after AI gives an answer?&#xA0;</p><p>If the answer is &#x201C;a person takes it from there,&#x201D; you don&#x2019;t have a system.</p><p>Most teams don&#x2019;t know exactly where that break happens. That&#x2019;s usually the first thing worth mapping. &#x2192;<a href="https://dvloper.io/ai-factory?ref=blog.dvloper.io"> </a><a href="https://dvloper.io/ai-factory?ref=blog.dvloper.io#contact" rel="noreferrer"><strong>Schedule a System Review</strong></a></p>]]></content:encoded></item><item><title><![CDATA[Q1 2026 Events Highlights]]></title><description><![CDATA[<p>Key European Cybersecurity Events &#x2014; January to March 2026</p><p>The first quarter of 2026 marked an intense period of engagement for our teams across Europe. Our people participated as speakers, presenters, and technical contributors in four major cybersecurity events &#x2014; spanning Greece, Italy, and Romania &#x2014; all tied to EU-funded</p>]]></description><link>https://blog.dvloper.io/q1-2026-events-highlights-2/</link><guid isPermaLink="false">69f996b37eb4870001b69f85</guid><dc:creator><![CDATA[Dvloper Blog]]></dc:creator><pubDate>Tue, 05 May 2026 10:02:49 GMT</pubDate><media:content url="https://blog.dvloper.io/content/images/2026/05/8513-1.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://blog.dvloper.io/content/images/2026/05/8513-1.jpg" alt="Q1 2026 Events Highlights"><p>Key European Cybersecurity Events &#x2014; January to March 2026</p><p>The first quarter of 2026 marked an intense period of engagement for our teams across Europe. Our people participated as speakers, presenters, and technical contributors in four major cybersecurity events &#x2014; spanning Greece, Italy, and Romania &#x2014; all tied to EU-funded projects in which we are active consortium partners. Here is a summary of what took place and how we contributed.</p><p></p><h2 id="1-cyberguard-%E2%80%94-1st-general-assembly-meeting"><strong>1. CYBERGUARD &#x2014; 1st General Assembly Meeting</strong></h2><p>29 January 2026&#xA0; |&#xA0; Thessaloniki, Greece&#xA0; |&#xA0; International Hellenic University (IHU)</p><p>The CYBERGUARD Consortium launched its First General Assembly Meeting at Thessaloniki City Hall, hosted by the International Hellenic University (IHU). The event brought together over 40 participants and marked the first major project milestone since implementation began on 1 December 2024.</p><p>CYBERGUARD aims to strengthen Security Operations Centres (SOCs) through AI-driven technologies and an efficient Cyber Threat Intelligence (CTI) sharing framework, improving the resilience of SOCs against complex and evolving attack vectors. The meeting covered project objectives and guidelines, management progress, AI-driven cybersecurity system design, CTI and offensive strategies, threat detection achievements, and technical partner demonstrations. Partners also reviewed Pilot Use Cases in terms of usability, performance, and operational relevance.</p><p>Dr. Mihai P&#x102;UN (I-ENERGYLINK), consortium coordinator, opened the meeting. Mrs. Malgorzata Agata KOWALSKA (ECCC Project Officer) joined remotely to address the consortium. The project is funded under the Digital Europe Programme and brings together 13 partners from Cyprus, Greece, Spain, and Romania.</p><p><strong>Our contribution</strong></p><p>DVLOPER was represented by Tudor Chihaia, Mihai Chihaia, and R&#x103;zvan Georgescu. The team delivered a live demonstration of the CYBERGUARD Dashboard to consortium partners, showcasing its current state and capabilities. They also conducted a technical demonstration of Suricata intrusion detection rules, explaining their structure and operational logic within the CYBERGUARD architecture.</p><p></p><h2 id="2-intersoc-%E2%80%94-2nd-general-assembly-meeting"><strong>2. INTERSOC &#x2014; 2nd General Assembly Meeting</strong></h2><p>10 February 2026&#xA0; |&#xA0; Terni, Italy&#xA0; |&#xA0; Hosted by ASM TERNI</p><p>The INTERSOC (INTERconnected Security Operation Centres) project held its 2nd General Assembly in Terni, Italy. The project focuses on disruption preparedness and resilience of digital infrastructures through advanced threat forecasting, cyber-incident detection and response, and the development of a user-centric intelligent threat defence platform.</p><p>The agenda included work package progress updates, Final Review Planning, a visit to the ASM TERNI pilot site, and a dedicated workshop &#x2014; &quot;Overall INTERSOC Architecture, Main Solutions and Demos&quot; &#x2014; covering the technology stack, integration interfaces, dashboard, and SOC-targeted system architecture. A workshop on Pilot Testing and Evaluation also took place.</p><p>INTERSOC is coordinated by EXIMPROD ENGINEERING (RO), funded by the ECCC under the Cybersecurity and Trust Programme (Grant No. 101145853), and gathers 13 partners from Spain, Italy, Greece, Cyprus, and Romania.</p><p><strong>Our contribution</strong></p><p>DVLOPER was represented by Louis Sardarescu and Adrian Batanu. Louis presented the latest Dashboard updates to the consortium, walking partners through the current development status and upcoming features. Adrian participated in the technical working discussions around the SOC Connector, contributing alongside the other technical partners in the consortium to define integration approaches and next steps.</p><p></p><h2 id="3-secur-eu-%E2%80%94-2nd-general-assembly-meeting"><strong>3. SECUR-EU &#x2014; 2nd General Assembly Meeting</strong></h2><p>12 February 2026&#xA0; |&#xA0; Terni, Italy&#xA0; |&#xA0; Hosted by ASM TERNI</p><p>Two days later, also in Terni, the SECUR-EU Consortium held its 2nd General Assembly. The project &#x2014; &quot;Enhancing Security of European SMEs in Response to Cybersecurity Threats&quot; &#x2014; focuses on open-source security solutions for SMEs, white-hack testing via the HackOlympics initiative, and improving cybersecurity preparedness across the SME market.</p><p>The agenda covered work package progress, Final Review Planning, an architecture and demos workshop, and an open debate on SME training activities and stakeholder involvement &#x2014; addressing capacity-building strategies and how to maximise the project&apos;s reach and sustainability. A Pilot Testing and Evaluation session was also held.</p><p>SECUR-EU is coordinated by EXIMPROD ENGINEERING (RO), funded under the ECCC Cybersecurity and Trust Programme (Grant No. 101128029), and gathers 14 consortium partners and 2 supporting organisations from across Europe.</p><p><strong>Our contribution</strong></p><p>DVLOPER was represented by Carol Bazga and Adrian Batanu, both actively engaged in the pilot use case discussions. Carol also delivered a dedicated presentation on the status of DVLOPER&apos;s pilot &#x2014; the Distributed IDS System Deployed on the Edge for IoT Cyber Attack Detection &#x2014; covering current implementation progress, technical findings, and next steps within the SECUR-EU validation framework.</p><p></p><h2 id="4-cra-europe-2026-%E2%80%94-cyber-resilience-in-action"><strong>4. CRA EUROPE 2026 &#x2014; Cyber Resilience in Action</strong></h2><p>4 March 2026&#xA0; |&#xA0; Romanian Parliament, Bucharest&#xA0; |&#xA0; CYBERFORT Consortium, coordinated by I-ENERGYLINK</p><p>The flagship event of the quarter was the CRA EUROPE 2026 conference, held at the Romanian Parliament in the Hall Nicolae IORGA. The event was organised by the CYBERFORT Consortium and coordinated by I-ENERGYLINK, with the support of the Romanian National Cyber Security Directorate (DNSC). It drew over 200 participants and 35 speakers and moderators from across Europe.</p><p>The event focused on the practical implementation of the Cyber Resilience Act (CRA) and its implications for SMEs, public authorities, and critical sectors. Three thematic sessions addressed CRA compliance frameworks, the role of standardisation, European policy perspectives, CYBERFORT project outcomes, pilot use case showcases, and the path from compliance to capability. Key representatives from ENISA, DNSC, ELECTRICA, ASRO, Deloitte, and the Authority for the Digitalization of Romania (ADR) were among the contributors.</p><p>Dr. Mihai P&#x102;UN (I-ENERGYLINK, CYBERFORT Coordinator) opened the conference, framing the event as a transition point: &quot;CRA EUROPE 2026 is moving from Policy to Practice, from Compliance to Capability, and from Ambition to measurable Cyber Resilience.&quot;</p><p><strong>Our contribution</strong></p><p>Mihai Chihaia, CIO of DVLOPER, participated as a speaker in Session 2 &#x2014; &quot;Cybersecurity Projects, CRA Compliance &amp; European Policy Perspectives&quot; &#x2014; as the Manufacturer/Vendor voice on the panel. His intervention addressed three interconnected themes:</p><ul><li>The standards gap as the primary compliance blocker &#x2014; with Type C product-specific standards still pending publication and SBOM format not yet mandated, manufacturers face the risk of building compliance processes that require rework once final standards are issued.</li><li>The underestimated complexity of SBOM &#x2014; arguing that an SBOM is not a document but a living, automated process embedded in CI/CD pipelines, particularly challenging for products built on deep open-source dependency stacks (such as DVLOPER&apos;s MultiCloud platform, which integrates 30+ OSS tools).</li><li>SME resource asymmetry as the harmonisation gap &#x2014; large enterprises can absorb compliance costs, while SMEs building digital products cannot staff dedicated compliance teams. EU-funded projects like CYBERFORT and CYBERGUARD are essential complements to regulation.</li></ul><p>In a solo intervention later in the session, Mihai also addressed how CRA compliance can become a competitive advantage &#x2014; positioning it as a market access strategy rather than a cost centre, drawing on DVLOPER&apos;s experience serving US-based enterprise clients through Broadcom&apos;s partner network.</p><p></p><p><strong>What Q1 2026 Meant for Us</strong></p><p>Across four events in three countries, our teams contributed technically, strategically, and publicly to some of the most important conversations in European cybersecurity today. From SOC architecture and intrusion detection to CRA compliance and SME readiness, Q1 2026 has reinforced our position as an active and relevant voice in the ecosystem. We look forward to continuing this engagement in the months ahead.</p>]]></content:encoded></item><item><title><![CDATA[Your AI Works in the Demo. The System Fails Under Load.]]></title><description><![CDATA[<p>In most enterprise deployments, the model is not the limiting factor. The failure appears at the system level, once the AI is exposed to real operational conditions.</p><p>In a controlled demo, inputs are predictable, context is bounded, and retrieval pipelines operate on clean, well-structured data. Latency is stable, and responses</p>]]></description><link>https://blog.dvloper.io/your-ai-works-in-the-demo-the-system-fails-under-load/</link><guid isPermaLink="false">69f1d034bc11700001cba4d9</guid><dc:creator><![CDATA[Dvloper Blog]]></dc:creator><pubDate>Wed, 29 Apr 2026 09:33:29 GMT</pubDate><media:content url="https://blog.dvloper.io/content/images/2026/04/ChatGPT_Image_Apr_29_2026_12_41_05_PM_optimized_1000.png" medium="image"/><content:encoded><![CDATA[<img src="https://blog.dvloper.io/content/images/2026/04/ChatGPT_Image_Apr_29_2026_12_41_05_PM_optimized_1000.png" alt="Your AI Works in the Demo. The System Fails Under Load."><p>In most enterprise deployments, the model is not the limiting factor. The failure appears at the system level, once the AI is exposed to real operational conditions.</p><p>In a controlled demo, inputs are predictable, context is bounded, and retrieval pipelines operate on clean, well-structured data. Latency is stable, and responses are evaluated in isolation. Under these conditions, the system performs as expected.</p><p>Production introduces a different set of constraints.</p><p>Queries are less structured and often underspecified. Input data is distributed across systems with inconsistent schemas and varying levels of reliability. Retrieval pipelines must handle partial failures, timeouts, and conflicting signals. Context windows become a constraint as the system attempts to combine multiple sources into a coherent response.</p><p>These are not edge cases. They are the baseline conditions of real usage.</p><p>The architecture decisions made during development become visible at this stage. How the system prioritizes sources when signals conflict. How it maintains state across multi-step workflows. How it degrades when a dependency is unavailable. How it handles concurrent requests without compounding latency or reducing accuracy.</p><p>Most implementations are not designed for this level of complexity. They are optimized for single-step interactions, not for sustained, multi-step reasoning under load.</p><p>The result is predictable. Accuracy degrades as query complexity increases. Latency becomes inconsistent. Failure modes are unclear or poorly handled. Trust declines, and usage shifts toward low-risk scenarios.</p><p>The model has not changed. The environment has.</p><p>The difference between a working prototype and a reliable system is the architecture that accounts for these conditions &#x2014; before they surface in production.</p><blockquote><a href="https://dvloper.io/ai-factory?ref=blog.dvloper.io#contact" rel="noreferrer"><strong>Schedule an AI System Diagnostic</strong></a></blockquote><p>Or, if you want to understand how this is built in practice: <strong>See how the AI Factory works &#x2192; <a href="https://dvloper.io/ai-factory?ref=blog.dvloper.io">https://dvloper.io/ai-factory</a></strong></p>]]></content:encoded></item><item><title><![CDATA[The LLM Is the Easy Part: Why Ontology-Driven Agents Are the Only Ones That Survive Production]]></title><description><![CDATA[The model is a commodity. The layer that determines whether your enterprise agent survives production is the ontology underneath.]]></description><link>https://blog.dvloper.io/the-llm-is-the-easy-part-why-ontology-driven-agents-are-the-only-ones-that-survive-production/</link><guid isPermaLink="false">69ea0435655c3b00019c6ecc</guid><dc:creator><![CDATA[Dvloper Blog]]></dc:creator><pubDate>Fri, 24 Apr 2026 12:00:53 GMT</pubDate><media:content url="https://blog.dvloper.io/content/images/2026/04/onthology--1-.png" medium="image"/><content:encoded><![CDATA[<img src="https://blog.dvloper.io/content/images/2026/04/onthology--1-.png" alt="The LLM Is the Easy Part: Why Ontology-Driven Agents Are the Only Ones That Survive Production"><p><em>How we at dvloper.io build enterprise agentic AI that actually ships, and why the model isn&apos;t where your agent lives or dies.</em></p><p>Every enterprise AI program starts with the same enthusiasm and ends with the same question: &#x201C;Why does the demo look so sharp and the production pilot look like a toddler with a search engine?&#x201D;</p><p>We see this constantly. A team picks a model, wires it to a handful of tools, builds a nice chat UI, and ships something that crushes the happy-path scenarios the product owner demoed. Then it meets real enterprise data, real business rules, real ambiguity, and it collapses. Outputs drift. Trust erodes. The project quietly gets re-labeled as &#x201C;exploratory&#x201D; and everyone pretends the roadmap always had that caveat.</p><p>The thing nobody wants to say out loud is this: <strong>the LLM is not where your agent lives or dies.</strong> The model is a commodity. GPT, Claude, Gemini, Llama. Swap them, benchmark them, argue about them on Twitter. None of it will save an agentic system that doesn&apos;t understand your enterprise.</p><p>The layer that actually determines whether your agent survives contact with production is the one underneath the model. The one that tells it what your enterprise actually <em>means</em>.</p><p>That layer is an ontology. And building it properly is what we do at dvloper.io.</p><h2 id="what-a-production-grade-enterprise-agent-actually-requires"><strong>What a production-grade enterprise agent actually requires</strong></h2><p>When we talk about agentic AI at dvloper.io, we mean something very specific: a system that encodes the data, logic, actions, and security of the enterprise into a coherent semantic model, and then lets humans and agents operate on top of it with full fidelity. We call the capability we build for our clients the <strong>AI Agentic Factory</strong>, and it rests on four things, not one.</p><p>Strip away the buzzwords, and an enterprise-grade agent has to do four jobs simultaneously:</p><ul><li><strong>Encode the data of the enterprise.</strong> Unify the vast and fragmented sources of truth: CRM, ERP, systems of record, ticketing platforms, document stores, operational telemetry, into coherent objects, properties, and links. Not a dashboard. Not an API gateway. A single semantic model the agent can actually reason over.</li><li><strong>Capture the logic of the enterprise.</strong> The rules, constraints, and decision frameworks currently living in someone&apos;s head, in a PDF from 2022, or worse, buried in fifteen different stored procedures nobody has touched since the person who wrote them left. Encoded once. Consistent everywhere.</li><li><strong>Model the actions of the enterprise as first-class primitives.</strong> Not just &#x201C;the agent can generate an answer,&#x201D; but &#x201C;the agent can write back to the system of record, with the right approvals, the right audit trail, and the right rollback path.&#x201D; Simple transactions and multi-step workflows, both governed the same way.</li><li><strong>Govern both humans and agents under one security model.</strong> Same identity, same permissions, same audit logs, whether the actor is a senior analyst or an autonomous agent. No CISO is going to sign off on &#x201C;the LLM decided what was allowed.&#x201D;</li></ul><p>None of that is LLM work. All of it is semantic-layer work. And it is exactly what most agentic AI programs skip in the rush to ship a demo, which is exactly why most agentic AI programs stall between demo and production.</p><h2 id="why-agents-fail-without-a-semantic-layer"><strong>Why agents fail without a semantic layer</strong></h2><p>Let&apos;s be specific about what actually breaks when you skip the ontology.</p><p><strong>1. The same term means five different things.</strong> A &#x201C;customer&#x201D; in CRM is not the same as a &#x201C;customer&#x201D; in billing, is not the same as a &#x201C;customer&#x201D; in the churn model, is not the same as the entity your contract says you owe money to. Your agent sees all five and averages them.</p><p><strong>2. Business rules live in humans, not systems.</strong> The rule that &#x201C;we never onboard vendors from jurisdiction X without a Tier-2 compliance review&#x201D; exists in someone&apos;s head and in a PDF from 2022. Your agent has no idea.</p><p><strong>3. The agent can&apos;t tell when it doesn&apos;t know.</strong> This is the failure mode that destroys enterprise trust faster than any other. An agent that confidently answers with incomplete information is worse than no agent at all, because you stop checking it.</p><p><strong>4. Nothing is explainable.</strong> When the agent produces a decision, nobody can reconstruct why. No auditor will sign off on that. No compliance team will let it run unsupervised. No regulator will let it touch a regulated workflow.</p><p><strong>5. Every new use case is a from-scratch rebuild.</strong> Without a shared semantic backbone, each agent is its own snowflake. Pilots never become platforms. Year two looks exactly like year one except with more sunk cost.</p><p>These are not model problems. No amount of swapping from GPT-4 to Claude to Gemini to Llama will fix them. They are architectural problems, and the architecture is the ontology.</p><h2 id="how-we-actually-build-these-systems"><strong>How we actually build these systems</strong></h2><figure class="kg-card kg-image-card"><img src="https://blog.dvloper.io/content/images/2026/04/simple-schema.png" class="kg-image" alt="The LLM Is the Easy Part: Why Ontology-Driven Agents Are the Only Ones That Survive Production" loading="lazy" width="1536" height="1024" srcset="https://blog.dvloper.io/content/images/size/w600/2026/04/simple-schema.png 600w, https://blog.dvloper.io/content/images/size/w1000/2026/04/simple-schema.png 1000w, https://blog.dvloper.io/content/images/2026/04/simple-schema.png 1536w" sizes="(min-width: 720px) 720px"></figure><p>Here is the pattern we use at dvloper.io, and what makes the Agentic Factory approach different from &#x201C;hook an LLM to LangChain and hope.&#x201D;</p><p><strong>1. Ontology-first, model-second</strong></p><p>Before we pick the LLM, we model the domain. What are the entities? What are the relationships? What are the rules, constraints, and required properties? What does &#x201C;done&#x201D; look like for each workflow? What does every actor (human or agent) needs to know to make a safe decision?</p><p>This is boring, unglamorous, diagram-heavy work. It is also exactly what separates the systems that ship from the ones that don&apos;t.</p><p><strong>2. The agent&apos;s job is semantic translation, not answer generation</strong></p><p>Once the ontology exists, the LLM&apos;s job gets narrower than people expect. It is not &#x201C;generate the answer.&#x201D; It is: <em>take the user&apos;s request, map it to ontology concepts, identify what is being asked, and route to the right tools.</em></p><p>That is a much more tractable problem for an LLM. It is also much easier to make reliable, testable, and debuggable. Most of what people call &#x201C;hallucination&#x201D; in production agents is actually the LLM being asked to do a job the architecture should have handled for it.</p><p><strong>3. Tools are first-class citizens, and they are boring on purpose</strong></p><p>We build tools as small, deterministic, testable pieces of code that the agent composes into workflows. Boring tools are good tools. They fail predictably. They log cleanly. They don&apos;t hallucinate.</p><p>The tools that show up in every ontology-driven agent we build:</p><ul><li><strong>The Gap Capture tool.</strong> Identifies what is missing before the agent acts. If an onboarding request does not have a jurisdiction, the agent does not guess. It records the gap.</li><li><strong>The Question Generation tool.</strong> Turns gaps into targeted follow-up questions, grounded in the ontology rather than generic &#x201C;can you clarify?&#x201D; prompts. &#x201C;Is this vendor operating in a restricted jurisdiction?&#x201D; beats &#x201C;Tell me more about the vendor&#x201D; every time.</li><li><strong>The Assumption Logging tool.</strong> When a workflow has to proceed with a temporary assumption, the agent records it explicitly. Every decision becomes auditable. Every assumption becomes a conversation the team can later have.</li><li><strong>The Validation tool.</strong> Checks that requests and resolved entities satisfy ontology constraints <em>before</em> any action is taken. Every contract must be linked to a legal entity. Every change request must have a rollback path. Every product must have a capability owner. The ontology says so; the validator enforces it.</li><li><strong>The Reasoning tool.</strong> Applies rules over ontology relationships to derive facts the input didn&apos;t explicitly contain: eligibility, risk tier, dependency chains, blast radius. This is where ontology stops being a dictionary and starts being an inference engine.</li><li><strong>The Escalation tool.</strong> When the agent can&apos;t safely complete a task, it routes to a human <em>with full context</em> (gaps, assumptions, partial work, recommended next actions), not a generic ticket with &#x201C;agent failed, please investigate.&#x201D;</li></ul><p>These are the tools that make the difference between an agent that answers fast and an agent you would actually put in front of a regulator.</p><p><strong>4. Observability on top, governance on the side</strong></p><p>Every agent call, every tool invocation, every assumption, every escalation, all logged, queryable, auditable. This is not bolted on at the end. It is part of the architecture from day one. When an agent makes a decision six months from now, you can reconstruct exactly why.</p><p><strong>5. The platform compounds</strong></p><p>This is where the &#x201C;Factory&#x201D; in Agentic Factory matters. The first agent we build comes with a semantic model, a tool library, and observability plumbing. The second agent reuses all of it. By the third or fourth use case, the incremental cost of a new agent is a fraction of the first one.</p><p>That is when agentic AI stops being a project and starts being a capability.</p><h2 id="a-real-example-agent-driven-network-operations"><strong>A real example: agent-driven network operations</strong></h2><p>Some of our most demanding work lives in network operations: proactive monitoring, configuration validation, incident triage. Real-time, high-stakes, zero-tolerance-for-wrong-answers territory. An agent that confidently pushes a bad change into a production network does not produce a bug. It produces an outage with a name.</p><p>What does ontology look like here?</p><ul><li><strong>Entities:</strong> devices, interfaces, links, policies, tenants, service paths, SLAs, maintenance windows.</li><li><strong>Relationships:</strong> which device serves which tenant, which policy applies to which interface, which link is primary versus backup, which tenant shares which blast radius.</li><li><strong>Rules:</strong> what constitutes a valid configuration change, what requires tenant approval, what can be auto-remediated, what must never be touched outside a maintenance window.</li></ul><p>A traditional agent asked <em>&#x201C;Can we push this configuration change?&#x201D;</em> might confidently answer yes based on syntactic validation alone. That is dangerous.</p><p>An ontology-driven agent answers a different question entirely: <em>given the ontology of this network, is this change safe, for which tenants, with what downstream effects, and what assumptions is it making?</em></p><p>It might conclude:</p><p><strong>Change validation: Blocked.</strong></p><p><strong>Gaps detected:</strong></p><p>&#x2022; Affected tenant SLA window not confirmed</p><p>&#x2022; Rollback path for interface bundle not verified</p><p>&#x2022; Peer link redundancy currently degraded</p><p><strong>Questions requiring human input:</strong></p><p>&#x2022; Is this change scheduled inside the tenant&apos;s approved maintenance window?</p><p>&#x2022; Has the peer-side team acknowledged the redundant-link status?</p><p><strong>Assumptions logged:</strong></p><p>&#x2022; Tenant SLA tier inferred from most recent service catalog snapshot</p><p>&#x2022; Rollback path assumed to be the previously-deployed configuration baseline</p><p><strong>Recommended next actions:</strong></p><p>&#x2022; Route to on-call network engineer with full context</p><p>&#x2022; Hold change until peer-side redundancy restored</p><p>That is not a chatbot. That is a co-worker with enough context to be trustworthy, and enough self-awareness to escalate when it shouldn&apos;t proceed alone.</p><h2 id="the-business-case-said-plainly"><strong>The business case, said plainly</strong></h2><p>The reason this architecture is worth the upfront work is not theoretical. It shows up in five places:</p><p><strong>Trust.</strong> The agent shows what it knows, what it doesn&apos;t know, and why. Users stop second-guessing outputs, which means they actually start using them.</p><p><strong>Explainability.</strong> Every decision is grounded in ontology, rules, and traceable gaps. Regulators, auditors, and internal risk teams can follow the reasoning end-to-end.</p><p><strong>Reusability.</strong> The ontology becomes a shared asset across every agent and workflow you build. Second use case costs a fraction of the first.</p><p><strong>Governance.</strong> Assumptions, questions, unresolved issues, and escalations are explicitly captured, not hidden inside model weights you cannot inspect.</p><p><strong>Scalability.</strong> Different domain agents share the same semantic backbone. Your platform grows as a coherent system instead of a collection of disconnected pilots.</p><p>These are not theoretical benefits. They are the reason enterprises that adopt this pattern end up with agentic AI running in production, and the ones that don&apos;t end up with a graveyard of demos.</p><h2 id="the-closing-thought"><strong>The closing thought</strong></h2><p>LLMs are excellent at generating language. Enterprise decisions require structure, meaning, constraints, and the discipline to recognize when an answer is incomplete. One of those things is a commodity in 2026. The other is the work.</p><p>At dvloper.io, the work is what we sell. The ontology-driven agent is not a demo pattern for us. It is how we ship.</p><p>If you are stuck somewhere between a promising POC and a production agent you&apos;d actually trust with a regulated workflow, the missing layer is probably not a better model. It is the ontology underneath.</p><p>We would be happy to talk about yours.</p><p><em>Want to discuss where your agentic AI program is stuck, or how an ontology-first architecture would fit your stack? Get in touch at dvloper.io.</em></p><p><em>Razvan Georgescu, VP of Data &amp; AI, dvloper.io</em></p>]]></content:encoded></item><item><title><![CDATA[JiraAI: Turning a Decade of Jira Tickets Into an Answer Engine Your Team Can Actually Trust]]></title><description><![CDATA[<h2 id="the-problem-every-growing-engineering-organization-eventually-runs-into"><strong>The problem every growing engineering organization eventually runs into</strong></h2><p>At some point, every team stops being able to remember everything it has already learned. The knowledge is there sitting in ten thousand Jira tickets, buried in comment threads, resolution summaries, and carefully-written post-mortems of incidents from years ago. All of</p>]]></description><link>https://blog.dvloper.io/jiraai-turning-a-decade-of-jira-tickets-into-an-answer-engine-your-team-can-actually-trust/</link><guid isPermaLink="false">69df5b6b6096ae0001daf35a</guid><dc:creator><![CDATA[Dvloper Blog]]></dc:creator><pubDate>Wed, 15 Apr 2026 09:37:05 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1736953072477-bd26e3073d02?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDF8fFdvb2RlbiUyMGNhcmQlMjBjYXRhbG9nJTIwZHJhd2VycyUyMHdpdGglMjBsYWJlbHN8ZW58MHx8fHwxNzc2MjQ1OTc4fDA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=2000" medium="image"/><content:encoded><![CDATA[<h2 id="the-problem-every-growing-engineering-organization-eventually-runs-into"><strong>The problem every growing engineering organization eventually runs into</strong></h2><img src="https://images.unsplash.com/photo-1736953072477-bd26e3073d02?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDF8fFdvb2RlbiUyMGNhcmQlMjBjYXRhbG9nJTIwZHJhd2VycyUyMHdpdGglMjBsYWJlbHN8ZW58MHx8fHwxNzc2MjQ1OTc4fDA&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=2000" alt="JiraAI: Turning a Decade of Jira Tickets Into an Answer Engine Your Team Can Actually Trust"><p>At some point, every team stops being able to remember everything it has already learned. The knowledge is there sitting in ten thousand Jira tickets, buried in comment threads, resolution summaries, and carefully-written post-mortems of incidents from years ago. All of it is searchable, technically. None of it is findable in the way a human actually asks questions.</p><p>New team members spend their first weeks asking questions that have been answered a dozen times before. Senior engineers get pulled off their own work to explain history they&#x2019;ve already explained, which isn&#x2019;t just a productivity tax it&#x2019;s one of the quieter reasons people burn out. Incidents drag on longer than they should because nobody can remember whether this exact symptom has happened before, or whether a similar issue in a different service was already root-caused and resolved.</p><p>The organization owns the answers. It just can&#x2019;t access them at the speed of conversation. That gap between &#x201C;we know this&#x201D; and &#x201C;we can retrieve this&#x201D; is worth closing. That&#x2019;s the problem JiraAI was built to solve at dvloper.io.</p><h2 id="why-we-built-our-own-product-layer"><strong>Why we built our own product layer</strong></h2><p>Before we wrote a line of code, we spent serious time evaluating <a href="https://github.com/infiniflow/ragflow?ref=blog.dvloper.io">RagFlow</a>, the open-source RAG engine that has become one of the most capable platforms in its category. It&#x2019;s genuinely impressive: deep document parsing, intelligent chunking, multi-modal retrieval, grounded citations, agent workflows, and <a href="https://ragflow.io/blog/ragflow-0.22.0-data-source-synchronization-enhanced-parser-agent-optimization-and-admin-ui?ref=blog.dvloper.io">native Jira support since v0.22.0</a>. For many teams, it&#x2019;s an excellent starting point. Three concerns ruled out a direct deployment for us.</p><h3 id="access-control-you-can-prove"><strong>Access control you can prove</strong></h3><p>Engineering managers and security leads don&#x2019;t just want &#x201C;a chatbot over Jira.&#x201D; They want to prove that a contractor on Project A has no path through the UI, through the API, or by guessing identifiers to data from Project B. RagFlow&#x2019;s open-source edition is designed around workspaces, not per-user per-knowledge-base grants. The <a href="https://github.com/infiniflow/ragflow/issues/2588?ref=blog.dvloper.io">maintainers confirmed this</a> when they closed the RBAC request in May 2025: granular permission control is a commercial-tier feature. For our use case, this wasn&#x2019;t a limitation we could work around it was the core of what we needed to deliver.</p><h3 id="roadmap-autonomy"><strong>Roadmap autonomy</strong></h3><p>Building entirely on a third-party platform means your product&#x2019;s future is tied to their release schedule and licensing decisions. Owning the application layer while leaning on RagFlow as the retrieval engine underneath meant we could ship the features our teams actually asked for, on our timeline, without waiting for an external roadmap to catch up.</p><h3 id="technology-vs-product"><strong>Technology vs. product</strong></h3><p>A RAG engine does one thing extraordinarily well: retrieve. A knowledge product is the onboarding flow that makes a junior engineer feel supported, the audit trail that satisfies a security review, the dashboard that justifies the budget. None of that ships inside a retrieval engine by default. JiraAI is the product. RagFlow is the engine. Keeping those two things separate, and letting each do what it&#x2019;s best at, is the most important architectural decision we&#x2019;ve made on this project.</p><h2 id="what-jiraai-delivers"><strong>What JiraAI delivers</strong></h2><h3 id="1-real-rbac-tied-to-your-existing-identity"><strong>1. Real RBAC tied to your existing identity</strong></h3><p>JiraAI integrates directly with Keycloak (or any OIDC-compliant IdP). Access is enforced at three independent levels: site-wide roles (<strong>site.admin</strong>, <strong>project.admin</strong>, <strong>project.user</strong>), per-user knowledge base grants for contractors and cross-functional contributors, and project-to-knowledge-base mappings that make tenancy clean and auditable. One Keycloak change grants access; one change removes it entirely. MFA, session policies, and password rotation are all inherited JiraAI can&#x2019;t accidentally weaken them. For a security review, this is the difference between a two-week conversation and a two-day one.</p><h3 id="2-an-admin-dashboard-for-decision-makers"><strong>2. An admin dashboard for decision-makers</strong></h3><p>Every early demo ended with leadership asking the same three questions: Is anyone actually using this? Are the answers good? What are we getting for what we&#x2019;re spending? The /admin view answers all three adoption by team and project trended over time, per-response helpfulness signals captured directly in chat, and LLM usage tied to specific tickets and projects. It&#x2019;s a product owner&#x2019;s view of whether the thing is working, not a RAG operator&#x2019;s view of embedding health and vector metrics.</p><h3 id="3-jira-data-understood-before-it%E2%80%99s-indexed"><strong>3. Jira data understood before it&#x2019;s indexed</strong></h3><p>Raw Jira tickets are noisy: triage summaries written before the problem was understood, low-signal comments (&#x201C;bump,&#x201D; &#x201C;retry,&#x201D; &#x201C;any update?&#x201D;), attachments in mixed formats, and resolutions buried in the last reply of a long thread. Feed that directly into a knowledge base and you get answers that reflect the noise.</p><p>JiraAI&#x2019;s ingestion pipeline runs every ticket through an AI enrichment step before it reaches the knowledge base restructuring it into what the problem was, what was tried, what was ruled out, and what finally worked. Atlassian Document Format comments are parsed correctly. A single ticket can fan out to multiple knowledge bases without duplicating the enrichment work. The result is cleaner retrieval and more accurate, more specific answers.</p><h3 id="4-project-centric-ux-and-a-resilient-pipeline"><strong>4. Project-centric UX and a resilient pipeline</strong></h3><p>Instead of navigating a list of opaque knowledge base identifiers, users start from a project, intuitive and familiar organizing unit they already work in every day. The assistant, access controls, and analytics all follow automatically. Behind the scenes, a decoupled producer/consumer pipeline handles incremental Jira polling, enrichment, and fan-out independently. If the downstream is temporarily unavailable, the producer keeps collecting and the consumer catches up. Single-ticket failures don&#x2019;t affect the batch. Idempotency is enforced at the database level. Reliability isn&#x2019;t a feature you market it&#x2019;s the absence of the outages you didn&#x2019;t have.</p><h2 id="how-a-question-becomes-an-answer"><strong>How a question becomes an answer</strong></h2><p>An engineer hits a familiar-looking Kafka consumer timeout and types: &#x201C;Have we seen this lag spike before, and what was the fix?&#x201D; JiraAI authenticates them via Keycloak, resolves their project memberships, and queries only the knowledge bases they&#x2019;re allowed to see the access boundary is enforced at the retrieval step, not just at the UI. Enriched ticket chunks are retrieved, re-ranked, and passed to the LLM with a carefully designed system prompt. The answer streams back with citations to specific tickets.</p><p>The engineer clicks through to an eleven-month-old ticket and finds the root cause in three minutes. They mark the response helpful that signal feeds the admin dashboard, where a product owner can see which teams are getting value and which knowledge bases have gaps. Nobody thought about knowledge base IDs, RAG configuration, or which model is powering the response. It just worked, and it was safe, and it was measurable.</p><h2 id="the-lesson"><strong>The lesson</strong></h2><p>Retrieval engines don&#x2019;t ship with the parts that make them products. Access control, audit trails, domain-specific data handling, a UX that fits how engineers think about their work none of that comes in the box, regardless of how good the underlying engine is. A thin interface on top of RagFlow would have passed the demo. It would not have passed the security review.</p><p>So we built those parts ourselves and layered them on top of RagFlow&#x2019;s retrieval quality, which we trust and don&#x2019;t have to maintain. The hard foundational work is someone else&#x2019;s problem. The product experience the part our teams open every morning is entirely ours to shape and iterate on.</p><h3 id="further-reading"><strong>Further reading</strong></h3><p>&#x2013;&#xA0; <a href="https://github.com/infiniflow/ragflow?ref=blog.dvloper.io">RAGFlow on GitHub</a></p><p>&#x2013;&#xA0; <a href="https://ragflow.io/blog/ragflow-0.22.0-data-source-synchronization-enhanced-parser-agent-optimization-and-admin-ui?ref=blog.dvloper.io">RAGFlow v0.22.0 data sources, admin UI, parser improvements</a></p>]]></content:encoded></item><item><title><![CDATA[From Assistant to Agent: Phase 3 of an Enterprise AI System at Fortune-10 Scale]]></title><description><![CDATA[<p>Dvloper is entering Phase 3 of a strategic AI collaboration with a Fortune 10 infrastructure leader, evolving an enterprise assistant into a more advanced agentic system designed to reason across complex internal knowledge and support real operational workflows in production environments.</p><p>Enterprise AI rarely fails during training. It fails in</p>]]></description><link>https://blog.dvloper.io/from-assistant-to-agent-phase-of-an-enterprise-ai-system/</link><guid isPermaLink="false">69af1e58abe6d00001775dac</guid><dc:creator><![CDATA[Dvloper Blog]]></dc:creator><pubDate>Tue, 17 Mar 2026 14:14:54 GMT</pubDate><media:content url="https://blog.dvloper.io/content/images/2026/03/header--1-.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://blog.dvloper.io/content/images/2026/03/header--1-.jpg" alt="From Assistant to Agent: Phase 3 of an Enterprise AI System at Fortune-10 Scale"><p>Dvloper is entering Phase 3 of a strategic AI collaboration with a Fortune 10 infrastructure leader, evolving an enterprise assistant into a more advanced agentic system designed to reason across complex internal knowledge and support real operational workflows in production environments.</p><p>Enterprise AI rarely fails during training. It fails in production.</p><p>That reality has shaped our collaboration with a Fortune 10 infrastructure leader, where the goal was never to build another impressive assistant, but a system capable of navigating complex internal knowledge and supporting real operational workflows.</p><p>After successfully delivering Phase 1 and Phase 2, we are now entering Phase 3 - the biggest stage of the partnership so far.</p><h3 id="from-early-validation-to-deeper-operational-value"><strong>From Early Validation To Deeper Operational Value</strong></h3><p>The earlier phases of this collaboration were centered on building the right foundation: understanding the problem space, shaping the assistant architecture, integrating knowledge sources, and validating how AI could be applied in a way that was actually useful inside a real enterprise environment.</p><p>That part matters more than people think.</p><p>In enterprise settings, AI is not valuable just because it can answer questions. It becomes valuable when it can work within complex systems, reason through fragmented information, and produce outputs that are relevant, reliable, and aligned with how teams actually operate.</p><p>That is exactly where this collaboration has been heading.</p><p>With the first two phases successfully completed, with great feedback from the stakeholders of going beyond the initial scope - the project is now moving post foundational capability and into a more advanced stage focused on broader reasoning, stronger orchestration, and deeper operational fit.</p><h3 id="what-phase-3-is-about"><strong>What Phase 3 Is About</strong></h3><figure class="kg-card kg-image-card"><img src="https://blog.dvloper.io/content/images/2026/03/IMG_4642-1.JPEG" class="kg-image" alt="From Assistant to Agent: Phase 3 of an Enterprise AI System at Fortune-10 Scale" loading="lazy" width="1600" height="872" srcset="https://blog.dvloper.io/content/images/size/w600/2026/03/IMG_4642-1.JPEG 600w, https://blog.dvloper.io/content/images/size/w1000/2026/03/IMG_4642-1.JPEG 1000w, https://blog.dvloper.io/content/images/2026/03/IMG_4642-1.JPEG 1600w" sizes="(min-width: 720px) 720px"></figure><p>This next stage focuses on expanding the agentic capabilities of the platform so that it can do more than respond, it becomes a proactive agentic framework instead of a reactive agentic mechanism. It needs to reason across enterprise context, coordinate specialized workflows, and support more structured decision paths in environments where accuracy and traceability matter.</p><p>At a high level, this phase builds on the progress already made in areas such as:</p><ul><li>Agent orchestration for more structured task handling</li><li>Context aware reasoning across multiple internal knowledge sources</li><li>Improved routing between specialized flows and capabilities</li><li>Stronger support for complex operational investigations</li><li>A more production minded approach to integration, validation, and rollout</li></ul><p>The goal is not to build AI for the sake of AI.</p><p>The goal is to build a system that can genuinely support teams operating in complex technical environments, where the volume of information is high, the paths to resolution are rarely linear, and trust in the output matters just as much as speed.</p><h3 id="why-this-work-matters"><strong>Why This Work Matters</strong></h3><p>A lot of AI content today focuses on generic assistants and surface level automation. But enterprise reality is different.</p><p>Real internal systems are layered. Knowledge is distributed. Processes evolve over time. And the people using these tools are not looking for novelty; they are looking for practical value in their day to day workflows.</p><p>That is why this collaboration has been shaped around a more grounded engineering approach.</p><p>Instead of treating the assistant like a standalone chatbot, the system has been designed as a more structured, agent driven capability: one that can connect to enterprise knowledge, follow defined reasoning paths, and support users in a way that feels closer to an operational companion than a generic interface.</p><p>That distinction is important, especially in larger organizations where adoption depends on whether the solution can fit into real workflows, not just perform well in a controlled demo.</p><p>In most large organizations, operational teams deal with high volumes of structured and unstructured information coming from multiple systems that were never designed to talk to each other. The people doing the work are experienced - they know how to navigate the complexity - but they spend a disproportionate amount of time on the repetitive cognitive work: gathering context, cross-referencing sources, triaging what matters from what doesn&apos;t. That is not an automation problem. It is a <strong>reasoning problem</strong>. And that is where agentic AI actually starts to make sense - not as a replacement for expertise, but as a layer that handles the heavy lifting before a decision needs to be made.</p><h3 id="what-makes-this-phase-different"><strong>What Makes This Phase Different</strong></h3><p>What makes Phase 3 significant is not only the scale of the work, but the level of maturity behind it.</p><p>By this point, the collaboration is no longer about testing whether the idea has potential. That has already been demonstrated through the earlier phases. Phase 3 is about extending that success into a larger, more capable system with stronger real world value.</p><p>For our team, this is also the kind of work we care deeply about: combining modern AI frameworks with disciplined engineering, thoughtful architecture, and a strong understanding of how enterprise systems actually behave.</p><p>It is one thing to prototype an assistant.</p><p>It is another to design one that can evolve responsibly inside a large operational environment.</p><p>That is the challenge and the opportunity in front of us now.</p><h3 id="looking-ahead"><strong>Looking Ahead</strong></h3><p>We are excited to begin Phase 3 and continue building on the trust, momentum, and technical foundation established so far.</p><p>This next chapter represents more than just another milestone. It reflects the strength of a partnership built through delivery, iteration, and a shared commitment to building AI systems that are useful, reliable, and grounded in real operational needs.</p><p>For Dvloper, it is also a strong example of how we approach enterprise AI, not as a trend, but as an engineering discipline.</p><p>The companies that will lead with AI are not the ones moving fastest. They are the ones building systems that their teams actually trust.</p><p></p>]]></content:encoded></item><item><title><![CDATA[A Month-by-Month Skill Growth Retrospective]]></title><description><![CDATA[<p>My time at the dvloper.io academy was a transformative experience designed to bridge the gap between basic programming knowledge and enterprise-level software development. The primary objective of the program was to familiarize students with real-world applications, full-stack development, and professional workflows, all within a structured Agile methodology emphasizing continuous</p>]]></description><link>https://blog.dvloper.io/a-month-by-month-skill-growth-retrospective/</link><guid isPermaLink="false">69aeecc74e892d00014bc065</guid><dc:creator><![CDATA[Dvloper Blog]]></dc:creator><pubDate>Mon, 09 Mar 2026 15:53:24 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1517245386807-bb43f82c33c4?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDF8fHNraWxsfGVufDB8fHx8MTc3MzA3MTUxOXww&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=2000" medium="image"/><content:encoded><![CDATA[<img src="https://images.unsplash.com/photo-1517245386807-bb43f82c33c4?crop=entropy&amp;cs=tinysrgb&amp;fit=max&amp;fm=jpg&amp;ixid=M3wxMTc3M3wwfDF8c2VhcmNofDF8fHNraWxsfGVufDB8fHx8MTc3MzA3MTUxOXww&amp;ixlib=rb-4.1.0&amp;q=80&amp;w=2000" alt="A Month-by-Month Skill Growth Retrospective"><p>My time at the dvloper.io academy was a transformative experience designed to bridge the gap between basic programming knowledge and enterprise-level software development. The primary objective of the program was to familiarize students with real-world applications, full-stack development, and professional workflows, all within a structured Agile methodology emphasizing continuous delivery and iterative improvement.</p><p>The curriculum followed two-week sprints, with tasks building on each other and increasing in complexity. Agile practices guided the process: sprint planning to set goals, bi-weekly meetings to stay aligned, code reviews for quality, and retrospectives to reflect and improve.&#xA0;Mentorship was a key part of the academy experience.&#xA0;</p><p>The first month at dvloper.io focused on laying a stable foundation for enterprise-level development. I began by setting up Virtual Machines, installing development tools, and configuring all dependencies required to run complex applications. Understanding the infrastructure behind these systems was equally important,&#xA0;I learned how enterprise applications rely on interconnected services and environments to function reliably. Alongside this, I worked on designing application workflows, planning scalable structures, and mapping how different components would interact. This phase was critical for building core technical skills, developing a structured approach to problem-solving, and learning how to manage tasks efficiently through the two-week sprint structure.</p><p>With the technical foundation in place, I moved on to backend development and enterprise data workflows. I focused on writing robust backend logic capable of handling complex business processes and designing REST APIs&#xA0;to facilitate smooth communication across application layers. Integrating these backend components into a cohesive system taught me to think in terms of system architecture and data flow management, reinforcing how enterprise applications are designed for scalability, reliability, and maintainability. By the end of this month, I felt confident tackling enterprise-level backend challenges and understood how backend services support the overall functionality of large-scale applications.</p><p>The third month emphasized full-stack development and integration. I shifted my focus to building interactive, responsive frontends and connecting them to the backend APIs I had developed. Testing and refining the end-to-end workflows gave me a clear view of how all components of an application come together to create a seamless user experience. This stage&#xA0;reinforced my understanding of full-stack development and highlighted the importance of integration and user-focused design in enterprise applications. By seeing how each part of the system interacts, I gained hands-on experience in managing complexity in a way that mirrors real-world professional environments.</p><p>The final month introduced enterprise DevOps practices, ensuring the applications we built could be deployed and maintained reliably. I learned how to package applications with containerization&#xA0;for consistent environments, deploy and manage them at scale using Kubernetes, and automate testing and deployment through CI/CD pipelines. This phase enhanced my skills in&#xA0;automation, deployment, and scalable system management&#xA0;, all essential for enterprise software development. It also demonstrated how modern development workflows rely on collaboration between developers, operations, and continuous delivery systems to maintain reliability in production environments.</p><p><strong>Takeaways</strong></p><p>The program provided an invaluable start to my career, equipping me with both the technical expertise and professional skills required in real-world software development. I am now&#xA0;confident&#xA0;to approach&#xA0;other&#xA0;challenges,&#xA0;and continuously improve in a professional environment.&#xA0;</p>]]></content:encoded></item><item><title><![CDATA[Elevating Code Quality with SonarQube at dvloper.io]]></title><description><![CDATA[<p>At dvloper.io, we believe that code quality is not just a nice-to-have. It is the foundation of sustainable software development. As our portfolio grew to include complex platforms like JIRA AI, NationalHR, and Backstage.io, we faced a common challenge: how do we maintain consistent code quality standards across</p>]]></description><link>https://blog.dvloper.io/elevating-code-quality-with-sonarqube-at-dvloper/</link><guid isPermaLink="false">6992fab510a5e00001af6205</guid><dc:creator><![CDATA[Gabriel Cosmin Bilciurescu]]></dc:creator><pubDate>Mon, 16 Feb 2026 11:09:21 GMT</pubDate><media:content url="https://blog.dvloper.io/content/images/2026/02/lo-1.jpeg" medium="image"/><content:encoded><![CDATA[<img src="https://blog.dvloper.io/content/images/2026/02/lo-1.jpeg" alt="Elevating Code Quality with SonarQube at dvloper.io"><p>At dvloper.io, we believe that code quality is not just a nice-to-have. It is the foundation of sustainable software development. As our portfolio grew to include complex platforms like JIRA AI, NationalHR, and Backstage.io, we faced a common challenge: how do we maintain consistent code quality standards across diverse teams and technologies?</p><p>SonarQube became our answer, a powerful static code analysis platform that has transformed how we approach quality assurance. In this article, I will share our journey of implementing SonarQube across multiple projects and the lessons we have learned along the way.</p><p><strong>The Challenge: Scaling Quality in Microservices</strong></p><p>Our flagship project, JIRA AI, is a multi-module Spring Boot microservices application comprising several interconnected services: a core REST API backend, Kafka message producers and consumers, shared utility libraries, and a React frontend. Each module has its own complexity, dependencies, and potential for technical debt.</p><p>Similarly, our work on NationalHR and our contributions to Backstage.io required a unified approach to quality that could scale with our ambitions. We needed a solution that would provide consistent standards without stifling the unique requirements of each project.</p><p><strong>Our Configuration Strategy</strong></p><p>The key to our successful SonarQube implementation lies in a multi-layered configuration hierarchy. At the root of each project, we define core properties: unified project identification, quality gate integration that ensures pipeline failures on violations, and secure environment-based token management. This centralized approach guarantees that all modules inherit the same baseline standards.</p><p>Each service module then maintains its own configuration for granular control, including targeted source and test directory mapping, Java version alignment per module requirements, intelligent exclusions for generated code and configuration files, and seamless JaCoCo test coverage integration. We maintain a minimum 80% test coverage threshold across all projects, which has significantly reduced our production bug rate.</p><p><strong>CI/CD Pipeline Integration</strong></p><p>For JIRA AI, NationalHR, and our other projects, we have implemented sophisticated three-stage GitLab CI pipelines covering build, SonarQube analysis, and deployment. Our configuration features intelligent caching for Maven dependencies and SonarQube results, full Git history access for accurate blame information, and branch-specific analysis with different rules for protected versus feature branches.</p><p>A crucial design decision was setting our SonarQube analysis to non-blocking mode. Quality issues are surfaced and tracked without preventing deployments, empowering teams to make informed decisions while maintaining delivery velocity.</p><p><strong>The Benefits We Have Realized</strong></p><p><strong>Automated Quality Gates:&#xA0;</strong>Our quality gates prevent technical debt accumulation by catching issues early. Across all projects, we have seen a measurable reduction in production incidents and maintain code duplication below 3%.</p><p><strong>Enhanced Security:&#xA0;</strong>SonarQube&apos;s vulnerability scanning helps us identify and remediate security issues before production. The OWASP compliance features provide actionable guidance for our security-conscious development practices.</p><p><strong>Developer Productivity:&#xA0;</strong>With IDE integration and real-time feedback during development, our teams catch issues before they even commit code. Pull request analysis provides automated quality feedback, significantly reducing code review burden.</p><p><strong>Lessons Learned</strong></p><p><strong>Strategic Exclusions Matter:&#xA0;</strong>Do not analyze everything. Exclude generated code, configuration files, and model/DTO classes from duplication detection. This focuses your quality metrics on code that actually matters.</p><p><strong>Start with Reasonable Thresholds:&#xA0;</strong>We began with achievable quality gate thresholds and gradually tightened them as our codebase improved. This prevented team frustration while still driving continuous improvement.</p><p><strong>Leverage Caching:&#xA0;</strong>Our caching strategy for both Maven dependencies and SonarQube analysis results significantly reduced pipeline execution times, which is essential for maintaining fast feedback loops.</p><p><strong>Conclusion</strong></p><p>Implementing SonarQube across JIRA AI, NationalHR, Backstage.io, and our other projects at dvloper.io has been transformative. By combining automated analysis, comprehensive coverage reporting, and seamless CI/CD integration, we have established a culture of quality that scales with our growth.</p><p>The multi-module configuration approach provides both unified oversight and granular control, which is essential for enterprise-grade applications. If you are looking to elevate your code quality practices, I encourage you to explore SonarQube. The investment in setup pays dividends in reduced bugs, improved security, and happier developers.</p><p>Have questions about our SonarQube implementation? Reach out to us at dvloper.io. We are always happy to share our experiences with the developer community.</p><p><strong>About the Author:&#xA0;</strong>Bilciurescu Gabriel is a software engineer at dvloper.io, where he focuses on building scalable microservices architectures and implementing DevOps best practices.</p>]]></content:encoded></item><item><title><![CDATA[Retrospective on the ESTEEC Olympics Hackathon]]></title><description><![CDATA[<p>The <strong>ESTEEC Olympics Hackathon</strong> has officially concluded, and the results were nothing short of impressive.</p><p>While the energy of a hackathon is often about the &quot;game&quot;, this event was rooted in a much larger mission. It served as a promotional platform for the <strong>Cyberguard project</strong>&#x2014;a major</p>]]></description><link>https://blog.dvloper.io/retrospective-on-the-esteec-olympics-hackathon/</link><guid isPermaLink="false">69281d0fa25b1b00013f06ed</guid><dc:creator><![CDATA[Dvloper Blog]]></dc:creator><pubDate>Thu, 27 Nov 2025 09:44:13 GMT</pubDate><media:content url="https://blog.dvloper.io/content/images/2025/11/data-src-image-a86588ff-48b6-47fb-a4f7-e0faabfe12d5-1.jpeg" medium="image"/><content:encoded><![CDATA[<img src="https://blog.dvloper.io/content/images/2025/11/data-src-image-a86588ff-48b6-47fb-a4f7-e0faabfe12d5-1.jpeg" alt="Retrospective on the ESTEEC Olympics Hackathon"><p>The <strong>ESTEEC Olympics Hackathon</strong> has officially concluded, and the results were nothing short of impressive.</p><p>While the energy of a hackathon is often about the &quot;game&quot;, this event was rooted in a much larger mission. It served as a promotional platform for the <strong>Cyberguard project</strong>&#x2014;a major European initiative where our team holds key development responsibilities.</p><h2 id="the-cyberguard-connection">The Cyberguard Connection</h2><p>Cyberguard (funded by the European Commission&#x2019;s Digital Europe Programme) is dedicated to <strong>&quot;Fortifying SOCs Against Evolving Cyber Threats.&quot;</strong> Our day-to-day work in this project involves developing advanced AI-driven technologies to protect critical infrastructure&#x2014;spanning energy, finance, and healthcare&#x2014;from sophisticated attacks.</p><p>We wanted this hackathon to mirror that level of technical rigor. The goal wasn&apos;t just to &quot;spread awareness&quot;, but to showcase the intense engineering reality of modern cybersecurity. We challenged participants to step into the shoes of the developers building the next generation of Security Operation Centers (SOCs).</p><h2 id="the-challenge-aiml-siem-for-pos-fraud">The Challenge: AI/ML SIEM for POS Fraud</h2><p>We tasked the teams with a highly specific, real-world problem: <strong>Building a custom SIEM (Security Information and Event Management) system for Point of Sale (POS) fraud detection.</strong></p><p>Participants had to ingest a continuous, high-velocity data stream, analyze it for anomalies, and visualize threats in real-time.</p><h2 id="engineering-under-pressure">Engineering Under Pressure</h2><p>To simulate the critical nature of the systems we build at Cyberguard, we introduced strict constraints:</p><ul><li><strong>30-second live checker:</strong> Security is time-sensitive. Once an event hit the stream, teams had exactly 30 seconds to detect the fraud and report it. This forced them to prioritize low-latency architecture over sluggish, heavy processing.</li><li><strong>Real Logic vs. Wrappers:</strong> We explicitly banned the &quot;lazy&quot; use of LLMs (simply sending data to a prompt). We demanded genuine algorithmic creativity, hybrid models and custom heuristics that demonstrated true engineering expertise.</li></ul><h2 id="from-data-to-decisions">From data to decisions</h2><p>On top of the AI models creation, the hackathon teams delivered on this front with robust dashboards that answered critical business questions instantly:</p><ul><li>What are the top 5 active fraud patterns?</li><li>Which age demographics are being targeted right now?</li><li>How does the current alert volume compare to previous hours?</li></ul><h2 id="summary">Summary</h2><p>This event was a successful extension of our work with Cyberguard. By bringing the complexity of critical infrastructure defense to a hackathon format, we didn&apos;t just promote the project&#x2014;we highlighted the vital importance of integrating AI and machine learning into the fabric of our digital security.</p><p>Congratulations to the winners, and thank you for helping us demonstrate what it takes to truly guard the grid.</p><figure class="kg-card kg-image-card"><img src="https://blog.dvloper.io/content/images/2025/11/data-src-image-a86588ff-48b6-47fb-a4f7-e0faabfe12d5.jpeg" class="kg-image" alt="Retrospective on the ESTEEC Olympics Hackathon" loading="lazy" width="1280" height="854" srcset="https://blog.dvloper.io/content/images/size/w600/2025/11/data-src-image-a86588ff-48b6-47fb-a4f7-e0faabfe12d5.jpeg 600w, https://blog.dvloper.io/content/images/size/w1000/2025/11/data-src-image-a86588ff-48b6-47fb-a4f7-e0faabfe12d5.jpeg 1000w, https://blog.dvloper.io/content/images/2025/11/data-src-image-a86588ff-48b6-47fb-a4f7-e0faabfe12d5.jpeg 1280w" sizes="(min-width: 720px) 720px"></figure><figure class="kg-card kg-image-card"><img src="https://blog.dvloper.io/content/images/2025/11/data-src-image-c3d42593-b3b2-409e-9aa7-759a48d9aac5.jpeg" class="kg-image" alt="Retrospective on the ESTEEC Olympics Hackathon" loading="lazy" width="1600" height="1067" srcset="https://blog.dvloper.io/content/images/size/w600/2025/11/data-src-image-c3d42593-b3b2-409e-9aa7-759a48d9aac5.jpeg 600w, https://blog.dvloper.io/content/images/size/w1000/2025/11/data-src-image-c3d42593-b3b2-409e-9aa7-759a48d9aac5.jpeg 1000w, https://blog.dvloper.io/content/images/2025/11/data-src-image-c3d42593-b3b2-409e-9aa7-759a48d9aac5.jpeg 1600w" sizes="(min-width: 720px) 720px"></figure>]]></content:encoded></item><item><title><![CDATA[The AiRo project - winner of the NASA Space Apps Challenge 2025]]></title><description><![CDATA[<p>We&#x2019;re proud to share that several members of our team won the <strong>NASA Space Apps Challenge 2025</strong>,&#xA0; the world&#x2019;s largest global hackathon for innovation using NASA data.</p><p>Their project, <strong>AiRo</strong>, stood out for its bold approach to one of the most pressing issues of our</p>]]></description><link>https://blog.dvloper.io/the-airo-project-winner-of-the-nasa-space-apps-challenge-2025-2/</link><guid isPermaLink="false">69008b9aff0a6600018fcdab</guid><dc:creator><![CDATA[Dvloper Blog]]></dc:creator><pubDate>Tue, 28 Oct 2025 09:29:02 GMT</pubDate><media:content url="https://blog.dvloper.io/content/images/2025/10/Fje7QZaWIBU5I6y.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://blog.dvloper.io/content/images/2025/10/Fje7QZaWIBU5I6y.jpg" alt="The AiRo project - winner of the NASA Space Apps Challenge 2025"><p>We&#x2019;re proud to share that several members of our team won the <strong>NASA Space Apps Challenge 2025</strong>,&#xA0; the world&#x2019;s largest global hackathon for innovation using NASA data.</p><p>Their project, <strong>AiRo</strong>, stood out for its bold approach to one of the most pressing issues of our time: <strong>air quality management</strong>.</p><h3 id="what-airo-does"><strong>What AiRo Does</strong></h3><p><strong>AiRo</strong> automates industrial air quality management by combining <strong>NASA TEMPO satellite data</strong> with <strong>AI-powered infrastructure analysis</strong>.</p><p>Traditionally, companies rely on manual environmental consulting - a process that can cost over <strong>&#x20AC;57,000 per year</strong>. AiRo replaces this with automated, real-time monitoring and reporting for about <strong>&#x20AC;10,800 annually</strong>, helping organizations save <strong>around &#x20AC;47,000 per year</strong> while improving environmental compliance and community safety.</p><h3 id="the-challenge-it-solves"><strong>The Challenge It Solves</strong></h3><p>According to the <strong>World Health Organization</strong>, 99% of people worldwide breathe polluted air. Many organizations still operate reactively - responding to pollution exceedances only after they happen.</p><p>AiRo changes that. It shifts industrial facilities from <strong>reactive compliance</strong> to <strong>proactive prevention</strong> by continuously analyzing air quality, infrastructure context, and risk factors around industrial sites.</p><p>When air pollution levels exceed thresholds, AiRo doesn&#x2019;t just send alerts - it can <strong>call managers directly</strong> through AI-powered voice notifications to ensure immediate action.</p><h3 id="how-it-works"><strong>How It Works</strong></h3><ol><li><strong>Infrastructure Analysis</strong> &#x2013; Uses OpenStreetMap and OpenAI Vision to understand the facility&#x2019;s surroundings: roads, schools, hospitals, and building density.</li><li><strong>Environmental Data Integration</strong> &#x2013; Combines NASA TEMPO satellite data (NO&#x2082;, HCHO, O&#x2083;, AQI) with local measurements and weather data.</li><li><strong>Contextual Risk Assessment</strong> &#x2013; Models how pollutants move and affect surrounding communities.</li><li><strong>AI Mitigation Planning</strong> &#x2013; Multi-agent AI systems recommend short-, medium-, and long-term actions with cost-benefit analyses.</li><li><strong>Automated Reporting</strong> &#x2013; Generates both detailed Markdown reports and executive PowerPoint presentations.</li><li><strong>Proactive Alerts</strong> &#x2013; Delivers dashboard notifications and <strong>AI-initiated phone calls</strong> when pollution thresholds are exceeded.</li></ol><h3 id="the-impact"><strong>The Impact</strong></h3><p>For <strong>organizations</strong>, AiRo means: &#x2013; Lower compliance costs and fewer consultant hours &#x2013; Prevention of violations, fines, and permit delays &#x2013; Access to data that supports grant and tax credit applications</p><p>For <strong>communities</strong>, it means: &#x2013; Cleaner air &#x2013; Reduced health risks &#x2013; Transparent, accessible air quality information</p><p>AiRo demonstrates how <strong>AI, automation, and NASA open data</strong> can come together to protect both the environment and the economy.</p><h3 id="built-by-the-team-at-dvloperio"><strong>Built by the Team at dvloper.io</strong></h3><p>The project reflects our team&#x2019;s engineering philosophy: <strong>solve real problems with clarity and precision</strong>.</p><p>AiRo&#x2019;s technical stack includes <strong>React</strong>, <strong>FastAPI</strong>, <strong>Kubernetes (K3s)</strong>, <strong>Longhorn distributed storage</strong>, and <strong>Keycloak SSO</strong>, running on <strong>Hetzner servers</strong> for scalability and performance. Its AI agents leverage <strong>OpenAI GPT-5</strong>, <strong>OpenAI Vision</strong>, and <strong>Retell AI</strong> for data analysis, visual interpretation, and natural-language phone alerts &#x2014; proving that AI can be both <strong>intelligent and actionable</strong>.</p><h3 id="why-this-matters"><strong>Why This Matters</strong></h3><p>Winning NASA Space Apps isn&#x2019;t just about recognition. It&#x2019;s about validation that <strong>deep tech can create measurable environmental and social impact</strong>.</p><p>AiRo helps industries become cleaner, smarter, and more responsible and we&#x2019;re proud of our people who were behind it!</p><p><strong>Explore the Project</strong></p><p>&#x1F30D; <strong>NASA: <a href="https://www.spaceappschallenge.org/2025/find-a-team/airo/?tab=project&amp;ref=blog.dvloper.io">Project Presentation</a></strong></p><p>&#xA0;&#x1F4C4; <strong>Project Report:<a href="https://1drv.ms/b/c/d180a4b6da2e219c/ESH98z8RO81IhmBWcHN-NUYBvSKyGqwFNBTLBUJLEJbVNg?e=v9ppyx&amp;ref=blog.dvloper.io"> View Presentation</a></strong></p><p>&#xA0;&#x1F4BB; <strong>GitLab Repository:<a href="https://gitlab.com/airo7375940?ref=blog.dvloper.io"> AiRo on GitLab</a></strong></p><p><strong>At dvloper.io</strong>, we believe great systems are never built in isolation.They&#x2019;re built by teams who see complexity as an invitation to innovate.</p><p>Congratulations, Bilciurescu Gabriel-Cosmin, Burea Mihai-Ovidiu, Mitran Andrei-Gabriel, Bazga Mihai-Carol, Pasaroiu Mihai! You did it!</p><p>Clarity. Collaboration. Code that matters.<br></p>]]></content:encoded></item></channel></rss>