{"id":11,"date":"2026-05-04T15:39:33","date_gmt":"2026-05-04T15:39:33","guid":{"rendered":"https:\/\/mladenovic.at\/?page_id=11"},"modified":"2026-05-04T15:39:33","modified_gmt":"2026-05-04T15:39:33","slug":"home","status":"publish","type":"page","link":"https:\/\/mladenovic.at\/?page_id=11","title":{"rendered":"Home"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"11\" class=\"elementor elementor-11\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8c37dd8 e-flex e-con-boxed e-con e-parent\" data-id=\"8c37dd8\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-61c861c e-con-full e-flex e-con e-child\" data-id=\"61c861c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7459e6b elementor-widget elementor-widget-html\" data-id=\"7459e6b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- WIDGET 1: Matrix Loader + Navigation \u2014 \u00d6FFNET .dm Wrapper -->\n<div class=\"dm\">\n\n<!-- Matrix Loader -->\n<div class=\"dm-loader\" id=\"dmLoader\">\n  <canvas id=\"dmMatrix\"><\/canvas>\n  <div class=\"dm-loader-center\">\n    <div class=\"dm-loader-name\">MLADENOVIC.AT<\/div>\n    <div class=\"dm-loader-bar\"><div class=\"dm-loader-fill\" id=\"dmFill\"><\/div><\/div>\n    <div class=\"dm-loader-pct\" id=\"dmPct\">0%<\/div>\n  <\/div>\n<\/div>\n\n<!-- Progress Bar -->\n<div class=\"dm-prog\" id=\"dmProg\"><\/div>\n\n<!-- Navigation -->\n<nav class=\"dm-nav\" id=\"dmNav\">\n  <span class=\"dm-nav-id\"><span>~\/<\/span>dejan.mladenovic<\/span>\n  <div class=\"dm-nav-links\">\n    <a href=\"#stack\">stack<\/a>\n    <a href=\"#projects\">projects<\/a>\n    <a href=\"#xp\">experience<\/a>\n    <a href=\"#about\">about<\/a>\n    <a href=\"#contact\">contact<\/a>\n  <\/div>\n  <span class=\"dm-nav-status\">\n    <span class=\"dm-status-dot\"><\/span>vienna \u00b7 austria\n  <\/span>\n  <button class=\"dm-ham\" id=\"dmHam\" aria-label=\"Menu\">\n    <span><\/span><span><\/span><span><\/span>\n  <\/button>\n<\/nav>\n\n<!-- Mobile Menu -->\n<div class=\"dm-mm\" id=\"dmMM\">\n  <a href=\"#stack\" onclick=\"dmCM()\">stack<\/a>\n  <a href=\"#projects\" onclick=\"dmCM()\">projects<\/a>\n  <a href=\"#xp\" onclick=\"dmCM()\">experience<\/a>\n  <a href=\"#about\" onclick=\"dmCM()\">about<\/a>\n  <a href=\"#contact\" onclick=\"dmCM()\">contact<\/a>\n<\/div>\n\n<script>\n(function(){\n\n  \/* \u2500\u2500\u2500 Matrix Rain Loader \u2500\u2500\u2500 *\/\n  var canvas = document.getElementById('dmMatrix');\n  var ctx = canvas.getContext('2d');\n  var W, H, cols, drops;\n  var chars = '\u30a2\u30a4\u30a6\u30a8\u30aa\u30ab\u30ad\u30af\u30b1\u30b3\u30b5\u30b7\u30b9\u30bb\u30bd\u30bf\u30c1\u30c4\u30c6\u30c8\u30ca\u30cb\u30cc\u30cd\u30ce\u30cf\u30d2\u30d5\u30d8\u30db\u30de\u30df\u30e0\u30e1\u30e2\u30e4\u30e6\u30e8\u30e9\u30ea\u30eb\u30ec\u30ed\u30ef\u30f2\u30f30123456789ABCDEF'.split('');\n  var fontSize = 13;\n\n  function initMatrix(){\n    W = canvas.width = window.innerWidth;\n    H = canvas.height = window.innerHeight;\n    cols = Math.floor(W \/ fontSize);\n    drops = [];\n    for(var i = 0; i < cols; i++) drops[i] = Math.random() * -50;\n  }\n  initMatrix();\n  window.addEventListener('resize', initMatrix);\n\n  function drawMatrix(){\n    ctx.fillStyle = 'rgba(0,0,0,0.05)';\n    ctx.fillRect(0,0,W,H);\n    for(var i = 0; i < drops.length; i++){\n      var ch = chars[Math.floor(Math.random()*chars.length)];\n      var y = drops[i] * fontSize;\n      \/\/ bright head\n      ctx.fillStyle = '#afffcf';\n      ctx.font = fontSize + 'px monospace';\n      ctx.fillText(ch, i*fontSize, y);\n      \/\/ body\n      ctx.fillStyle = 'rgba(74,240,160,0.6)';\n      ctx.fillText(ch, i*fontSize, y - fontSize);\n      if(y > H && Math.random() > 0.975) drops[i] = 0;\n      drops[i] += 0.5;\n    }\n  }\n\n  var matrixInterval = setInterval(drawMatrix, 33);\n\n  \/* \u2500\u2500\u2500 Loader Progress \u2500\u2500\u2500 *\/\n  var fill = document.getElementById('dmFill');\n  var pct = document.getElementById('dmPct');\n  var progress = 0;\n  var interval = setInterval(function(){\n    progress += Math.random() * 4 + 1;\n    if(progress >= 100){ progress = 100; clearInterval(interval); }\n    fill.style.width = progress + '%';\n    pct.textContent = Math.floor(progress) + '%';\n  }, 40);\n\n  window.addEventListener('load', function(){\n    setTimeout(function(){\n      var l = document.getElementById('dmLoader');\n      if(l) l.classList.add('done');\n      clearInterval(matrixInterval);\n    }, 2000);\n  });\n\n  \/* \u2500\u2500\u2500 Progress Bar on Scroll \u2500\u2500\u2500 *\/\n  window.addEventListener('scroll', function(){\n    var h = document.documentElement.scrollHeight - window.innerHeight;\n    var p = document.getElementById('dmProg');\n    if(p && h > 0) p.style.width = (window.scrollY \/ h * 100) + '%';\n  });\n\n  \/* \u2500\u2500\u2500 Mobile Menu \u2500\u2500\u2500 *\/\n  var ham = document.getElementById('dmHam');\n  var mm = document.getElementById('dmMM');\n  window.dmCM = function(){\n    if(ham) ham.classList.remove('open');\n    if(mm) mm.classList.remove('open');\n    document.body.style.overflow = '';\n  };\n  if(ham) ham.addEventListener('click', function(){\n    ham.classList.toggle('open');\n    mm.classList.toggle('open');\n    document.body.style.overflow = mm.classList.contains('open') ? 'hidden' : '';\n  });\n\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0ed2f44 e-con-full e-flex e-con e-child\" data-id=\"0ed2f44\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fe31ffa elementor-widget elementor-widget-html\" data-id=\"fe31ffa\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- WIDGET 2: Hero -->\n<div class=\"dm-page\">\n  <section class=\"dm-hero dm-section first\">\n    <div class=\"dm-wrap\">\n      <div class=\"dm-hero-grid\">\n        <div>\n          <div class=\"dm-hero-badge\">systems engineer \u00b7 devops \u00b7 infrastructure<\/div>\n          <h1 class=\"dm-h1\"><span class=\"lo\">Dejan<\/span><br><span class=\"hi\">Mladenovi\u0107<\/span><\/h1>\n          <p class=\"dm-hero-sub\">\n            I build, automate, and secure infrastructure.<br>\n            From bare-metal clusters to cloud platforms \u2014<br>\n            I make complex systems work reliably.\n          <\/p>\n          <div class=\"dm-hero-cta\">\n            <a href=\"#projects\" class=\"dm-btn-p\">SEE PROJECTS<\/a>\n            <a href=\"#stack\" class=\"dm-btn-o\">TECH STACK<\/a>\n            <a href=\"#contact\" class=\"dm-btn-o\">CONTACT<\/a>\n          <\/div>\n        <\/div>\n        <div class=\"dm-term\">\n          <div class=\"dm-term-bar\">\n            <div class=\"dm-td\" style=\"background:#ff5f57\"><\/div>\n            <div class=\"dm-td\" style=\"background:#febc2e\"><\/div>\n            <div class=\"dm-td\" style=\"background:#28c840\"><\/div>\n          <\/div>\n          <div class=\"dm-term-body\">\n            <div><span class=\"dm-tp\">dejan@mladenovic.at<\/span><span class=\"dm-tpath\">:~$<\/span><span class=\"dm-tcmd\"> whoami<\/span><\/div>\n            <div class=\"dm-tout\" style=\"margin-bottom:10px\">Systems Engineer \u00b7 DevOps \u00b7 Vienna \ud83c\udde6\ud83c\uddf9<\/div>\n            <div><span class=\"dm-tp\">$<\/span><span class=\"dm-tcmd\"> cat expertise.yaml<\/span><\/div>\n            <div style=\"margin:6px 0 10px 0\">\n              <div><span class=\"dm-tkey\">infra<\/span><span class=\"dm-tout\">:    <\/span><span class=\"dm-tval\">Proxmox \u00b7 Linux \u00b7 Docker<\/span><\/div>\n              <div><span class=\"dm-tkey\">cloud<\/span><span class=\"dm-tout\">:    <\/span><span class=\"dm-tval\">Azure \u00b7 GCP \u00b7 M365 \u00b7 Intune<\/span><\/div>\n              <div><span class=\"dm-tkey\">power<\/span><span class=\"dm-tout\">:    <\/span><span class=\"dm-tval\">Power BI \u00b7 Apps \u00b7 Automate<\/span><\/div>\n              <div><span class=\"dm-tkey\">auto<\/span><span class=\"dm-tout\">:     <\/span><span class=\"dm-tval\">Airflow \u00b7 Python \u00b7 Bash<\/span><\/div>\n              <div><span class=\"dm-tkey\">monitor<\/span><span class=\"dm-tout\">:  <\/span><span class=\"dm-tval\">Zabbix \u00b7 Centreon \u00b7 Grafana<\/span><\/div>\n              <div><span class=\"dm-tkey\">itsm<\/span><span class=\"dm-tout\">:     <\/span><span class=\"dm-tval\">Jira \u00b7 JSM \u00b7 ServiceWare<\/span><\/div>\n              <div><span class=\"dm-tkey\">analytics<\/span><span class=\"dm-tout\"> <\/span><span class=\"dm-tval\">GA4 \u00b7 GTM \u00b7 GDPR<\/span><\/div>\n              <div><span class=\"dm-tkey\">sec<\/span><span class=\"dm-tout\">:      <\/span><span class=\"dm-tval\">AD \u00b7 OAuth2 \u00b7 RBAC \u00b7 PAM<\/span><\/div>\n              <div><span class=\"dm-tkey\">web<\/span><span class=\"dm-tout\">:      <\/span><span class=\"dm-tval\">WordPress \u00b7 Elementor \u00b7 CMS<\/span><\/div>\n            <\/div>\n            <div><span class=\"dm-tp\">$<\/span><span class=\"dm-tcmd\"> uptime<\/span><\/div>\n            <div class=\"dm-tout\">building things that matter.<\/div>\n            <div style=\"margin-top:8px\"><span class=\"dm-tp\">$<\/span> <span class=\"dm-tcursor\"><\/span><\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-89939b3 e-con-full e-flex e-con e-child\" data-id=\"89939b3\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-407ceb8 elementor-widget elementor-widget-html\" data-id=\"407ceb8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- WIDGET 3: Stack \/ Capabilities -->\n<div class=\"dm-page\">\n  <section id=\"stack\" class=\"dm-section\">\n    <div class=\"dm-wrap\">\n      <p class=\"dm-slabel\">capabilities<\/p>\n      <h2 class=\"dm-h2\">full stack \u00b7 systems<\/h2>\n      <div class=\"dm-domains\">\n\n        <div class=\"dm-domain dm-d-a\">\n          <div class=\"dm-d-cat\" style=\"color:var(--accent)\">INFRASTRUCTURE<\/div>\n          <div class=\"dm-d-title\">Virtualisation & Linux<\/div>\n          <div class=\"dm-tags\">\n            <span class=\"dm-tag\">Proxmox VE<\/span><span class=\"dm-tag\">LXC \/ KVM<\/span><span class=\"dm-tag\">Debian<\/span><span class=\"dm-tag\">Ubuntu<\/span><span class=\"dm-tag\">Fedora<\/span><span class=\"dm-tag\">Docker<\/span><span class=\"dm-tag\">NFS<\/span><span class=\"dm-tag\">systemd<\/span>\n          <\/div>\n        <\/div>\n\n        <div class=\"dm-domain dm-d-b\">\n          <div class=\"dm-d-cat\" style=\"color:var(--accent2)\">CLOUD & M365<\/div>\n          <div class=\"dm-d-title\">Azure \u00b7 GCP \u00b7 M365 \u00b7 Intune<\/div>\n          <div class=\"dm-tags\">\n            <span class=\"dm-tag\">Azure Monitor<\/span><span class=\"dm-tag\">AMA \/ Arc<\/span><span class=\"dm-tag\">Intune MDM<\/span><span class=\"dm-tag\">M365 Admin<\/span><span class=\"dm-tag\">SharePoint<\/span><span class=\"dm-tag\">Exchange\/EWS<\/span><span class=\"dm-tag\">GCP Console<\/span><span class=\"dm-tag\">Maps API<\/span>\n          <\/div>\n        <\/div>\n\n        <div class=\"dm-domain dm-d-i\">\n          <div class=\"dm-d-cat\" style=\"color:#ff80ff\">POWER PLATFORM<\/div>\n          <div class=\"dm-d-title\">Power BI \u00b7 Apps \u00b7 Automate<\/div>\n          <div class=\"dm-tags\">\n            <span class=\"dm-tag\">Power BI<\/span><span class=\"dm-tag\">Power Apps<\/span><span class=\"dm-tag\">Power Automate<\/span><span class=\"dm-tag\">Dataverse<\/span><span class=\"dm-tag\">Flow Automation<\/span>\n          <\/div>\n        <\/div>\n\n        <div class=\"dm-domain dm-d-c\">\n          <div class=\"dm-d-cat\" style=\"color:var(--warn)\">AUTOMATION<\/div>\n          <div class=\"dm-d-title\">Pipelines & Workflows<\/div>\n          <div class=\"dm-tags\">\n            <span class=\"dm-tag\">Apache Airflow 3<\/span><span class=\"dm-tag\">Python<\/span><span class=\"dm-tag\">Bash<\/span><span class=\"dm-tag\">REST APIs<\/span><span class=\"dm-tag\">EWS<\/span><span class=\"dm-tag\">SharePoint API<\/span>\n          <\/div>\n        <\/div>\n\n        <div class=\"dm-domain dm-d-g\">\n          <div class=\"dm-d-cat\" style=\"color:#40f0d0\">MONITORING & OPS<\/div>\n          <div class=\"dm-d-title\">Zabbix \u00b7 Centreon \u00b7 Grafana<\/div>\n          <div class=\"dm-tags\">\n            <span class=\"dm-tag\">Zabbix<\/span><span class=\"dm-tag\">Centreon<\/span><span class=\"dm-tag\">Grafana<\/span><span class=\"dm-tag\">Prometheus<\/span><span class=\"dm-tag\">Uptime Kuma<\/span><span class=\"dm-tag\">Azure Monitor<\/span>\n          <\/div>\n        <\/div>\n\n        <div class=\"dm-domain dm-d-d\">\n          <div class=\"dm-d-cat\" style=\"color:var(--pink)\">SECURITY & IAM<\/div>\n          <div class=\"dm-d-title\">Zero-Trust \u00b7 AD \u00b7 PAM<\/div>\n          <div class=\"dm-tags\">\n            <span class=\"dm-tag\">Active Directory<\/span><span class=\"dm-tag\">OAuth2<\/span><span class=\"dm-tag\">LDAP<\/span><span class=\"dm-tag\">Kerberos<\/span><span class=\"dm-tag\">RBAC<\/span><span class=\"dm-tag\">Authelia<\/span><span class=\"dm-tag\">Vauntra<\/span>\n          <\/div>\n        <\/div>\n\n        <div class=\"dm-domain dm-d-e\">\n          <div class=\"dm-d-cat\" style=\"color:#a0a0ff\">ITSM & PLATFORMS<\/div>\n          <div class=\"dm-d-title\">Jira \u00b7 JSM \u00b7 Confluence<\/div>\n          <div class=\"dm-tags\">\n            <span class=\"dm-tag\">Jira Software<\/span><span class=\"dm-tag\">JSM Admin<\/span><span class=\"dm-tag\">Confluence<\/span><span class=\"dm-tag\">Jira Automation<\/span><span class=\"dm-tag\">ServiceWare<\/span><span class=\"dm-tag\">Drupal<\/span>\n          <\/div>\n        <\/div>\n\n        <div class=\"dm-domain dm-d-f\">\n          <div class=\"dm-d-cat\" style=\"color:#f07840\">WEB & CMS<\/div>\n          <div class=\"dm-d-title\">WordPress \u00b7 Elementor<\/div>\n          <div class=\"dm-tags\">\n            <span class=\"dm-tag\">WordPress<\/span><span class=\"dm-tag\">Elementor<\/span><span class=\"dm-tag\">Block Themes<\/span><span class=\"dm-tag\">Custom CSS\/JS<\/span><span class=\"dm-tag\">HTML\/CSS<\/span><span class=\"dm-tag\">SEO<\/span>\n          <\/div>\n        <\/div>\n\n        <div class=\"dm-domain dm-d-k\" style=\"grid-column:span 2\">\n          <div class=\"dm-d-cat\" style=\"color:#ffd24a\">ANALYTICS & GDPR<\/div>\n          <div class=\"dm-d-title\">Tracking \u00b7 Tag Manager \u00b7 DSGVO Compliance<\/div>\n          <div class=\"dm-tags\">\n            <span class=\"dm-tag\">Google Analytics 4<\/span><span class=\"dm-tag\">Google Tag Manager<\/span><span class=\"dm-tag\">Consent Mode v2<\/span><span class=\"dm-tag\">Cookie Banner<\/span><span class=\"dm-tag\">Cookiebot<\/span><span class=\"dm-tag\">Borlabs Cookie<\/span><span class=\"dm-tag\">GDPR \/ DSGVO<\/span><span class=\"dm-tag\">Conversion Tracking<\/span>\n          <\/div>\n        <\/div>\n\n        <div class=\"dm-domain dm-d-h\" style=\"grid-column:span 2\">\n          <div class=\"dm-d-cat\" style=\"color:#c0f040\">NETWORKING<\/div>\n          <div class=\"dm-d-title\">Zero-Trust \u00b7 Reverse Proxy \u00b7 DNS<\/div>\n          <div class=\"dm-tags\">\n            <span class=\"dm-tag\">Traefik<\/span><span class=\"dm-tag\">Tailscale<\/span><span class=\"dm-tag\">Cloudflare Tunnel<\/span><span class=\"dm-tag\">AdGuard DNS<\/span><span class=\"dm-tag\">WireGuard<\/span><span class=\"dm-tag\">VPN<\/span><span class=\"dm-tag\">Cloudflared<\/span>\n          <\/div>\n        <\/div>\n\n        <div class=\"dm-domain dm-d-j\" style=\"grid-column:span 2\">\n          <div class=\"dm-d-cat\" style=\"color:#80ffff\">DEVELOPMENT<\/div>\n          <div class=\"dm-d-title\">Go \u00b7 React \u00b7 Python \u00b7 Electron<\/div>\n          <div class=\"dm-tags\">\n            <span class=\"dm-tag\">Go<\/span><span class=\"dm-tag\">Python<\/span><span class=\"dm-tag\">React \/ Next.js<\/span><span class=\"dm-tag\">PostgreSQL<\/span><span class=\"dm-tag\">MinIO \/ S3<\/span><span class=\"dm-tag\">Apache Guacamole<\/span><span class=\"dm-tag\">Electron<\/span><span class=\"dm-tag\">REST API Design<\/span><span class=\"dm-tag\">Git<\/span>\n          <\/div>\n        <\/div>\n\n      <\/div>\n    <\/div>\n  <\/section>\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9ec1381 e-con-full e-flex e-con e-child\" data-id=\"9ec1381\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e98a33b elementor-widget elementor-widget-html\" data-id=\"e98a33b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- WIDGET 4: Experience Bars -->\n<div class=\"dm-page\">\n  <section id=\"xp\" class=\"dm-section\">\n    <div class=\"dm-wrap\">\n      <p class=\"dm-slabel\">proficiency<\/p>\n      <h2 class=\"dm-h2\">experience depth<\/h2>\n      <div id=\"dmBars\">\n        <div class=\"dm-exp-row\"><span class=\"dm-exp-label\">Linux & Virtualisation<\/span><div class=\"dm-exp-bar-wrap\"><div class=\"dm-exp-bar\" data-p=\"93\" style=\"background:var(--accent)\"><\/div><\/div><span class=\"dm-exp-val\">93%<\/span><\/div>\n        <div class=\"dm-exp-row\"><span class=\"dm-exp-label\">Jira \/ JSM Administration<\/span><div class=\"dm-exp-bar-wrap\"><div class=\"dm-exp-bar\" data-p=\"90\" style=\"background:#a0a0ff\"><\/div><\/div><span class=\"dm-exp-val\">90%<\/span><\/div>\n        <div class=\"dm-exp-row\"><span class=\"dm-exp-label\">Networking \/ Zero-Trust<\/span><div class=\"dm-exp-bar-wrap\"><div class=\"dm-exp-bar\" data-p=\"86\" style=\"background:#c0f040\"><\/div><\/div><span class=\"dm-exp-val\">86%<\/span><\/div>\n        <div class=\"dm-exp-row\"><span class=\"dm-exp-label\">Python & Automation<\/span><div class=\"dm-exp-bar-wrap\"><div class=\"dm-exp-bar\" data-p=\"84\" style=\"background:var(--warn)\"><\/div><\/div><span class=\"dm-exp-val\">84%<\/span><\/div>\n        <div class=\"dm-exp-row\"><span class=\"dm-exp-label\">WordPress \/ Elementor<\/span><div class=\"dm-exp-bar-wrap\"><div class=\"dm-exp-bar\" data-p=\"82\" style=\"background:#f07840\"><\/div><\/div><span class=\"dm-exp-val\">82%<\/span><\/div>\n        <div class=\"dm-exp-row\"><span class=\"dm-exp-label\">Azure \/ M365 \/ Intune<\/span><div class=\"dm-exp-bar-wrap\"><div class=\"dm-exp-bar\" data-p=\"80\" style=\"background:var(--accent2)\"><\/div><\/div><span class=\"dm-exp-val\">80%<\/span><\/div>\n        <div class=\"dm-exp-row\"><span class=\"dm-exp-label\">GA4 \/ GTM \/ GDPR<\/span><div class=\"dm-exp-bar-wrap\"><div class=\"dm-exp-bar\" data-p=\"79\" style=\"background:#ffd24a\"><\/div><\/div><span class=\"dm-exp-val\">79%<\/span><\/div>\n        <div class=\"dm-exp-row\"><span class=\"dm-exp-label\">Monitoring (Zabbix\/Centreon)<\/span><div class=\"dm-exp-bar-wrap\"><div class=\"dm-exp-bar\" data-p=\"78\" style=\"background:#40f0d0\"><\/div><\/div><span class=\"dm-exp-val\">78%<\/span><\/div>\n        <div class=\"dm-exp-row\"><span class=\"dm-exp-label\">Security \/ IAM \/ AD<\/span><div class=\"dm-exp-bar-wrap\"><div class=\"dm-exp-bar\" data-p=\"77\" style=\"background:var(--pink)\"><\/div><\/div><span class=\"dm-exp-val\">77%<\/span><\/div>\n        <div class=\"dm-exp-row\"><span class=\"dm-exp-label\">Power BI \/ Apps \/ Automate<\/span><div class=\"dm-exp-bar-wrap\"><div class=\"dm-exp-bar\" data-p=\"74\" style=\"background:#ff80ff\"><\/div><\/div><span class=\"dm-exp-val\">74%<\/span><\/div>\n        <div class=\"dm-exp-row\"><span class=\"dm-exp-label\">GCP \/ Maps \/ Cloud APIs<\/span><div class=\"dm-exp-bar-wrap\"><div class=\"dm-exp-bar\" data-p=\"68\" style=\"background:#5fb3f0\"><\/div><\/div><span class=\"dm-exp-val\">68%<\/span><\/div>\n        <div class=\"dm-exp-row\"><span class=\"dm-exp-label\">Go \/ React \/ Dev<\/span><div class=\"dm-exp-bar-wrap\"><div class=\"dm-exp-bar\" data-p=\"61\" style=\"background:#80ffff\"><\/div><\/div><span class=\"dm-exp-val\">61%<\/span><\/div>\n      <\/div>\n    <\/div>\n  <\/section>\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7a7ab64 e-con-full e-flex e-con e-child\" data-id=\"7a7ab64\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e1aeeee elementor-widget elementor-widget-html\" data-id=\"e1aeeee\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- WIDGET 5: Projects -->\n<div class=\"dm-page\">\n  <section id=\"projects\" class=\"dm-section\">\n    <div class=\"dm-wrap\">\n      <p class=\"dm-slabel\">open source \u00b7 production \u00b7 personal<\/p>\n      <h2 class=\"dm-h2\">selected projects<\/h2>\n      <div class=\"dm-proj-grid\">\n\n        <div class=\"dm-pcard dm-pc-1\">\n          <div class=\"dm-ptype\">PAM \u00b7 PASSWORD MANAGER \u00b7 OPEN SOURCE<\/div>\n          <div class=\"dm-pname\"><a href=\"https:\/\/vauntra.com\" target=\"_blank\" rel=\"noopener\">Vauntra \u2197<\/a><\/div>\n          <div class=\"dm-pdesc\">Self-hosted PAM + password manager platform. SSH\/RDP proxy with session recording, credential vault, AD\/LDAP sync, RBAC, REST API. AGPLv3 + Enterprise SaaS tier.<\/div>\n          <div class=\"dm-tags\"><span class=\"dm-tag\">Go<\/span><span class=\"dm-tag\">React<\/span><span class=\"dm-tag\">PostgreSQL<\/span><span class=\"dm-tag\">Guacamole<\/span><span class=\"dm-tag\">MinIO<\/span><\/div>\n        <\/div>\n\n        <div class=\"dm-pcard dm-pc-2\">\n          <div class=\"dm-ptype\">HOMELAB \u00b7 CLUSTER \u00b7 20+ SERVICES<\/div>\n          <div class=\"dm-pname\">3-Node Proxmox Cluster<\/div>\n          <div class=\"dm-pdesc\">Production homelab on Futro S540 thin clients. Full monitoring, media stack, Nextcloud AIO, zero-trust networking. Tailscale + Cloudflare Tunnel + Authelia SSO.<\/div>\n          <div class=\"dm-tags\"><span class=\"dm-tag\">Proxmox<\/span><span class=\"dm-tag\">Docker<\/span><span class=\"dm-tag\">Tailscale<\/span><span class=\"dm-tag\">Traefik<\/span><span class=\"dm-tag\">Authelia<\/span><\/div>\n        <\/div>\n\n        <div class=\"dm-pcard dm-pc-3\">\n          <div class=\"dm-ptype\">AUTOMATION \u00b7 PYTHON \u00b7 PRODUCTION AIRFLOW<\/div>\n          <div class=\"dm-pname\">Enterprise IT Automation<\/div>\n          <div class=\"dm-pdesc\">Production Airflow 3 DAGs: EWS contact sync, CardComplete processing, PKC\/BOE worklog reporting to SharePoint. OAuth2, Exchange SOAP, Power Platform integration.<\/div>\n          <div class=\"dm-tags\"><span class=\"dm-tag\">Airflow 3<\/span><span class=\"dm-tag\">Python<\/span><span class=\"dm-tag\">EWS<\/span><span class=\"dm-tag\">SharePoint API<\/span><\/div>\n        <\/div>\n\n        <div class=\"dm-pcard dm-pc-4\">\n          <div class=\"dm-ptype\">ITSM \u00b7 REPORTING \u00b7 JIRA<\/div>\n          <div class=\"dm-pname\">JSM Helpdesk Analyse<\/div>\n          <div class=\"dm-pdesc\">Analysis of 10,000+ tickets across 3 years. Identified hidden 4th workflow lane (24% of volume), 7 improvement proposals, KPI reporting framework for 440+ users.<\/div>\n          <div class=\"dm-tags\"><span class=\"dm-tag\">Jira JSM<\/span><span class=\"dm-tag\">Data Analysis<\/span><span class=\"dm-tag\">Power BI<\/span><span class=\"dm-tag\">Process Optimization<\/span><\/div>\n        <\/div>\n\n        <div class=\"dm-pcard dm-pc-7\">\n          <div class=\"dm-ptype\">ANALYTICS \u00b7 GDPR \u00b7 WEB COMPLIANCE<\/div>\n          <div class=\"dm-pname\">GDPR-Compliant Tracking Stack<\/div>\n          <div class=\"dm-pdesc\">End-to-end Analytics setup for production sites: GA4 via Tag Manager, Consent Mode v2, Cookie Banner integration, GCP Maps API quota management, fully DSGVO-konform.<\/div>\n          <div class=\"dm-tags\"><span class=\"dm-tag\">GA4<\/span><span class=\"dm-tag\">GTM<\/span><span class=\"dm-tag\">Cookiebot<\/span><span class=\"dm-tag\">GCP Console<\/span><span class=\"dm-tag\">Maps API<\/span><\/div>\n        <\/div>\n\n        <div class=\"dm-pcard dm-pc-5\">\n          <div class=\"dm-ptype\">SECURITY \u00b7 ACTIVE DIRECTORY<\/div>\n          <div class=\"dm-pname\">Kerberoasting Remediation<\/div>\n          <div class=\"dm-pdesc\">Full triage of AD service accounts authenticating via RC4. SPN analysis, remediation roadmap, secret rotation workflow, Azure syslog forwarder setup for SIEM.<\/div>\n          <div class=\"dm-tags\"><span class=\"dm-tag\">Active Directory<\/span><span class=\"dm-tag\">Kerberos<\/span><span class=\"dm-tag\">Azure Arc<\/span><span class=\"dm-tag\">SIEM<\/span><\/div>\n        <\/div>\n\n        <div class=\"dm-pcard dm-pc-6\">\n          <div class=\"dm-ptype\">DESKTOP \u00b7 ELECTRON \u00b7 LINUX<\/div>\n          <div class=\"dm-pname\">WebApp Builder<\/div>\n          <div class=\"dm-pdesc\">Electron tool generating isolated .desktop web apps for GNOME\/Fedora. SSO domain whitelisting (80+ domains), ad blocking, custom CSS\/JS injection, per-app sessions.<\/div>\n          <div class=\"dm-tags\"><span class=\"dm-tag\">Electron<\/span><span class=\"dm-tag\">JavaScript<\/span><span class=\"dm-tag\">Linux<\/span><span class=\"dm-tag\">GNOME<\/span><\/div>\n        <\/div>\n\n        <div class=\"dm-pcard dm-pc-1\">\n          <div class=\"dm-ptype\">WEB \u00b7 WORDPRESS \u00b7 ELEMENTOR<\/div>\n          <div class=\"dm-pname\"><a href=\"https:\/\/bmove.mladenovic.at\" target=\"_blank\" rel=\"noopener\">Bmove.at \u2197<\/a><\/div>\n          <div class=\"dm-pdesc\">Full custom Elementor kit for Bmove \u2014 EV parking app. Three design variants (light\/dark\/neutral), glassmorphism nav, bento grid, matrix loader, responsive mobile-first.<\/div>\n          <div class=\"dm-tags\"><span class=\"dm-tag\">WordPress<\/span><span class=\"dm-tag\">Elementor<\/span><span class=\"dm-tag\">Custom CSS\/JS<\/span><span class=\"dm-tag\">Responsive<\/span><\/div>\n        <\/div>\n\n      <\/div>\n    <\/div>\n  <\/section>\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c783ae0 e-con-full e-flex e-con e-child\" data-id=\"c783ae0\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d49664c elementor-widget elementor-widget-html\" data-id=\"d49664c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- WIDGET 6: About -->\n<div class=\"dm-page\">\n  <section id=\"about\" class=\"dm-section\">\n    <div class=\"dm-wrap\">\n      <p class=\"dm-slabel\">about<\/p>\n      <h2 class=\"dm-h2\">how I work<\/h2>\n      <div class=\"dm-about-grid\">\n        <div class=\"dm-av\">\n          <div class=\"dm-av-label\">BASED IN<\/div>\n          <div class=\"dm-av-val g\">Vienna \u00b7 Austria<\/div>\n        <\/div>\n        <div class=\"dm-av\">\n          <div class=\"dm-av-label\">DOMAIN<\/div>\n          <div class=\"dm-av-val b\">Systems \u00b7 DevOps \u00b7 Infra<\/div>\n        <\/div>\n        <div class=\"dm-av\">\n          <div class=\"dm-av-label\">FOCUS<\/div>\n          <div class=\"dm-av-val\" style=\"font-size:11px\">Automation \u00b7 Reliability<\/div>\n        <\/div>\n        <div class=\"dm-av\">\n          <div class=\"dm-av-label\">LANGUAGES<\/div>\n          <div class=\"dm-av-val y\">DE \u00b7 EN \u00b7 SR<\/div>\n        <\/div>\n      <\/div>\n      <div class=\"dm-about-block\">\n        <span class=\"arrow\">\u2192<\/span> I run a 3-node Proxmox cluster, build PAM platforms in Go, and ship production Airflow pipelines.<br>\n        <span class=\"arrow\">\u2192<\/span> By day: enterprise Microsoft stack \u2014 Azure, Intune, M365, Power Platform, Jira\/JSM administration.<br>\n        <span class=\"arrow\">\u2192<\/span> Web: full-stack delivery from WordPress builds to GA4 + GTM tracking with full GDPR compliance.<br>\n        <span class=\"arrow\">\u2192<\/span> Off-hours: open-source builds \u2014 Vauntra, custom Linux tooling, infrastructure-as-code at home.<br>\n        <span class=\"arrow\">\u2192<\/span> Philosophy: automate what hurts, monitor what matters, document what others will maintain.\n      <\/div>\n    <\/div>\n  <\/section>\n<\/div>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-79dddbd e-con-full e-flex e-con e-child\" data-id=\"79dddbd\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-66d911f elementor-widget elementor-widget-html\" data-id=\"66d911f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- WIDGET 7: Contact + Footer \u2014 SCHLIESST .dm Wrapper -->\n<div class=\"dm-page\">\n  <section id=\"contact\" class=\"dm-section\">\n    <div class=\"dm-wrap\">\n      <p class=\"dm-slabel\">get in touch<\/p>\n      <h2 class=\"dm-h2\">contact<\/h2>\n      <div class=\"dm-contact-row\"><span class=\"dm-cl\">EMAIL<\/span><a href=\"mailto:dejan@mladenovic.at\" class=\"dm-cv\">dejan@mladenovic.at<\/a><\/div>\n      <div class=\"dm-contact-row\"><span class=\"dm-cl\">GITHUB<\/span><a href=\"https:\/\/github.com\/Dejan-mld\" target=\"_blank\" rel=\"noopener\" class=\"dm-cv\">github.com\/Dejan-mld<\/a><\/div>\n      <div class=\"dm-contact-row\"><span class=\"dm-cl\">LINKEDIN<\/span><a href=\"https:\/\/linkedin.com\/in\/dejan-mladenovic\" target=\"_blank\" rel=\"noopener\" class=\"dm-cv\">linkedin.com\/in\/dejan-mladenovic<\/a><\/div>\n      <div class=\"dm-contact-row\"><span class=\"dm-cl\">VAUNTRA<\/span><a href=\"https:\/\/vauntra.com\" target=\"_blank\" rel=\"noopener\" class=\"dm-cv\">vauntra.com<\/a><\/div>\n      <div class=\"dm-contact-row\"><span class=\"dm-cl\">LOCATION<\/span><span class=\"dm-cv\">Vienna, Austria \ud83c\udde6\ud83c\uddf9<\/span><\/div>\n    <\/div>\n  <\/section>\n  <footer class=\"dm-footer\">\n    <span>\u00a9 2026 Dejan Mladenovi\u0107<\/span>\n    <span>systems engineer \u00b7 vienna<\/span>\n    <span style=\"color:var(--accent)\">v3.0<\/span>\n  <\/footer>\n<\/div>\n\n<\/div><!-- \/.dm \u2014 SCHLIESST Widget 1 Wrapper -->\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9c52440 e-con-full e-flex e-con e-child\" data-id=\"9c52440\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3180664 elementor-widget elementor-widget-html\" data-id=\"3180664\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- WIDGET 8: JavaScript \u2014 MUSS LETZTES WIDGET SEIN -->\n<script>\n(function(){\n\n  \/\/ Body class for scanline overlay\n  document.body.classList.add('dm-active');\n\n  \/* \u2500\u2500\u2500 Experience Bars Animate on Scroll \u2500\u2500\u2500 *\/\n  function dmAnimateBars(){\n    document.querySelectorAll('.dm-exp-bar').forEach(function(el){\n      if(el.dataset.dmAnimated) return;\n      var rect = el.getBoundingClientRect();\n      if(rect.top < window.innerHeight - 50){\n        el.style.width = el.dataset.p + '%';\n        el.dataset.dmAnimated = '1';\n      }\n    });\n  }\n  setTimeout(dmAnimateBars, 300);\n  window.addEventListener('scroll', dmAnimateBars, {passive:true});\n  window.addEventListener('resize', dmAnimateBars);\n\n  \/* \u2500\u2500\u2500 Smooth Scroll (nav + CTA, with sticky nav offset) \u2500\u2500\u2500 *\/\n  document.querySelectorAll('.dm-nav-links a, .dm-hero-cta a').forEach(function(a){\n    a.addEventListener('click', function(e){\n      var href = this.getAttribute('href');\n      if(href && href.startsWith('#') && href.length > 1){\n        var target = document.querySelector(href);\n        if(target){\n          e.preventDefault();\n          var top = target.getBoundingClientRect().top + window.scrollY - 60;\n          window.scrollTo({top:top, behavior:'smooth'});\n        }\n      }\n    });\n  });\n\n  \/* \u2500\u2500\u2500 Project card color fix (nth-child 5 analytics) \u2500\u2500\u2500 *\/\n  var cards = document.querySelectorAll('.dm-pcard');\n  if(cards[4]) cards[4].style.setProperty('--pc','#ffd24a');\n\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>MLADENOVIC.AT 0% ~\/dejan.mladenovic stack projects experience about contact vienna \u00b7 austria stack projects experience about contact systems engineer \u00b7 devops \u00b7 infrastructure DejanMladenovi\u0107 I build, automate, and secure infrastructure. From bare-metal clusters to cloud platforms \u2014 I make complex systems work reliably. SEE PROJECTS TECH STACK CONTACT dejan@mladenovic.at:~$ whoami Systems Engineer \u00b7 DevOps \u00b7 Vienna [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"footnotes":""},"class_list":["post-11","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/mladenovic.at\/index.php?rest_route=\/wp\/v2\/pages\/11","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mladenovic.at\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/mladenovic.at\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/mladenovic.at\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mladenovic.at\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=11"}],"version-history":[{"count":2,"href":"https:\/\/mladenovic.at\/index.php?rest_route=\/wp\/v2\/pages\/11\/revisions"}],"predecessor-version":[{"id":15,"href":"https:\/\/mladenovic.at\/index.php?rest_route=\/wp\/v2\/pages\/11\/revisions\/15"}],"wp:attachment":[{"href":"https:\/\/mladenovic.at\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=11"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}