{"id":21,"date":"2026-05-21T19:34:11","date_gmt":"2026-05-21T17:34:11","guid":{"rendered":"http:\/\/ergoios.cluster100.hosting.ovh.net\/?page_id=21"},"modified":"2026-09-04T06:51:11","modified_gmt":"2026-09-04T04:51:11","slug":"21-2","status":"publish","type":"page","link":"https:\/\/ergoiot.com.pl\/","title":{"rendered":""},"content":{"rendered":"\n<style data-wp-block-html=\"css\">\n\/* BLOCKSY \u00b7 zak\u0142adka CSS *\/\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Fraunces:opsz,wght@9..144,300;9..144,400;9..144,500;9..144,700;9..144,900&family=JetBrains+Mono:wght@300;400;500&family=Inter+Tight:wght@300;400;500;600;700&display=swap');\n\n:root{\n  --bg:#06090c;\n  --bg-2:#0a0f14;\n  --ink:#e8ecef;\n  --ink-dim:#8a949c;\n  --ink-faint:#3a444c;\n  --accent:#0683AE;\n  --accent-bright:#1ab3e6;\n  --accent-soft:#0683ae22;\n  --line:#1a2228;\n  --warn:#f5b342;\n}\n*{box-sizing:border-box;margin:0;padding:0}\nhtml,body{background:var(--bg);color:var(--ink);font-family:'Inter Tight',sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}\nbody{line-height:1.5}\n\n\/* ============ GRAIN + NETWORK BG ============ *\/\n.bg-net{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;pointer-events:none;opacity:.55}\n.bg-net canvas{display:block;width:100%;height:100%}\n.grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.07;mix-blend-mode:overlay;\n  background-image:url(\"data:image\/svg+xml;utf8,<svg xmlns='http:\/\/www.w3.org\/2000\/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'\/><\/filter><rect width='100%' height='100%' filter='url(%23n)' opacity='0.9'\/><\/svg>\")}\n.vignette{position:fixed;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 50% 30%, transparent 0%, transparent 50%, #000 100%);opacity:.7}\n\nmain{position:relative;z-index:2}\n\n\/* ============ NAV ============ *\/\nnav{position:fixed;top:0;left:0;right:0;z-index:50;padding:22px 40px;display:flex;justify-content:space-between;align-items:center;backdrop-filter:blur(8px);background:linear-gradient(to bottom, rgba(6,9,12,.75), transparent)}\n.brand{display:flex;align-items:center;flex-shrink:0}\n.brand-link{\n  display:block;\n  padding:0;\n  line-height:0;\n  text-decoration:none;\n  transition:opacity .2s;\n}\n.brand-link:hover{opacity:.85}\n.brand-logo{\n  display:block;\n  height:38px;\n  width:auto;\n  max-width:min(200px, 48vw);\n  object-fit:contain;\n}\n.nav-links{display:flex;gap:32px;font-size:13px;font-weight:400;letter-spacing:0.04em;text-transform:uppercase;color:var(--ink-dim)}\n.nav-links a{color:inherit;text-decoration:none;transition:color .2s;position:relative}\n.nav-links a:hover{color:var(--accent-bright)}\n.nav-end{display:flex;align-items:center;gap:16px;pointer-events:auto;position:relative;z-index:51}\n.lang-switch{display:flex;gap:4px;padding:3px;border:1px solid var(--line);border-radius:999px;background:rgba(10,15,20,.5);pointer-events:auto;position:relative;z-index:51}\n.lang-btn{font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-dim);background:transparent;border:none;padding:8px 12px;border-radius:999px;cursor:pointer;transition:all .2s}\n.lang-btn:hover{color:var(--ink)}\n.lang-btn.active{color:var(--accent-bright);background:var(--accent-soft)}\n.nav-cta{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--ink);border:1px solid var(--line);padding:10px 18px;border-radius:999px;text-decoration:none;transition:all .25s;white-space:nowrap}\n.nav-cta:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-bright)}\n\n\/* ============ HERO ============ *\/\n.hero{min-height:100vh;padding:140px 40px 80px;display:grid;grid-template-columns:1fr;align-items:end;position:relative}\n.hero-eyebrow{font-family:'JetBrains Mono',monospace;font-size:12px;letter-spacing:0.2em;color:var(--accent-bright);text-transform:uppercase;margin-bottom:32px;display:flex;align-items:center;gap:14px}\n.hero-eyebrow::before{content:\"\";width:32px;height:1px;background:var(--accent)}\n.hero h1{font-family:'Fraunces',serif;font-weight:300;font-size:clamp(48px,9vw,140px);line-height:.92;letter-spacing:-0.04em;color:var(--ink);max-width:14ch}\n.hero h1 em{font-style:italic;color:var(--accent-bright);font-weight:400;font-variation-settings:\"opsz\" 144}\n.hero h1 .strike{text-decoration:line-through;text-decoration-color:var(--accent);text-decoration-thickness:3px;color:var(--ink-dim)}\n.hero-meta{display:flex;gap:48px;margin-top:60px;padding-top:32px;border-top:1px solid var(--line);max-width:900px;flex-wrap:wrap}\n.hero-meta-item{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:0.12em}\n.hero-meta-item strong{display:block;color:var(--ink);font-size:14px;font-family:'Inter Tight',sans-serif;text-transform:none;letter-spacing:0;font-weight:500;margin-top:6px}\n\n.hero-corner{position:absolute;top:120px;right:40px;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-dim);text-align:right;line-height:1.7}\n.hero-corner .blink{display:inline-block;width:7px;height:7px;background:var(--accent-bright);border-radius:50%;animation:blink 1.4s infinite;margin-right:6px;vertical-align:middle;box-shadow:0 0 12px var(--accent-bright)}\n@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}\n\n\/* ============ SECTION FRAMING ============ *\/\nsection{padding:120px 40px;position:relative;border-top:1px solid var(--line)}\n.section-label{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:0.2em;margin-bottom:48px;display:flex;align-items:center;gap:14px}\n.section-label::before{content:\"\";width:8px;height:8px;background:var(--accent);border-radius:50%;box-shadow:0 0 12px var(--accent)}\n.section-label span{color:var(--accent-bright)}\n\n\/* ============ MANIFEST ============ *\/\n.manifest{display:grid;grid-template-columns:1fr 1fr;gap:80px;max-width:1400px;margin:0 auto}\n.manifest-headline{font-family:'Fraunces',serif;font-weight:300;font-size:clamp(32px,4.5vw,64px);line-height:1.05;letter-spacing:-0.025em}\n.manifest-headline em{font-style:italic;color:var(--accent-bright)}\n.manifest-headline .underline{\n  position:relative;\n  display:inline-block;\n  vertical-align:baseline;\n  white-space:nowrap;\n  isolation:isolate;\n}\n.manifest-headline .underline::after{\n  content:'';\n  position:absolute;\n  left:0;\n  right:0;\n  bottom:.1em;\n  height:.36em;\n  background:var(--accent-soft);\n  border-radius:2px;\n  z-index:-1;\n}\n.manifest-body{font-size:17px;line-height:1.7;color:var(--ink-dim);max-width:52ch}\n.manifest-body p{margin-bottom:20px}\n.manifest-body strong{color:var(--ink);font-weight:500}\n\n\/* ============ COMPETENCES \u2014 diagonal grid ============ *\/\n.comp-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px;max-width:1400px;margin:0 auto}\n.comp{padding:36px;border:1px solid var(--line);background:rgba(10,15,20,.4);position:relative;overflow:hidden;transition:all .3s}\n.comp:hover{border-color:var(--accent);background:rgba(6,131,174,.04);transform:translateY(-2px)}\n.comp:hover .comp-num{color:var(--accent-bright)}\n.comp-num{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--ink-faint);margin-bottom:24px;transition:color .3s}\n.comp h3{font-family:'Fraunces',serif;font-weight:400;font-size:24px;line-height:1.15;letter-spacing:-0.02em;margin-bottom:16px;color:var(--ink)}\n.comp p{font-size:14px;line-height:1.65;color:var(--ink-dim)}\n.comp:nth-child(1){grid-column:span 7;min-height:280px}\n.comp:nth-child(2){grid-column:span 5}\n.comp:nth-child(3){grid-column:span 4}\n.comp:nth-child(4){grid-column:span 4}\n.comp:nth-child(5){grid-column:span 4}\n.comp:nth-child(6){grid-column:span 5}\n.comp:nth-child(7){grid-column:span 7}\n\n.comp-feature{background:linear-gradient(135deg, rgba(6,131,174,.08), transparent);border-color:rgba(6,131,174,.3)}\n.comp-feature h3{font-size:32px}\n.comp-feature::after{content:\"\";position:absolute;top:0;right:0;width:200px;height:200px;background:radial-gradient(circle, var(--accent-soft), transparent 70%);pointer-events:none}\n\n\/* ============ PROOF \u2014 quotes \/ numbers ============ *\/\n.proof{display:grid;grid-template-columns:1.2fr 1fr;gap:80px;max-width:1400px;margin:0 auto;align-items:start}\n.proof-quote{font-family:'Fraunces',serif;font-weight:300;font-size:clamp(24px,2.5vw,34px);line-height:1.35;font-style:italic;color:var(--ink);letter-spacing:-0.015em}\n.proof-quote::before{content:\"\u201e\";font-size:120px;line-height:0;color:var(--accent);display:block;margin-bottom:30px;font-style:normal}\n.proof-attr{margin-top:32px;font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:0.1em}\n.proof-attr strong{color:var(--ink);font-family:'Inter Tight',sans-serif;text-transform:none;letter-spacing:0;font-weight:500;display:block;font-size:14px;margin-bottom:4px}\n\n.proof-stats{display:flex;flex-direction:column;gap:32px}\n.stat{padding:24px 0;border-bottom:1px solid var(--line)}\n.stat-num{font-family:'Fraunces',serif;font-weight:300;font-size:64px;line-height:1;letter-spacing:-0.04em;color:var(--accent-bright)}\n.stat-label{font-family:'JetBrains Mono',monospace;font-size:11px;text-transform:uppercase;letter-spacing:0.15em;color:var(--ink-dim);margin-top:10px}\n\n\/* ============ WORK WITH ME ============ *\/\n.work{max-width:1400px;margin:0 auto}\n.work-headline{font-family:'Fraunces',serif;font-weight:300;font-size:clamp(40px,6vw,88px);line-height:.98;letter-spacing:-0.035em;max-width:18ch;margin-bottom:60px}\n.work-headline em{font-style:italic;color:var(--accent-bright)}\n.engagement{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;margin-top:48px}\n.eng{padding:40px 32px;border:1px solid var(--line);position:relative;background:linear-gradient(180deg, rgba(10,15,20,.6), rgba(6,9,12,.2));transition:all .3s}\n.eng:hover{border-color:var(--accent);transform:translateY(-3px)}\n.eng-type{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--accent-bright);text-transform:uppercase;letter-spacing:0.2em;margin-bottom:24px}\n.eng h4{font-family:'Fraunces',serif;font-weight:400;font-size:26px;letter-spacing:-0.02em;margin-bottom:16px;line-height:1.15}\n.eng p{font-size:14px;color:var(--ink-dim);line-height:1.6;margin-bottom:20px}\n.eng ul{list-style:none;font-size:13px;color:var(--ink-dim)}\n.eng ul li{padding:8px 0;border-top:1px dashed var(--line);position:relative;padding-left:18px}\n.eng ul li::before{content:\"\u2192\";color:var(--accent);position:absolute;left:0}\n\n\/* ============ CONTACT ============ *\/\n.contact-wrap{display:grid;grid-template-columns:1fr 1fr;gap:80px;max-width:1400px;margin:0 auto;align-items:center}\n.contact-headline{font-family:'Fraunces',serif;font-weight:300;font-size:clamp(48px,8vw,128px);line-height:.95;letter-spacing:-0.04em}\n.contact-headline em{font-style:italic;color:var(--accent-bright);display:block}\n.contact-sub{margin-top:32px;font-size:17px;color:var(--ink-dim);line-height:1.65;max-width:42ch}\n\n.contact-card{background:linear-gradient(180deg, rgba(6,131,174,.06), rgba(10,15,20,.4));border:1px solid var(--line);padding:48px;position:relative}\n.contact-card::before{content:\"\";position:absolute;top:0;left:0;width:60px;height:1px;background:var(--accent)}\n.contact-card::after{content:\"\";position:absolute;top:0;left:0;height:60px;width:1px;background:var(--accent)}\n.contact-item{padding:20px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}\n.contact-item:last-child{border:none}\n.contact-key{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:0.15em;flex-shrink:0}\n.contact-val{font-family:'Inter Tight',sans-serif;font-size:16px;color:var(--ink);font-weight:500;text-align:right}\n.contact-val a{color:inherit;text-decoration:none;border-bottom:1px solid var(--accent);transition:all .2s;padding-bottom:2px}\n.contact-val a:hover{color:var(--accent-bright)}\n\n.cta-row{margin-top:40px;display:flex;gap:16px;flex-wrap:wrap}\n.btn{padding:18px 32px;font-family:'JetBrains Mono',monospace;font-size:13px;letter-spacing:0.1em;text-transform:uppercase;text-decoration:none;border-radius:0;transition:all .25s;display:inline-flex;align-items:center;gap:10px}\n.btn-primary{background:var(--accent);color:#fff;border:1px solid var(--accent)}\n.btn-primary:hover{background:var(--accent-bright);border-color:var(--accent-bright);transform:translateX(4px)}\n.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}\n.btn-ghost:hover{border-color:var(--accent-bright);color:var(--accent-bright)}\n.btn .arrow{transition:transform .25s}\n.btn:hover .arrow{transform:translateX(4px)}\n\n\/* ============ FOOTER ============ *\/\nfooter{padding:60px 40px 40px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px;font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--ink-faint);text-transform:uppercase;letter-spacing:0.12em}\nfooter a{color:var(--ink-dim);text-decoration:none;transition:color .2s}\nfooter a:hover{color:var(--accent-bright)}\n\n\/* ============ ANIMATIONS ============ *\/\n.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1)}\n.reveal.in{opacity:1;transform:none}\n\n.hero h1 span{display:inline-block;opacity:0;transform:translateY(40px);animation:rise .9s cubic-bezier(.2,.7,.2,1) forwards}\n.hero h1 .l1{animation-delay:.1s}\n.hero h1 .l2{animation-delay:.25s}\n.hero h1 .l3{animation-delay:.4s}\n.hero h1 .l4{animation-delay:.55s}\n@keyframes rise{to{opacity:1;transform:none}}\n\n\/* ============ RESPONSIVE ============ *\/\n@media (max-width:900px){\n  nav{padding:16px 20px}\n  .brand-logo{height:32px;max-width:min(160px, 52vw)}\n  .nav-links{display:none}\n  .nav-end{gap:10px}\n  .lang-btn{padding:7px 10px}\n  .hero{padding:120px 20px 60px}\n  section{padding:80px 20px}\n  .hero-corner{display:none}\n  .manifest{grid-template-columns:1fr;gap:40px}\n  .comp-grid{grid-template-columns:1fr}\n  .comp:nth-child(n){grid-column:span 1}\n  .proof{grid-template-columns:1fr;gap:48px}\n  .engagement{grid-template-columns:1fr}\n  .contact-wrap{grid-template-columns:1fr;gap:48px}\n  .contact-card{padding:32px 24px}\n  .stat-num{font-size:48px}\n}\n<\/style>\n\n<script data-wp-block-html=\"js\">\n\/* BLOCKSY \u00b7 zak\u0142adka JavaScript *\/\n(function(){\n  if(window.__ERGOIOT_FX_OK) return;\n\n  function boot(){\n    var root = document.getElementById('ergoiot') || document;\n\n    (function(){\n      var canvas = document.getElementById('netcanvas');\n      if(!canvas) return;\n      var ctx = canvas.getContext('2d');\n      var dpr = Math.min(window.devicePixelRatio || 1, 2);\n      var w, h, nodes = [], mouse = {x:-1000,y:-1000};\n\n      function canvasFromEvent(e){\n        var rect = canvas.getBoundingClientRect();\n        if(!rect.width || !rect.height) return null;\n        var scaleX = canvas.width \/ rect.width;\n        var scaleY = canvas.height \/ rect.height;\n        var cx = e.clientX != null ? e.clientX : (e.touches && e.touches[0] && e.touches[0].clientX);\n        var cy = e.clientY != null ? e.clientY : (e.touches && e.touches[0] && e.touches[0].clientY);\n        if(cx == null || cy == null) return null;\n        return { x: (cx - rect.left) * scaleX, y: (cy - rect.top) * scaleY };\n      }\n\n      function resize(){\n        var rect = canvas.getBoundingClientRect();\n        var cssW = rect.width || window.innerWidth;\n        var cssH = rect.height || window.innerHeight;\n        var newW = Math.round(cssW * dpr);\n        var newH = Math.round(cssH * dpr);\n        if(w && h && (newW !== w || newH !== h)){\n          var sx = newW \/ w, sy = newH \/ h;\n          nodes.forEach(function(n){ n.x *= sx; n.y *= sy; });\n        }\n        w = canvas.width = newW;\n        h = canvas.height = newH;\n        canvas.style.width = cssW + 'px';\n        canvas.style.height = cssH + 'px';\n      }\n      resize();\n      requestAnimationFrame(resize);\n      window.addEventListener('resize', resize);\n      if(typeof ResizeObserver !== 'undefined') new ResizeObserver(resize).observe(canvas);\n\n      var count = Math.min(70, Math.floor((canvas.getBoundingClientRect().width || window.innerWidth) \/ 22));\n      for(var i=0;i<count;i++){\n        nodes.push({\n          x:Math.random()*w, y:Math.random()*h,\n          vx:(Math.random()-.5)*0.35*dpr, vy:(Math.random()-.5)*0.35*dpr,\n          r:(Math.random()*1.8+0.6)*dpr\n        });\n      }\n\n      function onPointerMove(e){\n        var p = canvasFromEvent(e);\n        if(p){ mouse.x = p.x; mouse.y = p.y; }\n      }\n      window.addEventListener('mousemove', onPointerMove, {passive:true});\n      window.addEventListener('mouseleave', function(){ mouse.x=-1000; mouse.y=-1000; });\n\n      function tick(){\n        ctx.clearRect(0,0,w,h);\n        var maxDist = 140 * dpr;\n        for(var i=0;i<nodes.length;i++){\n          for(var j=i+1;j<nodes.length;j++){\n            var a=nodes[i], b=nodes[j], dx=a.x-b.x, dy=a.y-b.y, d=Math.sqrt(dx*dx+dy*dy);\n            if(d<maxDist){\n              ctx.strokeStyle = 'rgba(6, 131, 174, ' + ((1-d\/maxDist) * 0.35) + ')';\n              ctx.lineWidth = 1 * dpr;\n              ctx.beginPath(); ctx.moveTo(a.x,a.y); ctx.lineTo(b.x,b.y); ctx.stroke();\n            }\n          }\n        }\n        for(i=0;i<nodes.length;i++){\n          a=nodes[i]; dx=a.x-mouse.x; dy=a.y-mouse.y; d=Math.sqrt(dx*dx+dy*dy);\n          var reach = 200 * dpr;\n          if(d<reach){\n            ctx.strokeStyle='rgba(26, 179, 230, '+((1-d\/reach)*0.6)+')';\n            ctx.lineWidth=1.4*dpr;\n            ctx.beginPath(); ctx.moveTo(a.x,a.y); ctx.lineTo(mouse.x,mouse.y); ctx.stroke();\n          }\n        }\n        nodes.forEach(function(n){\n          n.x+=n.vx; n.y+=n.vy;\n          if(n.x<0||n.x>w) n.vx*=-1;\n          if(n.y<0||n.y>h) n.vy*=-1;\n          ctx.fillStyle='rgba(26, 179, 230, .55)';\n          ctx.beginPath(); ctx.arc(n.x,n.y,n.r,0,Math.PI*2); ctx.fill();\n        });\n        requestAnimationFrame(tick);\n      }\n      tick();\n    })();\n\n    var obs = new IntersectionObserver(function(entries){\n      entries.forEach(function(e){\n        if(e.isIntersecting){ e.target.classList.add('in'); obs.unobserve(e.target); }\n      });\n    }, {threshold:0.12});\n    root.querySelectorAll('.reveal').forEach(function(el){ obs.observe(el); });\n\n    root.querySelectorAll('a[href^=\"#\"]').forEach(function(a){\n      a.addEventListener('click', function(e){\n        var id = a.getAttribute('href');\n        if(id && id.length>1){\n          var el = document.querySelector(id);\n          if(el){ e.preventDefault(); el.scrollIntoView({behavior:'smooth'}); }\n        }\n      });\n    });\n  }\n\n  if(document.readyState === 'loading') document.addEventListener('DOMContentLoaded', boot);\n  else boot();\n  window.__ERGOIOT_FX_OK = true;\n})();\n\n\/* i18n: <script> na ko\u0144cu blocksy-html.html *\/\n<\/script>\n\n<!-- BLOCKSY \u00b7 HTML: blocksy-html.html | CSS: blocksy-css.css | JS: blocksy-js.js -->\n<div id=\"ergoiot\">\n  <div class=\"bg-net\"><canvas id=\"netcanvas\"><\/canvas><\/div>\n  <div class=\"grain\"><\/div>\n  <div class=\"vignette\"><\/div>\n  \n  <nav>\n    <div class=\"brand\">\n      <a href=\"https:\/\/ergoiot.com.pl\/\" class=\"brand-link\" aria-label=\"ERGO IoT \u2014 strona g\u0142\u00f3wna\">\n        <img src=\"https:\/\/ergoiot.com.pl\/wp-content\/uploads\/2026\/05\/ERGOIoT_facebook-profile-white-2.png\" alt=\"ERGO IoT\" class=\"brand-logo\" width=\"512\" height=\"512\" decoding=\"async\" fetchpriority=\"high\">\n      <\/a>\n    <\/div>\n    <div class=\"nav-links\">\n      <a href=\"#manifest\" data-i18n=\"nav.manifest\">Manifest<\/a>\n      <a href=\"#kompetencje\" data-i18n=\"nav.skills\">Kompetencje<\/a>\n      <a href=\"#wspolpraca\" data-i18n=\"nav.work\">Wsp\u00f3\u0142praca<\/a>\n      <a href=\"#kontakt\" data-i18n=\"nav.contact\">Kontakt<\/a>\n      <a href=\"https:\/\/ernestlife.ergoenergia.pl\/\" target=\"_blank\" rel=\"noopener noreferrer\">Ernest Life<\/a>\n    <\/div>\n    <div class=\"nav-end\">\n      <div class=\"lang-switch\" role=\"group\" aria-label=\"Language\">\n        <button type=\"button\" class=\"lang-btn active\" data-lang=\"pl\" aria-pressed=\"true\">PL<\/button>\n        <button type=\"button\" class=\"lang-btn\" data-lang=\"en\" aria-pressed=\"false\">EN<\/button>\n      <\/div>\n      <a href=\"#kontakt\" class=\"nav-cta\" data-i18n=\"nav.cta\">Zacznijmy \u2192<\/a>\n    <\/div>\n  <\/nav>\n  \n  <main>\n  \n    <section class=\"hero\" style=\"border:none\">\n      <div class=\"hero-corner\">\n        <div><span class=\"blink\"><\/span><span data-i18n=\"hero.status\">STATUS: DOST\u0118PNY Q3\/Q4 2026<\/span><\/div>\n        <div style=\"margin-top:8px\" data-i18n=\"hero.location\">RYBNIK \u00b7 \u015aL\u0104SK \u00b7 PL<\/div>\n        <div style=\"margin-top:8px\" data-i18n=\"hero.coords\">51.7\u00b0N \u00b7 18.5\u00b0E<\/div>\n      <\/div>\n  \n      <div>\n        <div class=\"hero-eyebrow\" data-i18n=\"hero.eyebrow\">Ernest Cicho\u0144 \u00b7 ERGO IoT<\/div>\n        <h1 data-i18n-html=\"hero.h1\">\n          <span class=\"l1\">\u0141\u0105cz\u0119<\/span> <span class=\"l2\"><em>energi\u0119<\/em><\/span><br>\n          <span class=\"l3\">z&nbsp;inteligencj\u0105<\/span><br>\n          <span class=\"l4\">maszyn.<\/span>\n        <\/h1>\n  \n        <div class=\"hero-meta\">\n          <div class=\"hero-meta-item\" data-i18n-html=\"hero.meta01\">01 \u00b7 ROLA<strong>In\u017cynier \u00b7 Doradca \u00b7 CTO<\/strong><\/div>\n          <div class=\"hero-meta-item\" data-i18n-html=\"hero.meta02\">02 \u00b7 DOMENA<strong>Energy \u00b7 IoT \u00b7 R&amp;D<\/strong><\/div>\n          <div class=\"hero-meta-item\" data-i18n-html=\"hero.meta03\">03 \u00b7 NORMA<strong>ISO 50001:2018 Lead Auditor<\/strong><\/div>\n          <div class=\"hero-meta-item\" data-i18n-html=\"hero.meta04\">04 \u00b7 NAGRODA<strong>ENEX 2026 \u2014 Grand Prix<\/strong><\/div>\n        <\/div>\n      <\/div>\n    <\/section>\n  \n    <section id=\"manifest\">\n      <div class=\"manifest reveal\">\n        <div>\n          <div class=\"section-label\" data-i18n-html=\"manifest.label\"><span>01<\/span> Manifest<\/div>\n          <h2 class=\"manifest-headline\" data-i18n-html=\"manifest.headline\">\n            Wi\u0119kszo\u015b\u0107 firm <em>mierzy<\/em> energi\u0119.<br>\n            Niewielu j\u0105 <span class=\"underline\">rozumie<\/span>.<br>\n            Jeszcze mniej <em>dzia\u0142a<\/em> na podstawie tego, co wie.\n          <\/h2>\n        <\/div>\n        <div class=\"manifest-body\">\n          <p data-i18n-html=\"manifest.p1\">Od kilkunastu lat zajmuj\u0119 si\u0119 tym, co dzieje si\u0119 pomi\u0119dzy <strong>licznikiem, czujnikiem, sterownikiem a decyzj\u0105 biznesow\u0105<\/strong>. Buduj\u0119 systemy zarz\u0105dzania energi\u0105 \u2014 od warstwy sprz\u0119towej (ESP32, mierniki MEW-01, integracje Supla), przez chmur\u0119 i platformy (ERGOcontrol, LAVVA), a\u017c po raporty audytowe zgodne z&nbsp;ISO 50001.<\/p>\n          <p data-i18n-html=\"manifest.p2\">Pracuj\u0119 na styku trzech \u015bwiat\u00f3w: <strong>ZAMEL<\/strong> (R&amp;D platformy LAVVA, smart home, urz\u0105dzenia certyfikowane), <strong>ERGO Energia<\/strong> (audyty energetyczne, kompensacja mocy biernej, platforma monitoringu) i <strong>ERGO IoT<\/strong> (konsulting, R&amp;D, wnioski grantowe NCBiR, fundusze SMART).<\/p>\n          <p data-i18n-html=\"manifest.p3\">Nie sprzedaj\u0119 dashboard\u00f3w. Sprzedaj\u0119 <strong>oszcz\u0119dno\u015bci mierzalne w&nbsp;PLN<\/strong>, certyfikaty, kt\u00f3re przechodz\u0105 audyt z&nbsp;pierwszego podej\u015bcia, i&nbsp;platformy, kt\u00f3re dzia\u0142aj\u0105, kiedy nikt na nie nie patrzy.<\/p>\n        <\/div>\n      <\/div>\n    <\/section>\n  \n    <section id=\"kompetencje\">\n      <div class=\"section-label reveal\" style=\"max-width:1400px;margin:0 auto 48px\" data-i18n-html=\"skills.label\"><span>02<\/span> Kompetencje<\/div>\n      <div class=\"comp-grid reveal\">\n  \n        <div class=\"comp comp-feature\">\n          <div class=\"comp-num\">\/ 01<\/div>\n          <h3 data-i18n-html=\"skill01.title\">Systemy zarz\u0105dzania energi\u0105 <em style=\"font-style:italic;color:var(--accent-bright)\">end\u2011to\u2011end<\/em><\/h3>\n          <p data-i18n-html=\"skill01.body\">Projektowanie i&nbsp;wdro\u017cenia EnMS zgodnych z&nbsp;ISO 50001 \u2014 od architektury pomiarowej (liczniki MEW\u201101, integracje Supla Cloud), przez warstw\u0119 aplikacyjn\u0105 (ERGOcontrol na Odoo, on\u2011premise\/SaaS), po raportowanie i&nbsp;procedury audytowe. Audytor wiod\u0105cy po szkoleniu CQI &amp; IRCA.<\/p>\n        <\/div>\n  \n        <div class=\"comp\">\n          <div class=\"comp-num\">\/ 02<\/div>\n          <h3 data-i18n-html=\"skill02.title\">IoT przemys\u0142owy &amp; smart\u2011home R&amp;D<\/h3>\n          <p data-i18n-html=\"skill02.body\">Architektura platformy LAVVA w&nbsp;ZAMEL. Hardware na ESP32, interfejsy LVGL, prototypy HMI dla automatyki przemys\u0142owej. Pe\u0142en cykl B+R \u2014 od koncepcji po formalny raport.<\/p>\n        <\/div>\n  \n        <div class=\"comp\">\n          <div class=\"comp-num\">\/ 03<\/div>\n          <h3 data-i18n-html=\"skill03.title\">Granty &amp; konsorcja<\/h3>\n          <p data-i18n-html=\"skill03.body\">Wnioski NCBiR \u201e\u015acie\u017cka SMART\u201d, FENG. Budowa konsorcj\u00f3w, podzia\u0142 praw IP, modele finansowe i&nbsp;harmonogramy R&amp;D, kt\u00f3re trzymaj\u0105 si\u0119 rzeczywisto\u015bci.<\/p>\n        <\/div>\n  \n        <div class=\"comp\">\n          <div class=\"comp-num\">\/ 04<\/div>\n          <h3 data-i18n-html=\"skill04.title\">Kompensacja mocy biernej<\/h3>\n          <p data-i18n-html=\"skill04.body\">Diagnoza, dob\u00f3r rozwi\u0105za\u0144, wdro\u017cenie i&nbsp;rozliczenie. ROI zazwyczaj w&nbsp;ramach jednego cyklu rozliczeniowego dla zak\u0142ad\u00f3w produkcyjnych.<\/p>\n        <\/div>\n  \n        <div class=\"comp\">\n          <div class=\"comp-num\">\/ 05<\/div>\n          <h3 data-i18n-html=\"skill05.title\">Audyty energetyczne &amp; wizje lokalne<\/h3>\n          <p data-i18n-html=\"skill05.body\">Audyty obiekt\u00f3w przemys\u0142owych, wizje lokalne, dokumentacja techniczna na blankietach bran\u017cowych. Wsp\u00f3\u0142praca z&nbsp;DEKRA jako audytor freelance w&nbsp;domenie ISO 50001.<\/p>\n        <\/div>\n  \n        <div class=\"comp\">\n          <div class=\"comp-num\">\/ 06<\/div>\n          <h3 data-i18n-html=\"skill06.title\">Strategia CBR &amp; B+R<\/h3>\n          <p data-i18n-html=\"skill06.body\">Pe\u0142ne strategie uzyskania statusu Centrum Badawczo\u2011Rozwojowego: modele finansowe, KPI, macierze ryzyka, harmonogramy 24\u2011miesi\u0119czne, dokumenty na poziom zarz\u0105du.<\/p>\n        <\/div>\n  \n        <div class=\"comp\">\n          <div class=\"comp-num\">\/ 07<\/div>\n          <h3 data-i18n-html=\"skill07.title\">Architektura platform &amp; integracje<\/h3>\n          <p data-i18n-html=\"skill07.body\">Odoo, n8n, Webflow, Google Apps Script, Leaflet.js. Pipeline\u2019y B2B sales, lead management, integracje z&nbsp;Supla API, automatyzacje procesowe.<\/p>\n        <\/div>\n  \n      <\/div>\n    <\/section>\n  \n    <section>\n      <div class=\"proof reveal\">\n        <div>\n          <div class=\"section-label\" data-i18n-html=\"proof.label\"><span>03<\/span> Dow\u00f3d<\/div>\n          <p class=\"proof-quote\" data-i18n=\"proof.quote\">\n            Mam przyjemno\u015b\u0107 wsp\u00f3\u0142pracowa\u0107 z Ernestem w zakresie zarz\u0105dzania infrastruktur\u0105 serwerow\u0105 dla system\u00f3w IoT. Jak ma\u0142o kto, posiada wyj\u0105tkow\u0105 zdolno\u015b\u0107 do jasnej, precyzyjnej komunikacji oraz klarownego przedstawiania oczekiwa\u0144 projektowych. Profesjonalizm na najwy\u017cszym poziomie.\n          <\/p>\n          <div class=\"proof-attr\">\n            <strong data-i18n=\"proof.attr.title\">Rekomendacja z LinkedIn<\/strong>\n            <span data-i18n=\"proof.attr.sub\">Wsp\u00f3\u0142praca \u00b7 ZAMEL \u00b7 platforma LAVVA<\/span>\n          <\/div>\n        <\/div>\n  \n        <div class=\"proof-stats\">\n          <div class=\"stat\">\n            <div class=\"stat-num\">2026<\/div>\n            <div class=\"stat-label\" data-i18n=\"proof.stat1\">Nagroda G\u0142\u00f3wna ENEX \u00b7 Zarz\u0105dzanie Energi\u0105 \u00b7 \u201eManager Energii Lavva Unity\u201d<\/div>\n          <\/div>\n          <div class=\"stat\">\n            <div class=\"stat-num\">15+<\/div>\n            <div class=\"stat-label\" data-i18n=\"proof.stat2\">Lat na styku energii, IoT i software'u<\/div>\n          <\/div>\n          <div class=\"stat\">\n            <div class=\"stat-num\">3<\/div>\n            <div class=\"stat-label\" data-i18n=\"proof.stat3\">R\u00f3wnolegle prowadzone firmy \/ role: ZAMEL \u00b7 ERGO Energia \u00b7 ERGO IoT<\/div>\n          <\/div>\n          <div class=\"stat\">\n            <div class=\"stat-num\">ISO<br>50001<\/div>\n            <div class=\"stat-label\" data-i18n=\"proof.stat4\">Lead Auditor \u2014 CQI &amp; IRCA \u00b7 2025<\/div>\n          <\/div>\n        <\/div>\n      <\/div>\n    <\/section>\n  \n    <section id=\"wspolpraca\">\n      <div class=\"work reveal\">\n        <div class=\"section-label\" data-i18n-html=\"work.label\"><span>04<\/span> Modele wsp\u00f3\u0142pracy<\/div>\n        <h2 class=\"work-headline\" data-i18n-html=\"work.headline\">Wybierz format, kt\u00f3ry <em>pasuje<\/em> do problemu, nie do faktury.<\/h2>\n  \n        <div class=\"engagement\">\n  \n          <div class=\"eng\">\n            <div class=\"eng-type\" data-i18n=\"eng.a.type\">A \u00b7 KONSULTING<\/div>\n            <h4 data-i18n=\"eng.a.title\">Diagnoza, koncepcja, kierunek<\/h4>\n            <p data-i18n=\"eng.a.body\">Kr\u00f3tkie zaanga\u017cowanie \u2014 od kilku dni do kilku tygodni. Audyt energetyczny, analiza architektury IoT, opinia techniczna, sparring strategiczny.<\/p>\n            <ul data-i18n-list=\"eng.a.li\">\n              <li>Audyt ISO 50001 (gap analysis)<\/li>\n              <li>Review architektury platformy<\/li>\n              <li>Opinia eksperta przed inwestycj\u0105<\/li>\n              <li>Sparring techniczny dla CTO\/CEO<\/li>\n            <\/ul>\n          <\/div>\n  \n          <div class=\"eng\">\n            <div class=\"eng-type\" data-i18n=\"eng.b.type\">B \u00b7 WDRO\u017bENIE<\/div>\n            <h4 data-i18n-html=\"eng.b.title\">Projekt z&nbsp;jasnym deliverable'em<\/h4>\n            <p data-i18n=\"eng.b.body\">Pe\u0142en cykl realizacji \u2014 od koncepcji do produkcji. Platforma monitoringu energii, system kompensacji mocy biernej, prototyp HMI\/IoT, wniosek grantowy.<\/p>\n            <ul data-i18n-list=\"eng.b.li\">\n              <li>ERGOcontrol \u2014 wdro\u017cenie EnMS<\/li>\n              <li>Wniosek NCBiR SMART \/ FENG<\/li>\n              <li>Strategia CBR (dokument zarz\u0105dczy)<\/li>\n              <li>Prototyp HMI \/ hardware ESP32<\/li>\n            <\/ul>\n          <\/div>\n  \n          <div class=\"eng\">\n            <div class=\"eng-type\" data-i18n=\"eng.c.type\">C \u00b7 INTERIM \/ FRACTIONAL<\/div>\n            <h4 data-i18n=\"eng.c.title\">Sta\u0142a rola na u\u0142amek etatu<\/h4>\n            <p data-i18n=\"eng.c.body\">Dla zespo\u0142\u00f3w, kt\u00f3re potrzebuj\u0105 CTO\/Head of R&amp;D lub eksperta ISO na pok\u0142adzie \u2014 bez zatrudniania na pe\u0142en etat. Cykle kwartalne lub roczne.<\/p>\n            <ul data-i18n-list=\"eng.c.li\">\n              <li>Fractional CTO \/ Head of R&amp;D<\/li>\n              <li>Pe\u0142nomocnik ds. systemu EnMS<\/li>\n              <li>Auditor freelance (DEKRA model)<\/li>\n              <li>Mentoring zespo\u0142u in\u017cynierskiego<\/li>\n            <\/ul>\n          <\/div>\n  \n        <\/div>\n      <\/div>\n    <\/section>\n  \n    <section id=\"kontakt\">\n      <div class=\"contact-wrap reveal\">\n  \n        <div>\n          <div class=\"section-label\" data-i18n-html=\"contact.label\"><span>05<\/span> Kontakt<\/div>\n          <h2 class=\"contact-headline\" data-i18n-html=\"contact.headline\">\n            Masz problem,<br>\n            kt\u00f3ry ma <em>warto\u015b\u0107.<\/em>\n          <\/h2>\n          <p class=\"contact-sub\" data-i18n=\"contact.sub\">\n            Je\u015bli umiesz okre\u015bli\u0107, ile kosztuje Ci\u0119 status quo \u2014 w&nbsp;PLN, kWh, dniach do certyfikatu albo straconych szansach grantowych \u2014 mamy o&nbsp;czym rozmawia\u0107. Najszybciej przez LinkedIn lub e\u2011mail. Odpowiadam w&nbsp;ci\u0105gu 24h w&nbsp;dni robocze.\n          <\/p>\n  \n          <div class=\"cta-row\">\n            <a href=\"mailto:ernest@ergoiot.pl\" class=\"btn btn-primary\"><span data-i18n=\"contact.btn.email\">Napisz e\u2011mail<\/span> <span class=\"arrow\">\u2192<\/span><\/a>\n            <a href=\"https:\/\/www.linkedin.com\/in\/ernestcichon\/\" target=\"_blank\" rel=\"noopener\" class=\"btn btn-ghost\">LinkedIn <span class=\"arrow\">\u2192<\/span><\/a>\n          <\/div>\n        <\/div>\n  \n        <div class=\"contact-card\">\n          <div class=\"contact-item\">\n            <div class=\"contact-key\" data-i18n=\"contact.key.company\">Firma<\/div>\n            <div class=\"contact-val\">Ernest Cicho\u0144 ERGO IoT<\/div>\n          <\/div>\n          <div class=\"contact-item\">\n            <div class=\"contact-key\" data-i18n=\"contact.key.nip\">NIP<\/div>\n            <div class=\"contact-val\">642\u2011213\u201114\u201189<\/div>\n          <\/div>\n          <div class=\"contact-item\">\n            <div class=\"contact-key\" data-i18n=\"contact.key.address\">Adres<\/div>\n            <div class=\"contact-val\">ul. Dworek 9<br>44\u2011200 Rybnik, PL<\/div>\n          <\/div>\n          <div class=\"contact-item\">\n            <div class=\"contact-key\" data-i18n=\"contact.key.email\">E\u2011mail<\/div>\n            <div class=\"contact-val\"><a href=\"mailto:ernest@ergoiot.pl\">ernest@ergoiot.pl<\/a><\/div>\n          <\/div>\n          <div class=\"contact-item\">\n            <div class=\"contact-key\" data-i18n=\"contact.key.linkedin\">LinkedIn<\/div>\n            <div class=\"contact-val\"><a href=\"https:\/\/www.linkedin.com\/in\/ernestcichon\/\" target=\"_blank\" rel=\"noopener\">\/in\/ernestcichon<\/a><\/div>\n          <\/div>\n          <div class=\"contact-item\">\n            <div class=\"contact-key\" data-i18n=\"contact.key.status\">Status<\/div>\n            <div class=\"contact-val\" style=\"color:var(--accent-bright)\"><span class=\"blink\" style=\"display:inline-block;width:8px;height:8px;background:var(--accent-bright);border-radius:50%;box-shadow:0 0 10px var(--accent-bright);margin-right:8px\"><\/span><span data-i18n=\"contact.status\">Przyjmuj\u0119 zlecenia<\/span><\/div>\n          <\/div>\n        <\/div>\n  \n      <\/div>\n    <\/section>\n  \n    <footer>\n      <div data-i18n=\"footer.copy\">\u00a9 2026 \u00b7 Ernest Cicho\u0144 \u00b7 ERGO IoT<\/div>\n      <div data-i18n=\"footer.loc\">Rybnik \u00b7 PL \u00b7 NIP 642\u2011213\u201114\u201189<\/div>\n      <div><a href=\"https:\/\/www.linkedin.com\/in\/ernestcichon\/\" target=\"_blank\" rel=\"noopener\">LinkedIn<\/a> &nbsp;\u00b7&nbsp; <a href=\"mailto:ernest@ergoiot.pl\">E\u2011mail<\/a><\/div>\n    <\/footer>\n  \n  <\/main>\n  \n  <\/div>\n  \n  <script>\n  (function(){\n    if(window.__ERGOIOT_I18N_OK) return;\n    window.ERGOIOT_I18N = {\n    pl: {\n      'nav.manifest': 'Manifest',\n      'nav.skills': 'Kompetencje',\n      'nav.work': 'Wsp\u00f3\u0142praca',\n      'nav.contact': 'Kontakt',\n      'nav.cta': 'Zacznijmy \u2192',\n  \n      'hero.status': 'STATUS: DOST\u0118PNY Q3\/Q4 2026',\n      'hero.location': 'RYBNIK \u00b7 \u015aL\u0104SK \u00b7 PL',\n      'hero.coords': '51.7\u00b0N \u00b7 18.5\u00b0E',\n      'hero.eyebrow': 'Ernest Cicho\u0144 \u00b7 ERGO IoT',\n      'hero.h1': '<span class=\"l1\">\u0141\u0105cz\u0119<\/span> <span class=\"l2\"><em>energi\u0119<\/em><\/span><br><span class=\"l3\">z&nbsp;inteligencj\u0105<\/span><br><span class=\"l4\">maszyn.<\/span>',\n      'hero.meta01': '01 \u00b7 ROLA<strong>In\u017cynier \u00b7 Doradca \u00b7 CTO<\/strong>',\n      'hero.meta02': '02 \u00b7 DOMENA<strong>Energy \u00b7 IoT \u00b7 R&amp;D<\/strong>',\n      'hero.meta03': '03 \u00b7 NORMA<strong>ISO 50001:2018 Lead Auditor<\/strong>',\n      'hero.meta04': '04 \u00b7 NAGRODA<strong>ENEX 2026 \u2014 Grand Prix<\/strong>',\n  \n      'manifest.label': '<span>01<\/span> Manifest',\n      'manifest.headline': 'Wi\u0119kszo\u015b\u0107 firm <em>mierzy<\/em> energi\u0119.<br>Niewielu j\u0105 <span class=\"underline\">rozumie<\/span>.<br>Jeszcze mniej <em>dzia\u0142a<\/em> na podstawie tego, co wie.',\n      'manifest.p1': 'Od kilkunastu lat zajmuj\u0119 si\u0119 tym, co dzieje si\u0119 pomi\u0119dzy <strong>licznikiem, czujnikiem, sterownikiem a decyzj\u0105 biznesow\u0105<\/strong>. Buduj\u0119 systemy zarz\u0105dzania energi\u0105 \u2014 od warstwy sprz\u0119towej (ESP32, mierniki MEW-01, integracje Supla), przez chmur\u0119 i platformy (ERGOcontrol, LAVVA), a\u017c po raporty audytowe zgodne z&nbsp;ISO 50001.',\n      'manifest.p2': 'Pracuj\u0119 na styku trzech \u015bwiat\u00f3w: <strong>ZAMEL<\/strong> (R&amp;D platformy LAVVA, smart home, urz\u0105dzenia certyfikowane), <strong>ERGO Energia<\/strong> (audyty energetyczne, kompensacja mocy biernej, platforma monitoringu) i <strong>ERGO IoT<\/strong> (konsulting, R&amp;D, wnioski grantowe NCBiR, fundusze SMART).',\n      'manifest.p3': 'Nie sprzedaj\u0119 dashboard\u00f3w. Sprzedaj\u0119 <strong>oszcz\u0119dno\u015bci mierzalne w&nbsp;PLN<\/strong>, certyfikaty, kt\u00f3re przechodz\u0105 audyt z&nbsp;pierwszego podej\u015bcia, i&nbsp;platformy, kt\u00f3re dzia\u0142aj\u0105, kiedy nikt na nie nie patrzy.',\n  \n      'skills.label': '<span>02<\/span> Kompetencje',\n      'skill01.title': 'Systemy zarz\u0105dzania energi\u0105 <em style=\"font-style:italic;color:var(--accent-bright)\">end\u2011to\u2011end<\/em>',\n      'skill01.body': 'Projektowanie i&nbsp;wdro\u017cenia EnMS zgodnych z&nbsp;ISO 50001 \u2014 od architektury pomiarowej (liczniki MEW\u201101, integracje Supla Cloud), przez warstw\u0119 aplikacyjn\u0105 (ERGOcontrol na Odoo, on\u2011premise\/SaaS), po raportowanie i&nbsp;procedury audytowe. Audytor wiod\u0105cy po szkoleniu CQI &amp; IRCA.',\n      'skill02.title': 'IoT przemys\u0142owy &amp; smart\u2011home R&amp;D',\n      'skill02.body': 'Architektura platformy LAVVA w&nbsp;ZAMEL. Hardware na ESP32, interfejsy LVGL, prototypy HMI dla automatyki przemys\u0142owej. Pe\u0142en cykl B+R \u2014 od koncepcji po formalny raport.',\n      'skill03.title': 'Granty &amp; konsorcja',\n      'skill03.body': 'Wnioski NCBiR \u201e\u015acie\u017cka SMART\u201d, FENG. Budowa konsorcj\u00f3w, podzia\u0142 praw IP, modele finansowe i&nbsp;harmonogramy R&amp;D, kt\u00f3re trzymaj\u0105 si\u0119 rzeczywisto\u015bci.',\n      'skill04.title': 'Kompensacja mocy biernej',\n      'skill04.body': 'Diagnoza, dob\u00f3r rozwi\u0105za\u0144, wdro\u017cenie i&nbsp;rozliczenie. ROI zazwyczaj w&nbsp;ramach jednego cyklu rozliczeniowego dla zak\u0142ad\u00f3w produkcyjnych.',\n      'skill05.title': 'Audyty energetyczne &amp; wizje lokalne',\n      'skill05.body': 'Audyty obiekt\u00f3w przemys\u0142owych, wizje lokalne, dokumentacja techniczna na blankietach bran\u017cowych. Wsp\u00f3\u0142praca z&nbsp;DEKRA jako audytor freelance w&nbsp;domenie ISO 50001.',\n      'skill06.title': 'Strategia CBR &amp; B+R',\n      'skill06.body': 'Pe\u0142ne strategie uzyskania statusu Centrum Badawczo\u2011Rozwojowego: modele finansowe, KPI, macierze ryzyka, harmonogramy 24\u2011miesi\u0119czne, dokumenty na poziom zarz\u0105du.',\n      'skill07.title': 'Architektura platform &amp; integracje',\n      'skill07.body': 'Odoo, n8n, Webflow, Google Apps Script, Leaflet.js. Pipeline\u2019y B2B sales, lead management, integracje z&nbsp;Supla API, automatyzacje procesowe.',\n  \n      'proof.label': '<span>03<\/span> Dow\u00f3d',\n      'proof.quote': 'Mam przyjemno\u015b\u0107 wsp\u00f3\u0142pracowa\u0107 z Ernestem w zakresie zarz\u0105dzania infrastruktur\u0105 serwerow\u0105 dla system\u00f3w IoT. Jak ma\u0142o kto, posiada wyj\u0105tkow\u0105 zdolno\u015b\u0107 do jasnej, precyzyjnej komunikacji oraz klarownego przedstawiania oczekiwa\u0144 projektowych. Profesjonalizm na najwy\u017cszym poziomie.',\n      'proof.attr.title': 'Rekomendacja z LinkedIn',\n      'proof.attr.sub': 'Wsp\u00f3\u0142praca \u00b7 ZAMEL \u00b7 platforma LAVVA',\n      'proof.stat1': 'Nagroda G\u0142\u00f3wna ENEX \u00b7 Zarz\u0105dzanie Energi\u0105 \u00b7 \u201eManager Energii Lavva Unity\u201d',\n      'proof.stat2': 'Lat na styku energii, IoT i software\u2019u',\n      'proof.stat3': 'R\u00f3wnolegle prowadzone firmy \/ role: ZAMEL \u00b7 ERGO Energia \u00b7 ERGO IoT',\n      'proof.stat4': 'Lead Auditor \u2014 CQI &amp; IRCA \u00b7 2025',\n  \n      'work.label': '<span>04<\/span> Modele wsp\u00f3\u0142pracy',\n      'work.headline': 'Wybierz format, kt\u00f3ry <em>pasuje<\/em> do problemu, nie do faktury.',\n      'eng.a.type': 'A \u00b7 KONSULTING',\n      'eng.a.title': 'Diagnoza, koncepcja, kierunek',\n      'eng.a.body': 'Kr\u00f3tkie zaanga\u017cowanie \u2014 od kilku dni do kilku tygodni. Audyt energetyczny, analiza architektury IoT, opinia techniczna, sparring strategiczny.',\n      'eng.a.li': ['Audyt ISO 50001 (gap analysis)', 'Review architektury platformy', 'Opinia eksperta przed inwestycj\u0105', 'Sparring techniczny dla CTO\/CEO'],\n      'eng.b.type': 'B \u00b7 WDRO\u017bENIE',\n      'eng.b.title': 'Projekt z&nbsp;jasnym deliverable\u2019em',\n      'eng.b.body': 'Pe\u0142en cykl realizacji \u2014 od koncepcji do produkcji. Platforma monitoringu energii, system kompensacji mocy biernej, prototyp HMI\/IoT, wniosek grantowy.',\n      'eng.b.li': ['ERGOcontrol \u2014 wdro\u017cenie EnMS', 'Wniosek NCBiR SMART \/ FENG', 'Strategia CBR (dokument zarz\u0105dczy)', 'Prototyp HMI \/ hardware ESP32'],\n      'eng.c.type': 'C \u00b7 INTERIM \/ FRACTIONAL',\n      'eng.c.title': 'Sta\u0142a rola na u\u0142amek etatu',\n      'eng.c.body': 'Dla zespo\u0142\u00f3w, kt\u00f3re potrzebuj\u0105 CTO\/Head of R&amp;D lub eksperta ISO na pok\u0142adzie \u2014 bez zatrudniania na pe\u0142en etat. Cykle kwartalne lub roczne.',\n      'eng.c.li': ['Fractional CTO \/ Head of R&amp;D', 'Pe\u0142nomocnik ds. systemu EnMS', 'Auditor freelance (DEKRA model)', 'Mentoring zespo\u0142u in\u017cynierskiego'],\n  \n      'contact.label': '<span>05<\/span> Kontakt',\n      'contact.headline': 'Masz problem,<br>kt\u00f3ry ma <em>warto\u015b\u0107.<\/em>',\n      'contact.sub': 'Je\u015bli umiesz okre\u015bli\u0107, ile kosztuje Ci\u0119 status quo \u2014 w&nbsp;PLN, kWh, dniach do certyfikatu albo straconych szansach grantowych \u2014 mamy o&nbsp;czym rozmawia\u0107. Najszybciej przez LinkedIn lub e\u2011mail. Odpowiadam w&nbsp;ci\u0105gu 24h w&nbsp;dni robocze.',\n      'contact.btn.email': 'Napisz e\u2011mail',\n      'contact.key.company': 'Firma',\n      'contact.key.nip': 'NIP',\n      'contact.key.address': 'Adres',\n      'contact.key.email': 'E\u2011mail',\n      'contact.key.linkedin': 'LinkedIn',\n      'contact.key.status': 'Status',\n      'contact.status': 'Przyjmuj\u0119 zlecenia',\n  \n      'footer.copy': '\u00a9 2026 \u00b7 Ernest Cicho\u0144 \u00b7 ERGO IoT',\n      'footer.loc': 'Rybnik \u00b7 PL \u00b7 NIP 642\u2011213\u201114\u201189'\n    },\n    en: {\n      'nav.manifest': 'Manifesto',\n      'nav.skills': 'Expertise',\n      'nav.work': 'Engagement',\n      'nav.contact': 'Contact',\n      'nav.cta': 'Let\u2019s talk \u2192',\n  \n      'hero.status': 'STATUS: AVAILABLE Q3\/Q4 2026',\n      'hero.location': 'RYBNIK \u00b7 SILESIA \u00b7 PL',\n      'hero.coords': '51.7\u00b0N \u00b7 18.5\u00b0E',\n      'hero.eyebrow': 'Ernest Cicho\u0144 \u00b7 ERGO IoT',\n      'hero.h1': '<span class=\"l1\">I connect<\/span> <span class=\"l2\"><em>energy<\/em><\/span><br><span class=\"l3\">with machine<\/span><br><span class=\"l4\">intelligence.<\/span>',\n      'hero.meta01': '01 \u00b7 ROLE<strong>Engineer \u00b7 Advisor \u00b7 CTO<\/strong>',\n      'hero.meta02': '02 \u00b7 DOMAIN<strong>Energy \u00b7 IoT \u00b7 R&amp;D<\/strong>',\n      'hero.meta03': '03 \u00b7 STANDARD<strong>ISO 50001:2018 Lead Auditor<\/strong>',\n      'hero.meta04': '04 \u00b7 AWARD<strong>ENEX 2026 \u2014 Grand Prix<\/strong>',\n  \n      'manifest.label': '<span>01<\/span> Manifesto',\n      'manifest.headline': 'Most companies <em>measure<\/em> energy.<br>Few <span class=\"underline\">understand&nbsp;it<\/span>.<br>Even fewer <em>act<\/em> on what they know.',\n      'manifest.p1': 'For over a decade I have worked on what happens between the <strong>meter, sensor, controller and the business decision<\/strong>. I build energy management systems \u2014 from the hardware layer (ESP32, MEW-01 meters, Supla integrations), through cloud and platforms (ERGOcontrol, LAVVA), to audit reports aligned with ISO 50001.',\n      'manifest.p2': 'I operate at the intersection of three worlds: <strong>ZAMEL<\/strong> (LAVVA platform R&amp;D, smart home, certified devices), <strong>ERGO Energia<\/strong> (energy audits, reactive power compensation, monitoring platform) and <strong>ERGO IoT<\/strong> (consulting, R&amp;D, NCBR grant applications, SMART funds).',\n      'manifest.p3': 'I do not sell dashboards. I sell <strong>savings measurable in PLN<\/strong>, certificates that pass audit on the first attempt, and platforms that work when nobody is watching.',\n  \n      'skills.label': '<span>02<\/span> Expertise',\n      'skill01.title': 'Energy management systems <em style=\"font-style:italic;color:var(--accent-bright)\">end\u2011to\u2011end<\/em>',\n      'skill01.body': 'Design and deployment of ISO 50001 EnMS \u2014 from metering architecture (MEW\u201101 meters, Supla Cloud integrations), through the application layer (ERGOcontrol on Odoo, on\u2011premise\/SaaS), to reporting and audit procedures. Lead auditor after CQI &amp; IRCA training.',\n      'skill02.title': 'Industrial IoT &amp; smart\u2011home R&amp;D',\n      'skill02.body': 'LAVVA platform architecture at ZAMEL. ESP32 hardware, LVGL interfaces, HMI prototypes for industrial automation. Full R&amp;D cycle \u2014 from concept to formal report.',\n      'skill03.title': 'Grants &amp; consortia',\n      'skill03.body': 'NCBR \u201cSMART Path\u201d, FENG applications. Consortium building, IP allocation, financial models and R&amp;D schedules that hold up in reality.',\n      'skill04.title': 'Reactive power compensation',\n      'skill04.body': 'Diagnosis, solution selection, implementation and settlement. ROI typically within one billing cycle for production plants.',\n      'skill05.title': 'Energy audits &amp; site surveys',\n      'skill05.body': 'Industrial facility audits, site visits, technical documentation on industry forms. Collaboration with DEKRA as freelance ISO 50001 auditor.',\n      'skill06.title': 'R&amp;D centre strategy',\n      'skill06.body': 'Full strategies for obtaining R&amp;D centre status: financial models, KPIs, risk matrices, 24\u2011month schedules, board\u2011level documents.',\n      'skill07.title': 'Platform architecture &amp; integrations',\n      'skill07.body': 'Odoo, n8n, Webflow, Google Apps Script, Leaflet.js. B2B sales pipelines, lead management, Supla API integrations, process automation.',\n  \n      'proof.label': '<span>03<\/span> Proof',\n      'proof.quote': 'I am pleased to work with Ernest on server infrastructure management for IoT systems. Like few others, he has an exceptional ability to communicate clearly and precisely and to set project expectations in an understandable way. Professionalism at the highest level.',\n      'proof.attr.title': 'LinkedIn recommendation',\n      'proof.attr.sub': 'Collaboration \u00b7 ZAMEL \u00b7 LAVVA platform',\n      'proof.stat1': 'ENEX Grand Prix \u00b7 Energy Management \u00b7 \u201cManager Energii Lavva Unity\u201d',\n      'proof.stat2': 'Years at the intersection of energy, IoT and software',\n      'proof.stat3': 'Parallel companies \/ roles: ZAMEL \u00b7 ERGO Energia \u00b7 ERGO IoT',\n      'proof.stat4': 'Lead Auditor \u2014 CQI &amp; IRCA \u00b7 2025',\n  \n      'work.label': '<span>04<\/span> Engagement models',\n      'work.headline': 'Choose the format that <em>fits<\/em> the problem, not the invoice.',\n      'eng.a.type': 'A \u00b7 CONSULTING',\n      'eng.a.title': 'Diagnosis, concept, direction',\n      'eng.a.body': 'Short engagement \u2014 from a few days to a few weeks. Energy audit, IoT architecture review, expert opinion, strategic sparring.',\n      'eng.a.li': ['ISO 50001 audit (gap analysis)', 'Platform architecture review', 'Expert opinion before investment', 'Technical sparring for CTO\/CEO'],\n      'eng.b.type': 'B \u00b7 IMPLEMENTATION',\n      'eng.b.title': 'Project with a clear deliverable',\n      'eng.b.body': 'Full delivery cycle \u2014 from concept to production. Energy monitoring platform, reactive power compensation system, HMI\/IoT prototype, grant application.',\n      'eng.b.li': ['ERGOcontrol \u2014 EnMS deployment', 'NCBR SMART \/ FENG application', 'R&amp;D centre strategy (management document)', 'HMI prototype \/ ESP32 hardware'],\n      'eng.c.type': 'C \u00b7 INTERIM \/ FRACTIONAL',\n      'eng.c.title': 'Ongoing role at a fraction of FTE',\n      'eng.c.body': 'For teams that need a CTO\/Head of R&amp;D or ISO expert on board \u2014 without full\u2011time hiring. Quarterly or annual cycles.',\n      'eng.c.li': ['Fractional CTO \/ Head of R&amp;D', 'EnMS system representative', 'Freelance auditor (DEKRA model)', 'Engineering team mentoring'],\n  \n      'contact.label': '<span>05<\/span> Contact',\n      'contact.headline': 'You have a problem<br>with a <em>number.<\/em>',\n      'contact.sub': 'If you can quantify what status quo costs you \u2014 in PLN, kWh, days to certification or lost grant opportunities \u2014 we have something to discuss. Fastest via LinkedIn or email. I reply within 24h on business days.',\n      'contact.btn.email': 'Send email',\n      'contact.key.company': 'Company',\n      'contact.key.nip': 'Tax ID',\n      'contact.key.address': 'Address',\n      'contact.key.email': 'Email',\n      'contact.key.linkedin': 'LinkedIn',\n      'contact.key.status': 'Status',\n      'contact.status': 'Accepting projects',\n  \n      'footer.copy': '\u00a9 2026 \u00b7 Ernest Cicho\u0144 \u00b7 ERGO IoT',\n      'footer.loc': 'Rybnik \u00b7 PL \u00b7 Tax ID 642\u2011213\u201114\u201189'\n    }\n  };\n    var root = document.getElementById('ergoiot') || document;\n    var dict = window.ERGOIOT_I18N;\n    if(!dict || !dict.pl || !dict.en) return;\n    var STORAGE_KEY = 'ergoiot-lang';\n    var DEFAULT = 'pl';\n    function detectLang(){\n      try {\n        var saved = localStorage.getItem(STORAGE_KEY);\n        if(saved === 'pl' || saved === 'en') return saved;\n      } catch(e) {}\n      var nav = (navigator.language || '').toLowerCase();\n      return nav.indexOf('pl') === 0 ? 'pl' : 'en';\n    }\n    function t(lang, key){ return dict[lang] && dict[lang][key]; }\n    function i18nPlain(val){\n      var n = document.createElement('div');\n      n.innerHTML = val;\n      return n.textContent;\n    }\n    function applyLang(lang){\n      if(!dict[lang]) lang = DEFAULT;\n      document.documentElement.lang = lang;\n      document.documentElement.setAttribute('data-lang', lang);\n      root.querySelectorAll('[data-i18n]').forEach(function(el){\n        var val = t(lang, el.getAttribute('data-i18n'));\n        if(val != null) el.textContent = i18nPlain(val);\n      });\n      root.querySelectorAll('[data-i18n-html]').forEach(function(el){\n        var val = t(lang, el.getAttribute('data-i18n-html'));\n        if(val != null) el.innerHTML = val;\n      });\n      root.querySelectorAll('[data-i18n-list]').forEach(function(ul){\n        var items = t(lang, ul.getAttribute('data-i18n-list'));\n        if(items && items.length) ul.innerHTML = items.map(function(li){ return '<li>'+li+'<\/li>'; }).join('');\n      });\n      root.querySelectorAll('.lang-btn').forEach(function(btn){\n        var on = btn.getAttribute('data-lang') === lang;\n        btn.classList.toggle('active', on);\n        btn.setAttribute('aria-pressed', on ? 'true' : 'false');\n      });\n      try { localStorage.setItem(STORAGE_KEY, lang); } catch(e) {}\n    }\n    document.addEventListener('click', function(e){\n      var btn = e.target.closest && e.target.closest('.lang-btn');\n      if(!btn || !root.contains(btn)) return;\n      e.preventDefault();\n      e.stopPropagation();\n      applyLang(btn.getAttribute('data-lang'));\n    });\n    applyLang(detectLang());\n    window.__ERGOIOT_I18N_OK = true;\n  })();\n  <\/script>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Manifest Kompetencje Wsp\u00f3\u0142praca Kontakt Ernest Life PL EN Zacznijmy \u2192 STATUS: DOST\u0118PNY Q3\/Q4 2026 RYBNIK \u00b7 \u015aL\u0104SK \u00b7 PL 51.7\u00b0N \u00b7 18.5\u00b0E Ernest Cicho\u0144 \u00b7 ERGO IoT \u0141\u0105cz\u0119 energi\u0119 z&nbsp;inteligencj\u0105 maszyn. 01 \u00b7 ROLAIn\u017cynier \u00b7 Doradca \u00b7 CTO 02 \u00b7 DOMENAEnergy \u00b7 IoT \u00b7 R&amp;D 03 \u00b7 NORMAISO 50001:2018 Lead Auditor 04 \u00b7 NAGRODAENEX 2026 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-21","page","type-page","status-publish","hentry"],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":7}},"_links":{"self":[{"href":"https:\/\/ergoiot.com.pl\/index.php\/wp-json\/wp\/v2\/pages\/21","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ergoiot.com.pl\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ergoiot.com.pl\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ergoiot.com.pl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ergoiot.com.pl\/index.php\/wp-json\/wp\/v2\/comments?post=21"}],"version-history":[{"count":20,"href":"https:\/\/ergoiot.com.pl\/index.php\/wp-json\/wp\/v2\/pages\/21\/revisions"}],"predecessor-version":[{"id":72,"href":"https:\/\/ergoiot.com.pl\/index.php\/wp-json\/wp\/v2\/pages\/21\/revisions\/72"}],"wp:attachment":[{"href":"https:\/\/ergoiot.com.pl\/index.php\/wp-json\/wp\/v2\/media?parent=21"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}