1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,95057,(e,t,i)=>{"use strict";Object.defineProperty(i,"__esModule",{value:!0});var n={formatUrl:function(){return o},formatWithValidation:function(){return d},urlObjectKeys:function(){return s}};for(var r in n)Object.defineProperty(i,r,{enumerable:!0,get:n[r]});let a=e.r(90809)._(e.r(98183)),l=/https?|ftp|gopher|file/;function o(e){let{auth:t,hostname:i}=e,n=e.protocol||"",r=e.pathname||"",o=e.hash||"",s=e.query||"",d=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?d=t+e.host:i&&(d=t+(~i.indexOf(":")?`[${i}]`:i),e.port&&(d+=":"+e.port)),s&&"object"==typeof s&&(s=String(a.urlQueryToSearchParams(s)));let c=e.search||s&&`?${s}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||l.test(n))&&!1!==d?(d="//"+(d||""),r&&"/"!==r[0]&&(r="/"+r)):d||(d=""),o&&"#"!==o[0]&&(o="#"+o),c&&"?"!==c[0]&&(c="?"+c),r=r.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${n}${d}${r}${c}${o}`}let s=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function d(e){return o(e)}},18581,(e,t,i)=>{"use strict";Object.defineProperty(i,"__esModule",{value:!0}),Object.defineProperty(i,"useMergedRef",{enumerable:!0,get:function(){return r}});let n=e.r(71645);function r(e,t){let i=(0,n.useRef)(null),r=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=i.current;e&&(i.current=null,e());let t=r.current;t&&(r.current=null,t())}else e&&(i.current=a(e,n)),t&&(r.current=a(t,n))},[e,t])}function a(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let i=e(t);return"function"==typeof i?i:()=>e(null)}}("function"==typeof i.default||"object"==typeof i.default&&null!==i.default)&&void 0===i.default.__esModule&&(Object.defineProperty(i.default,"__esModule",{value:!0}),Object.assign(i.default,i),t.exports=i.default)},73668,(e,t,i)=>{"use strict";Object.defineProperty(i,"__esModule",{value:!0}),Object.defineProperty(i,"isLocalURL",{enumerable:!0,get:function(){return a}});let n=e.r(18967),r=e.r(52817);function a(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),i=new URL(e,t);return i.origin===t&&(0,r.hasBasePath)(i.pathname)}catch(e){return!1}}},84508,(e,t,i)=>{"use strict";Object.defineProperty(i,"__esModule",{value:!0}),Object.defineProperty(i,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},22016,(e,t,i)=>{"use strict";Object.defineProperty(i,"__esModule",{value:!0});var n={default:function(){return x},useLinkStatus:function(){return b}};for(var r in n)Object.defineProperty(i,r,{enumerable:!0,get:n[r]});let a=e.r(90809),l=e.r(43476),o=a._(e.r(71645)),s=e.r(95057),d=e.r(8372),c=e.r(18581),p=e.r(18967),g=e.r(5550);e.r(33525);let h=e.r(88540),u=e.r(91949),m=e.r(73668),f=e.r(9396);function x(t){var i,n;let r,a,x,[b,v]=(0,o.useOptimistic)(u.IDLE_LINK_STATUS),F=(0,o.useRef)(null),{href:j,as:C,children:A,prefetch:S=null,passHref:I,replace:w,shallow:k,scroll:E,onClick:T,onMouseEnter:D,onTouchStart:M,legacyBehavior:R=!1,onNavigate:z,transitionTypes:L,ref:P,unstable_dynamicOnHover:B,...O}=t;r=A,R&&("string"==typeof r||"number"==typeof r)&&(r=(0,l.jsx)("a",{children:r}));let W=o.default.useContext(d.AppRouterContext),G=!1!==S,N=!1!==S?null===(n=S)||"auto"===n?f.FetchStrategy.PPR:f.FetchStrategy.Full:f.FetchStrategy.PPR,U="string"==typeof(i=C||j)?i:(0,s.formatUrl)(i);if(R){if(r?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});a=o.default.Children.only(r)}let H=R?a&&"object"==typeof a&&a.ref:P,_=o.default.useCallback(e=>(null!==W&&(F.current=(0,u.mountLinkInstance)(e,U,W,N,G,v)),()=>{F.current&&((0,u.unmountLinkForCurrentNavigation)(F.current),F.current=null),(0,u.unmountPrefetchableInstance)(e)}),[G,U,W,N,v]),K={ref:(0,c.useMergedRef)(_,H),onClick(t){R||"function"!=typeof T||T(t),R&&a.props&&"function"==typeof a.props.onClick&&a.props.onClick(t),!W||t.defaultPrevented||function(t,i,n,r,a,l,s){if("u">typeof window){let d,{nodeName:c}=t.currentTarget;if("A"===c.toUpperCase()&&((d=t.currentTarget.getAttribute("target"))&&"_self"!==d||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;
1if(!(0,m.isLocalURL)(i)){r&&(t.preventDefault(),location.replace(i));return}if(t.preventDefault(),l){let e=!1;if(l({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:p}=e.r(99781);o.default.startTransition(()=>{p(i,r?"replace":"push",!1===a?h.ScrollBehavior.NoScroll:h.ScrollBehavior.Default,n.current,s)})}}(t,U,F,w,E,z,L)},onMouseEnter(e){R||"function"!=typeof D||D(e),R&&a.props&&"function"==typeof a.props.onMouseEnter&&a.props.onMouseEnter(e),W&&G&&(0,u.onNavigationIntent)(e.currentTarget,!0===B)},onTouchStart:function(e){R||"function"!=typeof M||M(e),R&&a.props&&"function"==typeof a.props.onTouchStart&&a.props.onTouchStart(e),W&&G&&(0,u.onNavigationIntent)(e.currentTarget,!0===B)}};return(0,p.isAbsoluteUrl)(U)?K.href=U:R&&!I&&("a"!==a.type||"href"in a.props)||(K.href=(0,g.addBasePath)(U)),x=R?o.default.cloneElement(a,K):(0,l.jsx)("a",{...O,...K,children:r}),(0,l.jsx)(y.Provider,{value:b,children:x})}e.r(84508);let y=(0,o.createContext)(u.IDLE_LINK_STATUS),b=()=>(0,o.useContext)(y);("function"==typeof i.default||"object"==typeof i.default&&null!==i.default)&&void 0===i.default.__esModule&&(Object.defineProperty(i.default,"__esModule",{value:!0}),Object.assign(i.default,i),t.exports=i.default)},20531,85153,e=>{"use strict";var t=e.i(43476),i=e.i(22016),n=e.i(71645);function r(){let[e,t]=(0,n.useState)(null);(0,n.useEffect)(()=>{let e=()=>t(window.innerWidth);return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]);let i=e??1280;return{width:i,ready:null!==e,isMobile:i<=700,isTablet:i>700&&i<=1024,isDesktop:i>1024}}e.s(["useViewport",0,r],85153);let a="'JetBrains Mono', monospace",l=[{label:"Capabilities",hash:"services"},{label:"Work",hash:"work"},{label:"Trajectory",hash:"timeline"},{label:"Stack",hash:"stack"},{label:"Writing",href:"/blog"}];e.s(["default",0,function({onHome:e=!1,active:o}){let{isMobile:s}=r(),[d,c]=(0,n.useState)(!1),p=t=>t.href??(e?`#${t.hash}`:`/#${t.hash}`),g=e?"#contact":"/#contact",h=({href:e,className:n,style:r,onClick:a,children:l})=>e.startsWith("#")?(0,t.jsx)("a",{href:e,className:n,style:r,onClick:a,children:l}):(0,t.jsx)(i.default,{href:e,className:n,style:r,onClick:a,children:l}),u=(0,t.jsxs)(h,{href:e?"#top":"/",onClick:()=>c(!1),style:{display:"flex",alignItems:"center",gap:11,fontWeight:700,textTransform:"uppercase",color:"#17150F"},children:[(0,t.jsx)("span",{style:{width:11,height:11,background:"#FF5A1F",borderRadius:"50%",display:"inline-block",flexShrink:0}}),"Alex Madrazo",(0,t.jsx)("span",{style:{color:"#A39C8C",fontWeight:500},children:" /"})]});return(0,t.jsxs)("nav",{style:{position:"sticky",top:0,zIndex:20,backdropFilter:"blur(8px)",background:"rgba(239,235,226,0.82)",borderBottom:"1px solid #D7D0C2"},children:[(0,t.jsxs)("div",{style:{maxWidth:1180,margin:"0 auto",display:"flex",justifyContent:"space-between",alignItems:"center",padding:s?"13px 20px":"14px 40px",fontFamily:a,fontSize:12,letterSpacing:"0.04em"},children:[u,s?(0,t.jsx)("button",{"aria-label":d?"Close menu":"Open menu","aria-expanded":d,onClick:()=>c(e=>!e),style:{display:"flex",flexDirection:"column",justifyContent:"center",gap:4,width:40,height:40,padding:0,background:"none",border:"none",cursor:"pointer"},children:[0,1,2].map(e=>(0,t.jsx)("span",{style:{display:"block",width:20,height:2,background:"#17150F",borderRadius:2,transition:"transform 0.2s ease, opacity 0.2s ease",transform:d?0===e?"translateY(6px) rotate(45deg)":2===e?"translateY(-6px) rotate(-45deg)":"none":"none",opacity:d&&1===e?0:1}},e))}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{style:{display:"flex",gap:30,textTransform:"uppercase",color:"#5C574C"},children:l.map(e=>(0,t.jsx)(h,{href:p(e),className:"nav-link",style:"writing"===o&&"/blog"===e.href?{color:"#FF5A1F"}:void 0,children:e.label},e.label))}),(0,t.jsx)(h,{href:g,className:"nav-cta",style:{background:"#17150F",color:"#EFEBE2",padding:"9px 16px",borderRadius:7,fontWeight:600,textTransform:"uppercase"},children:"Get in touch â"})]})]}),s&&d&&(0,t.jsxs)("div",{style:{borderTop:"1px solid #D7D0C2",background:"rgba(239,235,226,0.97)",padding:"10px 20px 18px",display:"flex",flexDirection:"column",gap:2,fontFamily:a,fontSize:14,textTransform:"uppercase",letterSpacing:"0.04em"},children:[l.map(e=>(0,t.jsx)(h,{href:p(e),className:"nav-link",onClick:()=>c(!1),style:{color:"writing"===o&&"/blog"===e.href?"#FF5A1F":"#5C574C",padding:"12px 4px",borderBottom:"1px solid #E3DDD0"},children:e.label},e.label)),(0,t.jsx)(h,{href:g,onClick:()=>c(!1),style:{marginTop:12,background:"#17150F",color:"#EFEBE2",padding:"13px 16px",borderRadius:8,fontWeight:600,textTransform:"uppercase",textAlign:"center"},children:"Get in touch â"})]})]})}],20531)},52683,e=>{"use strict";var t=e.i(43476),i=e.i(71645);function n({size:e=300}){let r=(0,i.useRef)(null);return(0,i.useEffect)(()=>{let t=r.current;if(!t)return;let i=t.getContext("2d");if(!i)return;let n=0,a=!1,l=Math.min(window.devicePixelRatio||1,2);t.width=e*l,t.height=e*l,t.style.width=e+"px",t.style.height=e+"px",i.scale(l,l);let o=null,s=!1,d=()=>{let e,t;(e=document.createElement("canvas")).width=180,e.height=180,(t=e.getContext("2d")).textAlign="center",t.textBaseline="middle",t.font='800 90px "JetBrains Mono", monospace',void 0!==t.letterSpacing&&(t.letterSpacing="-6px"),t.fillStyle="#15130E",t.fillText("AM",90,94),o=e,s=!0,setTimeout(T,0)};document.fonts&&document.fonts.load?document.fonts.load('800 90px "JetBrains Mono"').then(d).catch(d):d();let c=e/2,p=e/2,g=0,h=0,u=[],m=Math.PI*(3-Math.sqrt(5));for(let e=0;e<660;e++){let t=1-e/659*2,i=Math.sqrt(Math.max(0,1-t*t)),n=e*m;u.push([Math.cos(n)*i,t,Math.sin(n)*i])}let f=(e,t)=>{let i=Math.abs(e[0]),n=Math.abs(e[1]),r=Math.abs(e[2]);if(0===t)return 1/Math.max(i,n,r);if(1===t){let t=Math.hypot(e[0],e[2]);if(t<1e-6)return 1/(n/.92);let i=Math.PI/3;return 1/Math.max(t/(Math.cos(Math.PI/6)/Math.cos((Math.atan2(e[2],e[0])%i+i)%i-i/2)),n/.92)}return 1},x=u.map(e=>f(e,0)),y=document.createElement("canvas");y.width=e,y.height=e;
1let b=y.getContext("2d"),v=document.createElement("canvas");v.width=e,v.height=e;let F=v.getContext("2d"),j=(e,t)=>{let i=Math.cos(t),n=Math.sin(t);return[e[0],e[1]*i-e[2]*n,e[1]*n+e[2]*i]},C=(e,t)=>{let i=Math.cos(t),n=Math.sin(t);return[e[0]*i+e[2]*n,e[1],-e[0]*n+e[2]*i]},A=[],S=0,I=0,w=performance.now()+900,k=t=>(F.clearRect(0,0,e,e),F.drawImage(y,0,0),F.globalCompositeOperation="source-in",F.fillStyle=t,F.fillRect(0,0,e,e),F.globalCompositeOperation="source-over",v),E=t=>{if(n=requestAnimationFrame(E),i.clearRect(0,0,e,e),!s)return;h+=.006;let r=t<I;if(((t,i)=>{b.setTransform(1,0,0,1,0,0),b.clearRect(0,0,e,e);let n=[];for(let e=0;e<660;e++){let r=f(u[e],g);x[e]+=(r-x[e])*.06;let a=1+.045*i*Math.sin(.7*e+.02*t),l=78*x[e]*a,o=[u[e][0]*l,u[e][1]*l,u[e][2]*l];o=C(o=j(o,-.36),h),n.push({x:c+o[0],y:p-o[1],z:o[2],i:e})}n.sort((e,t)=>e.z-t.z);let r=e=>{let t=(e.z/101.4+1)/2,i=1.1+2.1*t;b.fillStyle=e.i%13==0?`rgba(255,90,31,${.45+.55*t})`:`rgba(21,19,14,${.24+.7*t})`,b.fillRect(e.x-i/2,e.y-i/2,i,i)},a=0;for(;a<n.length&&n[a].z<0;a++)r(n[a]);for(o&&(b.globalAlpha=.96,b.drawImage(o,c-58.5,p-58.5,117,117),b.globalAlpha=1);a<n.length;a++)r(n[a])})(t,+!!r),r){let e=2+3*Math.random();i.globalAlpha=.5,i.drawImage(k("#FF5A1F"),-e,0),i.drawImage(k("#00B8A0"),e,0),i.globalAlpha=1}if(i.drawImage(y,0,0),r){if(t-S>55){A=[];let i=2+Math.floor(4*Math.random());for(let t=0;t<i;t++)A.push({y:Math.random()*e,h:4+20*Math.random(),dx:(Math.random()-.5)*e*.22});S=t}for(let t of A)i.clearRect(0,t.y,e,t.h),i.drawImage(y,0,t.y,e,t.h,t.dx,t.y,e,t.h)}i.globalCompositeOperation="destination-out",i.fillStyle="rgba(0,0,0,0.4)";for(let t=1;t<e;t+=3)i.fillRect(0,t,e,1);i.globalCompositeOperation="source-over",t>w&&(I=t+160+300*Math.random(),w=t+1700+2600*Math.random(),S=0,g=(g+1)%3)};function T(){a||(a=!0,E(performance.now()))}return()=>{n&&cancelAnimationFrame(n)}}
1,[e]),(0,t.jsx)("canvas",{ref:r,style:{position:"relative",zIndex:1}})}var r=e.i(20531),a=e.i(85153);let l=[{slug:"building-an-ai-engineering-practice",title:"Building an AI Engineering Practice â A Reference Strategy",date:"2026-06-25",readingTime:"18 min read",excerpt:"A generalized, anonymized playbook for turning a salad of one-off agents and tools into a standardized AI Engineering platform â one that builds from a compounding set of reusable blocks, so every next solution ships faster, safer, and cheaper than the last.",tags:["AI Engineering","Strategy","Platform","Agents","EU Sovereignty"]}],o="'JetBrains Mono', monospace",s="'Space Grotesk', sans-serif",d=[{no:"01",glyph:"{ }",title:"AI-Native Infrastructure & Tooling",desc:"The substrate beneath AI products: MCP servers, RAG pipelines and vector search, plus the developer tooling on top â agent-first CLIs, sandboxed environments, and secure code execution.",tags:["MCP","RAG","Vector Search","CLIs","Sandboxes"]},{no:"02",glyph:"â",title:"Agentic Systems & Copilots",desc:"Multi-agent orchestration across the spectrum â autonomous long-horizon workers, customer-facing copilots, and internal assistants. Tool-use, human-in-the-loop guardrails, and context engineering wired through MCP.",tags:["Multi-Agent","Copilots","Autonomous","MCP"]},{no:"03",glyph:"â",title:"Observability & Telemetry",desc:"Hierarchical traces that capture every LLM call, tool invocation, and retrieval step â filterable by user, session, cost, and latency. LLM-as-a-judge evaluation, prompt management, and golden datasets on a high-throughput telemetry engine.",tags:["Langfuse","ClickHouse","LLM-as-Judge","Evals","Tracing"]},{no:"04",glyph:"â³",title:"Cloud & DevOps",desc:"Infrastructure-as-Code across AWS, GCP, and Azure, with Kubernetes at scale. DevOps pipelines with AI at their core â automated PR reviews and self-healing, self-building systems on GitHub Actions and GitLab CI.",tags:["AWS/GCP/Azure","Terraform","Kubernetes","GitHub/GitLab CI"]},{no:"05",glyph:"â",title:"High-Performance Backends & Intuitive Frontends",desc:"End-to-end product engineering, backed by 8+ years full-stack: Go and Python services over real-time data layers, paired with intuitive React / Next.js frontends â including generative UI â built for throughput and heavy user loads.",tags:["Go","Python","Next.js","React","OLAP"]},{no:"06",glyph:"â¦",title:"Leadership & Communication",desc:"Building effective multidisciplinary teams and leading them from business strategy to delivery. Fluent translating between technical and business contexts, with a genuine focus on mentoring, teaching, and growing engineers. Owns enterprise trust end-to-end: ISO 27001, SOC2, GDPR and EU AI Act.",tags:["Team Building","Mentoring","Tech â Business","Compliance"]}],c=[{tag:"FLAGSHIP",status:"â live",glyph:"â",url:"https://www.interactive.ai/",urlLabel:"Visit interactive.ai",img:"https://langfuse.com/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fobservability-ui.0bpdi69_vw-s7.png&w=3840&q=100",org:"Interactive AI",period:"2025âpresent",title:"Agent Engineering Platform",blurb:"An end-to-end enterprise platform to build, connect, deploy, govern and improve AI agents. I engineered the observability and orchestration core â a high-throughput telemetry engine (FastAPI + ClickHouse) tracing every run from prompt to outcome, an MCP-based orchestration layer with a smart LLM Router across 200+ models, and an agent-first CLI + SDK, wrapped in a Generative-UI agent builder.",metric:"<6mo",metricLabel:"zero â enterprise production",tags:["Go","Python · FastAPI","ClickHouse","MCP","LLM Router","Generative UI","Kubernetes"]},{tag:"PRODUCT",status:"â live",glyph:"â§",img:"/assets/promptvm-ask.png",url:"https://promptvm.ai/",urlLabel:"Visit promptvm.ai",org:"PromptVM",period:"2025âpresent",title:"PromptVM",blurb:"Version control, a marketplace, and developer tools for AI prompts â write once, deploy anywhere via MCP, CLI, SDK or REST API. Semantic search runs across thousands of prompt versions so teams can track how a prompt evolved and promote the best-performing one as their default.",metric:"â",metricLabel:"prompt versions, searchable",tags:["Next.js","Prompt Versioning","Semantic Search","CLI","MCP","API"]},{tag:"MOBILE · AI",status:"â live",glyph:"â",url:"https://apps.apple.com/us/app/myweather-ai/id6779910676",urlLabel:"Ap
1p Store",img:"https://is1-ssl.mzstatic.com/image/thumb/PurpleSource211/v4/be/46/79/be467983-adee-e28c-10c0-1173b7dc8807/01-hero.png/300x650bb.webp",imgFit:"contain",org:"Independent",period:"2025",title:"MyWeather AI",blurb:'A beautifully minimal iOS weather app with a built-in conversational AI assistant. Instead of decoding charts, just ask â "Do I need an umbrella today?" â and it reads the live forecast (Open-Meteo) for any city, checks air quality, UV and more, and replies in plain, friendly language. The UI adapts to the weather and time of day.',metric:"iOS",metricLabel:"on the App Store",tags:["SwiftUI","Conversational AI","Open-Meteo","Air Quality"]},{tag:"PLATFORM",status:"shipped",glyph:"â",img:"/assets/cms-asset-manager.png",org:"Burlingame Studios",period:"2021â2025",title:"Mobile Game CMS + 3D Content Production Pipelines",blurb:"Content pipelines for AAA mobile titles built for fast-paced LiveOps: headless Unity render clusters producing 3D game assets at scale, AI-driven localization across four languages, and content-generation copilot agents that accelerated production â serving millions of players.",metric:"M+",metricLabel:"users served",tags:["TypeScript","Unity","GCP","LiveOps","AI Localization","Copilot Agents"]},{tag:"WEB3",status:"shipped",glyph:"⬡",url:"https://x.com/BiotaNexus",urlLabel:"Biota on X",img:"/assets/biota-certificate.jpg",org:"Meteo.tech",period:"2019â2021",title:"Biota.land",blurb:"A Web3 NFT marketplace for carbon credits on Celo â each token a certificate of authenticity tied to a real preserved area (e.g. Tirimbina Biological Reserve), enabling transparent, traceable carbon-offset transactions on-chain.",metric:"NFT",metricLabel:"carbon-credit marketplace",tags:["Web3","Celo","Solidity","Next.js"]},{tag:"GEOSPATIAL",status:"shipped",glyph:"â",url:"https://cvtas.centroclima.org/#/login",urlLabel:"Visit platform",img:"/assets/climate-map.png",org:"Meteo.tech / D.A.P",period:"2019â2021",title:"Climate Intelligence Platforms",blurb:"Advanced meteorological and climatological platforms with interactive real-time maps, plus climate-risk assessment tools supporting strategic planning and resilience across the region.",metric:"RT",metricLabel:"real-time interactive maps",tags:["React","Node.js","PostgreSQL","Mapping"]}],p=[{year:"2016â18",org:"Computación Universal",url:"https://ucguate.com/",title:"Senior Fullstack Engineer",location:"Guatemala City, GT",period:"2016 â 2018",scope:"WEB · MOBILE · SERVERS",bullets:["Designed and shipped dynamic full-stack web applications that lifted user engagement.","Built and released native iOS and Android apps, expanding the company's mobile presence.","Administered server configs and maintenance for optimal performance and security.","Streamlined delivery with early DevOps practices on configured Linux servers."],tags:["PHP","JavaScript","iOS","Android","Linux"]},{year:"2018â19",org:"Mayfer",url:"https://mayfer.dev/en/home-2/",title:"Mid Software Engineer",location:"Guatemala",period:"2018 â 2019",scope:"MOBILE · PAYMENTS",bullets:["Developed mobile applications across iOS and Android.","Integrated payment-gateway flows for secure in-app transactions.","Collaborated cross-functionally to ship features on tight delivery cycles."],tags:["iOS","Android","Payment Gateways","Mobile"]},{year:"2019â21",org:"Meteo.tech / D.A.P",url:"https://meteo.tech/",title:"Senior Fullstack Engineer",location:"Guatemala · Costa Rica",period:"2019 â 2021",scope:"GEOSPATIAL · WEB3",bullets:["Led advanced meteorological platforms with interactive, real-time maps.","Built climate-risk assessment apps supporting strategic planning and resilience.","Shipped Biota.land â a Web3 NFT marketplace for carbon credits.","Drove data accuracy and engagement across climatological products."],tags:["React","Node.js","PostgreSQL","Web3","Mapping"],linksLabel:"Related",links:[{label:"D.A.P",url:"https://dap.rocks/"}]},{year:"2021â25",org:"Burlingame Studios",url:"https://bgamestudios.com/",title:"Lead Fullstack Engineer â CMS",location:"San Mateo, CA",period:"2021 â 2025",scope:"AAA GAMES · CMS · DEVOPS",bullets:["Led and mentored a team of five full-stack engineers.","Built robust CMS platforms with efficie
1nt content pipelines for AAA game development.","Rendered game assets via headless Unity clusters serving millions of users.","Implemented AI-driven localization across four languages, cutting time-to-market.","Designed scalable cloud infra & DevOps: automated testing, queues, autoscaling."],tags:["TypeScript","Unity","GCP","DevOps","AI Localization"],linksLabel:"Garden Joy â shipped title",links:[{label:"Website",url:"https://www.gardenjoygame.com/"},{label:"App Store",url:"https://apps.apple.com/us/app/garden-joy-exterior-designer/id1618284064"},{label:"Google Play",url:"https://play.google.com/store/apps/details?id=com.scopely.gardenjoy&hl=en"}]},{year:"2025",org:"Interactive AI",url:"https://interactive.ai/",title:"Lead Fullstack Engineer",location:"Madrid, ES",period:"2025",scope:"AGENTIC AI · OBSERVABILITY",bullets:["Architected & launched an LLM observability platform â zero to production in under 6 months.",'Engineered a Generative-UI "Agent-Builder" copilot for composing agent behaviors.',"Built a high-throughput telemetry engine on FastAPI + ClickHouse (tokens, latency, traces).","Developed MCP-based agent orchestration with a smart AI Router for cost/performance.","Shipped an agent-first CLI + SDK; designed GCP infra with Terraform & Kubernetes.","Drove ISO 27001, SOC2, GDPR & EU AI Act technical alignment and certification."],tags:["Go","Python","FastAPI","ClickHouse","MCP","Kubernetes","Terraform"]},{year:"2025ânow",org:"HazelHeartwood",url:"https://hazelheartwood.com/",title:"Lead AI Engineering Consultant",location:"Madrid, ES · EU",period:"2025 â Present",scope:"AI CONSULTING · STRATEGY â IMPACT",bullets:["Guide human organizations through AI-driven change â from roadmap to measurable impact.","Design and build complex multidisciplinary agent-orchestration architectures and systems.","Consult, implement, and embed AI agents and systems into production within large EU enterprises.","Translate business strategy into pragmatic, compliant agentic architectures.","Partner with internal teams to upskill engineers and de-risk adoption at scale."],tags:["AI Strategy","Agent Orchestration","Agentic Systems","Enterprise","EU"]}],g=[{year:"2016",title:"IB Diploma Programme",org:"SEK International School, Ecuador"},{year:"2017â2020",title:"BSc Computer Science & Engineering",org:"Universidad Francisco MarroquÃn · DevOps, Cloud & Web"},{year:"2022â2023",title:"Master in Management â STEM",org:"EAE Business School, Madrid"}],h=[{span:"span 2",cat:"AI & Agents",items:["MCP","AG-UI","LLM Routing","LangGraph","LangChain","OpenRouter","OpenAI API","Azure AI Foundry","Google AI Studio","Langfuse","RAG","Vector Search","CLI Development","AI-Native CI/CD","Coding Agents"]},{span:"span 1",cat:"Frontend",items:["Next.js","React","Generative UI","Tailwind","Angular"]},{span:"span 1",cat:"Backend & Languages",items:["Go","Python","FastAPI","Node.js","TypeScript","PHP"]},{span:"span 2",cat:"Cloud / IaC",items:["Terraform","Kubernetes","Docker","AWS","GCP","Azure","GitHub Actions","GitLab CI"]},{span:"span 1",cat:"Data Stores",items:["ClickHouse","PostgreSQL","Redis","MySQL","MongoDB","DynamoDB"]},{span:"span 1",cat:"Compliance & Trust",items:["ISO 27001","SOC2","GDPR","EU AI Act"]}],u=["GO","PYTHON","TYPESCRIPT","KUBERNETES","TERRAFORM","CLICKHOUSE","FASTAPI","MCP","POSTGRES","NEXT.JS","GCP","REDIS"],m=[{label:"Email",value:"[email protected]",icon:"@",url:"mailto:[email protected]"},{label:"WhatsApp",value:"+34 677 893 008",icon:"â",url:"https://wa.me/34677893008"},{label:"LinkedIn",value:"/in/amadrazo",icon:"in",url:"https://www.linkedin.com/in/amadrazo/"},{label:"GitHub",value:"@rmadrazo97",icon:"{}",url:"https://github.com/rmadrazo97"}],f=(0,t.jsx)("span",{style:{display:"inline-block",width:"0.55ch",height:"1em",background:"#FF5A1F",transform:"translateY(0.14em)",marginLeft:2,animation:"blink 1s step-end infinite"}}),x={fontFamily:o,fontSize:11,color:"#5C574C",background:"#EFEBE2",border:"1px solid #D7D0C2",padding:"4px 9px",borderRadius:6},y={fontFamily:o,fontSize:11,letterSpacing:"0.14em",color:"#FF5A1F",marginBottom:10},b={fontFamily:o,fontSize:30,fontWeight:700,letterSpacing:"-0.01em",margin:0};e.s(["default",0,function(){let[e,v]=(0,i.useState)(""),[F,j]=(0,i.useState)(null),{width:C,isMobile:A,isTablet:S}=(0,a.useViewport)(),I=C<=360,w=A?"52px 20px":S?"60px 28px":"74px 40px";(0,i.useEffect)(()=>{let e=["LLM ROUTING & OBSERVABILITY","AGENT ORCHESTRATION (MCP)","G
1ENERATIVE UI COPILOTS","CLOUD INFRASTRUCTURE (IaC)","HIGH-PERFORMANCE BACKENDS"],t="ABCDEFGHJKLMNPRSTUVWXYZ0123456789/#<>*",i=0,n=0,r=0,a=setInterval(()=>{let a=e[i],l="";if(r>0)r--,l=a;else{n+=.7;for(let e=0;e<a.length;e++){if(" "===a[e]){l+=" ";continue}l+=e<n?a[e]:t[Math.floor(Math.random()*t.length)]}n>=a.length&&(r=40,n=0,i=(i+1)%e.length)}v(l)},55);return()=>clearInterval(a)},[]);let k=F??p.length-1,E=p[k],T=p.length<=1?"0%":`${k/(p.length-1)*100}%`,D=String(c.length).padStart(2,"0");return(0,t.jsxs)("div",{style:{background:"#EFEBE2",minHeight:"100vh",fontFamily:s,color:"#17150F",position:"relative",overflowX:"hidden"},children:[(0,t.jsx)("div",{style:{position:"fixed",inset:0,backgroundImage:"radial-gradient(#CDC6B6 1px, transparent 1px)",backgroundSize:"22px 22px",opacity:.5,pointerEvents:"none",zIndex:0}}),(0,t.jsx)(r.default,{onHome:!0}),(0,t.jsx)("header",{id:"top",style:{position:"relative",zIndex:2,maxWidth:1180,margin:"0 auto",padding:A?"44px 20px 52px":S?"56px 28px 64px":"70px 40px 80px"},children:(0,t.jsxs)("div",{style:{display:"grid",gridTemplateColumns:A||S?"1fr":"1.08fr 0.92fr",gap:A?28:40,alignItems:"center"},children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{style:{fontFamily:o,fontSize:12,letterSpacing:"0.16em",textTransform:"uppercase",color:"#FF5A1F",marginBottom:18,display:"flex",alignItems:"center",gap:10},children:[(0,t.jsx)("span",{style:{width:22,height:1,background:"#FF5A1F"}}),"Senior AI Engineer · Fullstack · Technical Lead"]}),(0,t.jsx)("div",{style:{fontFamily:o,fontWeight:700,fontSize:"clamp(28px,3.6vw,40px)",letterSpacing:"-0.02em",lineHeight:1,marginBottom:18,color:"#17150F"},children:"Alex Madrazo"}),(0,t.jsxs)("h1",{style:{fontFamily:o,fontWeight:700,fontSize:"clamp(30px,4.4vw,52px)",lineHeight:1.05,letterSpacing:"-0.02em",margin:"0 0 26px",color:"#5C574C"},children:["Shipping Agentic Systems",(0,t.jsx)("br",{}),"in ",(0,t.jsx)("span",{style:{color:"#FF5A1F"},children:"production"})]}),(0,t.jsx)("p",{style:{fontFamily:s,fontSize:18,lineHeight:1.6,color:"#3A362E",maxWidth:520,margin:"0 0 22px"},children:"I architect the foundational infrastructure for AI-native applications â LLM routing, agent observability, and the cloud platforms beneath them â backed by 8+ years leading teams from business strategy to delivered software."}),(0,t.jsxs)("div",{style:{fontFamily:o,fontSize:13,color:"#5C574C",marginBottom:34},children:[(0,t.jsx)("span",{style:{color:"#FF5A1F"},children:"$"})," am --skill"," ",(0,t.jsx)("span",{style:{color:"#908A7C"},children:">>"})," ",(0,t.jsx)("span",{style:{color:"#17150F",fontWeight:600},children:e}),f]}),(0,t.jsxs)("div",{style:{display:"flex",gap:14,flexWrap:"wrap",alignItems:"center"},children:[(0,t.jsxs)("a",{href:"#work",className:"btn-dark",style:{background:"#FF5A1F",color:"#fff",fontFamily:o,fontSize:13,fontWeight:600,padding:"13px 22px",borderRadius:8,display:"inline-flex",gap:8,alignItems:"center"},children:["View selected work ",(0,t.jsx)("span",{children:"â"})]}),(0,t.jsx)("a",{href:"#contact",className:"btn-outline",style:{border:"1px solid #C7C0B0",color:"#17150F",fontFamily:o,fontSize:13,fontWeight:600,padding:"13px 22px",borderRadius:8},children:"Get in touch"}),(0,t.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:8,fontFamily:o,fontSize:12,color:"#5C574C",marginLeft:6},children:[(0,t.jsx)("span",{style:{width:7,height:7,borderRadius:"50%",background:"#1B9C5A",display:"inline-block",animation:"pulseDot 1.6s ease-in-out infinite"}}),"Available · Madrid, ES"]})]})]}),(0,t.jsxs)("div",{style:{position:"relative",display:"flex",alignItems:"center",justifyContent:"center",minHeight:A?300:380,transform:A?I?"scale(0.8)":"scale(0.9)":void 0,transformOrigin:"center"},children:[(0,t.jsx)("span",{style:{position:"absolute",top:0,left:0,width:16,height:16,borderTop:"1.5px solid #17150F",borderLeft:"1.5px solid #17150F"}}),(0,t.jsx)("span",{style:{position:"absolute",top:0,right:0,width:16,height:16,borderTop:"1.5px solid #17150F",borderRight:"1.5px solid #17150F"}}),(0,t.jsx)("span",{style:{position:"absolute",bottom:0,left:0,width:16,height:16,borderBottom:"1.5px solid #17150F",borderLeft:"1.5px solid #17150F"}}),(0,t.jsx)("span",{style:{position:"absolute",bottom:0,right:0,width:16,height:16,borderBottom:"1.5px solid #17150F",borderRight:"1.5px solid #17150F"}}),(0,t.jsx)("div",{style:{position:"absolute",width:300,height:300,border:"1px solid #DDD6C8",borderRadius:"50%"}}),(0,t.jsx)(n,{size:A?240:300}),!I&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{style:{position:"absolute",top:14,right:8,fontFamily:o,fontSize:10,lineHeight:1.9,color:"#5C574C",textAlign:"left"},children:[(0,t.jsx)("div",{style:{color:"#A39C8C"},children:"âSTATE"}),(0,t.jsx)("div",{children:"EVOLVING"}),(0,t.jsx)("div",{style:{color:"#A39C8C",marginTop:8},children:"âSIGNAL"}),(0,t.jsx)("div",{style:{color:"#FF5A1F"},children:"UNSTABLE"})]}),(0,t.jsxs)("div",{style:{position:"absolute",bottom:14,left:8,fontFamily:o,fontSize:10,lineHeight:1.9,color:"#5C574C"},children:[(0,t.jsx)("div",{style:{color:"#A39C8C"},children:"âNODE"}),(0,t.jsx)("div",{children:"AM // MADRID"})]})]})]})]})}),(0,t.jsx)("section",{id:"services",style:{position:"relative",zIndex:2,borderTop:"1px solid #D7D0C2",background:"rgba(252,251,246,0.45)"},children:(0,t.jsxs)("div",{style:{maxWidth:1180,margin:"0 auto",padding:w},children:[(0,t.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"baseline",marginBottom:40,flexWrap:"wrap",gap:12},children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{style:y,children:"// 01 â CAPABILITIES"}),(0,t.jsx)("h2",{style:b,children:"What I build"})]}),(0,t.jsx)("p",{style:{fontFamily:s,fontSize:15,color:"#5C574C",maxWidth:360,margin:0,lineHeight:1.6}
1,children:"Not a list of tools â the systems I own end-to-end, from infrastructure to the interface on top."})]}),(0,t.jsx)("div",{style:{display:"grid",gridTemplateColumns:A?"1fr":S?"repeat(2,1fr)":"repeat(3,1fr)",gap:18},children:d.map(e=>(0,t.jsxs)("div",{className:"card-hover",style:{background:"#FCFBF6",border:"1px solid #D7D0C2",borderRadius:14,padding:"28px 24px",display:"flex",flexDirection:"column",gap:14},children:[(0,t.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,t.jsx)("span",{style:{fontFamily:o,fontSize:12,color:"#FF5A1F",fontWeight:600},children:e.no}),(0,t.jsx)("span",{style:{fontFamily:o,fontSize:13,color:"#C7C0B0"},children:e.glyph})]}),(0,t.jsx)("h3",{style:{fontFamily:o,fontSize:18,fontWeight:700,letterSpacing:"-0.01em",margin:0,lineHeight:1.2},children:e.title}),(0,t.jsx)("p",{style:{fontFamily:s,fontSize:14.5,lineHeight:1.6,color:"#3A362E",margin:0,flexGrow:1},children:e.desc}),(0,t.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:7,paddingTop:4},children:e.tags.map(e=>(0,t.jsx)("span",{style:x,children:e},e))})]},e.no))})]})}),(0,t.jsx)("section",{id:"work",style:{position:"relative",zIndex:2,borderTop:"1px solid #D7D0C2"},children:(0,t.jsxs)("div",{style:{maxWidth:1180,margin:"0 auto",padding:w},children:[(0,t.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-end",flexWrap:"wrap",gap:12,marginBottom:24},children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{style:y,children:"// 02 â SELECTED WORK"}),(0,t.jsx)("h2",{style:b,children:"Projects I've shipped"})]}),(0,t.jsxs)("div",{style:{fontFamily:o,fontSize:11,color:"#908A7C",display:"flex",alignItems:"center",gap:8},children:[(0,t.jsx)("span",{style:{color:"#FF5A1F"},children:"â"})," scroll · ",D," ","projects"]})]}),(0,t.jsx)("div",{className:"work-scroll",style:{maxHeight:A?"none":660,overflowY:A?"visible":"auto",paddingRight:10*!A,display:"flex",flexDirection:"column",gap:16},children:c.map(e=>(0,t.jsxs)("div",{className:"card-hover",style:{flexShrink:0,background:"#FCFBF6",border:"1px solid #D7D0C2",borderRadius:16,overflow:"hidden",display:"grid",gridTemplateColumns:A||S?"1fr":"1fr 300px"},children:[(0,t.jsxs)("div",{style:{padding:A?"20px 18px":"24px 26px",display:"flex",flexDirection:"column",gap:13},children:[(0,t.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",fontFamily:o,fontSize:11,letterSpacing:"0.05em",color:"#908A7C"},children:[(0,t.jsx)("span",{children:e.tag}),(0,t.jsx)("span",{style:{color:"#FF5A1F"},children:e.status})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{style:{fontFamily:o,fontSize:11,color:"#908A7C",marginBottom:7},children:[e.org," · ",e.period]}),(0,t.jsx)("h3",{style:{fontFamily:o,fontSize:23,fontWeight:700,letterSpacing:"-0.01em",margin:0,color:"#17150F"},children:e.title})]}),(0,t.jsx)("p",{style:{fontFamily:s,fontSize:15,lineHeight:1.62,color:"#3A362E",margin:0,flexGrow:1},children:e.blurb}),(0,t.jsxs)("div",{style:{fontFamily:o,fontSize:13,display:"flex",alignItems:"center",gap:10},children:[(0,t.jsx)("span",{style:{color:"#FF5A1F",fontWeight:700,fontSize:21},children:e.metric}),(0,t.jsx)("span",{style:{color:"#908A7C"},children:e.metricLabel})]}),(0,t.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:7,paddingTop:2},children:e.tags.map(e=>(0,t.jsx)("span",{style:x,children:e},e))}),e.url&&(0,t.jsxs)("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",className:"glitch-link",style:{alignSelf:"flex-start",marginTop:4,fontFamily:o,fontSize:12.5,fontWeight:700,color:"#fff",background:"#FF5A1F",border:"1px solid #FF5A1F",padding:"9px 16px",borderRadius:8,display:"inline-flex",alignItems:"center",gap:8},children:[e.urlLabel," ",(0,t.jsx)("span",{style:{fontSize:13},children:"â"})]})]}),(0,t.jsxs)("div",{style:{position:"relative",...A||S?{borderTop:"1px solid #E3DDD0",height:200}:{borderLeft:"1px solid #E3DDD0"},background:"#F3EFE6",backgroundImage:"radial-gradient(#D7D0C2 1px, transparent 1px)",backgroundSize:"16px 16px",display:"flex",alignItems:"center",justifyContent:"center",minHeight:200,overflow:"hidden"},children:[(0,t.jsx)("span",{style:{position:"absolute",top:10,left:10,width:12,height:12,borderTop:"1.5px solid #C7C0B0",borderLeft:"1.5px solid #C7C0B0",zIndex:2}}),(0,t.jsx)("span",{style:{position:"absolute",bottom:10,right:10,width:12,height:12,borderBottom:"1.5px solid #C7C0B0",borderRight:"1.5px solid #C7C0B0",zIndex:2}}),e.img?(0,t.jsx)("img",{src:e.img,alt:`${e.title} preview`,style:{position:"absolute",inset:0,width:"100%",height:"100%",objectFit:e.imgFit??"cover",objectPosition:"contain"===e.imgFit?"center":"left top"}}):(0,t.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",gap:10,color:"#A39C8C"},children:[(0,t.jsx)("span",{style:{width:46,height:46,borderRadius:11,background:"#FCFBF6",border:"1px solid #D7D0C2",display:"flex",alignItems:"center",justifyContent:"center",fontSize:20,color:"#FF5A1F"},children:e.glyph}),(0,t.jsx)("span",{style:{fontFamily:o,fontSize:10,letterSpacing:"0.1em",textTransform:"uppercase"},children:"preview"})]})]})]},e.title))})]})}),(0,t.jsx)("section",{id:"timeline",style:{position:"relative",zIndex:2,borderTop:"1px solid #D7D0C2",background:"rgba(252,251,246,0.45)"},children:(0,t.jsxs)("div",{style:{maxWidth:1180,margin:"0 auto",padding:w},children:[(0,t.jsxs)("div",{style:{marginBottom:42},children:[(0,t.jsx)("div",{style:y,children:"// 03 â TRAJECTORY"}),(0,t.jsx)("h2",{style:b,children:"The path so far"}),(0,t.jsxs)("p",{style:{fontFamily:s,fontSize:15,color:"#5C574C",margin:"12px 0 0",maxWidth:480,lineHeight:1.6},children:["Select a node to inspect the role."," ",(0,t.jsx)("span",{style:{fontFamily:o,fontSize:12,color:"#908A7C"},children:"[ click to expand ]"})]})]}),(0,t.jsxs)("div",{style:{position:"relative",margin:"0 0 30px"},children:[!A&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{style:{position:"absolute",top:11,left:0,right:0,height:2,background:"#D7D0C2"}}),(0,t.jsx)("div",{style:{position:"absolute",top:11,left:0,height:2,background:"#FF5A1F",width:T,transition:"width 0.35s ease"}})]}),(0,t.jsx)("div",{style:{display:"flex",flexDirection:A?"column":"row",justifyContent:A?"flex-start":"space-between",gap:A?6:void 0,position:"relative"},children:p.map((e,i)=>{let n=i===k;return(0,t.jsxs)("button",{onClick:()=>j(i),style:{background:n&&A?"#FCFBF6":"none",border:A?`1px solid ${n?"#FF5A1F":"#D7D0C2"}`:"none",borderRadius:12*!!A,cursor:"pointer",padding:A?"12px 14px":0,width:A?"100%":void 0,minHeight:A?44:void 0,display:"flex",flexDirection:A?"row":"column",alignItems:"center",gap:A?14:12,flex:A?void 0:1},children:[(0,t.jsx)("span",{style:{width:24,height:24,flexShrink:0,borderRadius:"50%",border:`2px solid ${n?"#FF5A1F":"#C7C0B0"}`,background:n?"#FF5A1F":"#EFEBE2",display:"flex",alignItems:"center",justifyContent:"center"},children:(0,t.jsx)("span",{style:{width:8,height:8,borderRadius:"50%",background:n?"#fff":"#C7C0B0"}})}),(0,t.jsxs)("span",{style:{textAlign:"left",display:A?"flex":"block",flexDirection:A?"row":void 0,alignItems:A?"baseline":void 0,gap:A?10:void 0,flexWrap:A?"wrap":void 0},children:[(0,t.jsx)("span",{style:{display:"block",fontFamily:o,fontSize:13,fontWeight:700,color:n?"#F
1F5A1F":"#17150F"},children:e.year}),(0,t.jsx)("span",{style:{display:"block",fontFamily:o,fontSize:11,color:"#908A7C",marginTop:3*!A},children:e.org})]})]},i)})})]}),(0,t.jsxs)("div",{style:{background:"#1A1813",border:"1px solid #2E2A22",borderRadius:16,padding:A?"22px 18px":"34px 34px 32px",color:"#EFEBE2"},children:[(0,t.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",flexWrap:"wrap",gap:16,marginBottom:22},children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{style:{fontFamily:o,fontSize:12,color:"#FF5A1F",letterSpacing:"0.06em",marginBottom:10},children:[E.period," · ",E.location]}),(0,t.jsx)("h3",{style:{fontFamily:o,fontSize:26,fontWeight:700,letterSpacing:"-0.01em",margin:0,color:"#F4F0E6"},children:E.title}),(0,t.jsxs)("a",{href:E.url,target:"_blank",rel:"noopener noreferrer",className:"glitch-link",style:{fontFamily:o,fontSize:13,fontWeight:600,color:"#17150F",background:"#EFEBE2",padding:"9px 16px",borderRadius:8,border:"1px solid transparent",marginTop:12,display:"inline-flex",alignItems:"center",gap:8},children:[E.org," ",(0,t.jsx)("span",{style:{fontSize:13},children:"â"})]})]}),(0,t.jsxs)("div",{style:{fontFamily:o,fontSize:11,color:"#7A7565",textAlign:"right",lineHeight:1.8},children:[(0,t.jsxs)("div",{children:["âCHAPTER ",String(k+1).padStart(2,"0"),"/",String(p.length).padStart(2,"0")]}),(0,t.jsx)("div",{style:{color:"#C9C3B4"},children:E.scope})]})]}),(0,t.jsx)("div",{style:{display:"grid",gridTemplateColumns:A?"1fr":"1fr 1fr",gap:A?"14px":"14px 34px",marginBottom:24},children:E.bullets.map((e,i)=>(0,t.jsxs)("div",{style:{display:"flex",gap:12,alignItems:"flex-start"},children:[(0,t.jsx)("span",{style:{color:"#FF5A1F",fontFamily:o,fontSize:13,marginTop:2},children:"â"}),(0,t.jsx)("span",{style:{fontFamily:s,fontSize:14.5,lineHeight:1.55,color:"#D9D3C6"},children:e})]},i))}),(0,t.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:8,borderTop:"1px solid #2E2A22",paddingTop:20,alignItems:"center"},children:E.tags.map(e=>(0,t.jsx)("span",{style:{fontFamily:o,fontSize:11,color:"#C9C3B4",background:"#252118",border:"1px solid #38332A",padding:"5px 11px",borderRadius:6},children:e},e))}),E.links&&E.links.length>0&&(0,t.jsxs)("div",{style:{marginTop:22,background:"#211A12",border:"1px solid #3A2A1C",borderRadius:12,padding:"16px 18px",display:"flex",alignItems:"center",gap:18,flexWrap:"wrap"},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:9,fontFamily:o,fontSize:11,letterSpacing:"0.06em",color:"#FF5A1F",textTransform:"uppercase"},children:[(0,t.jsx)("span",{style:{width:7,height:7,borderRadius:"50%",background:"#FF5A1F",display:"inline-block",animation:"pulseDot 1.6s ease-in-out infinite"}}),E.linksLabel??"Links"]}),(0,t.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:10},children:E.links.map(e=>(0,t.jsxs)("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",className:"glitch-link",style:{fontFamily:o,fontSize:12.5,fontWeight:600,color:"#17150F",background:"#EFEBE2",padding:"9px 16px",borderRadius:8,border:"1px solid transparent",display:"inline-flex",alignItems:"center",gap:8},children:[e.label," ",(0,t.jsx)("span",{style:{fontSize:13},children:"â"})]},e.url))})]})]}),(0,t.jsx)("div",{style:{marginTop:24,display:"grid",gridTemplateColumns:A?"1fr":"repeat(3,1fr)",gap:14},children:g.map(e=>(0,t.jsxs)("div",{style:{background:"#FCFBF6",border:"1px solid #D7D0C2",borderRadius:12,padding:"18px 20px"},children:[(0,t.jsx)("div",{style:{fontFamily:o,fontSize:11,color:"#FF5A1F",marginBottom:8},children:e.year}),(0,t.jsx)("div",{style:{fontFamily:o,fontSize:13.5,fontWeight:700,color:"#17150F",lineHeight:1.3},children:e.title}),(0,t.jsx)("div",{style:{fontFamily:s,fontSize:13,color:"#5C574C",marginTop:5},children:e.org})]},e.title))})]})}),(0,t.jsx)("section",{id:"stack",style:{position:"relative",zIndex:2,borderTop:"1px solid #D7D0C2"},children:(0,t.jsxs)("div",{style:{maxWidth:1180,margin:"0 auto",padding:A?"52px 20px 40px":S?"60px 28px 40px":"74px 40px 40px"},children:[(0,t.jsxs)("div",{style:{marginBottom:38},children:[(0,t.jsx)("div",{style:y,children:"// 04 â STACK"}),(0,t.jsx)("h2",{style:b,children:"Works across the stack"}),(0,t.jsx)("p",{style:{fontFamily:s,fontSize:15,color:"#5C574C",margin:"12px 0 0",maxWidth:460,lineHeight:1.6},children:"From the intelligence layer down to the platform it runs on â no framework lock-in."})]}),(0,t.jsx)("div",{style:{display:"grid",gridTemplateColumns:A?"1fr":"repeat(2,1fr)",gap:16},children:h.map(e=>(0,t.jsxs)("div",{style:{gridColumn:A?"auto":e.span,background:"#FCFBF6",border:"1px solid #D7D0C2",borderRadius:14,padding:24},children:[(0,t.jsx)("div",{style:{fontFamily:o,fontSize:13,fontWeight:700,letterSpacing:"-0.01em",color:"#17150F",marginBottom:14},children:e.cat}),(0,t.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:8},children:e.items.map(e=>(0,t.jsxs)("span",{className:"chip-hover",style:{fontFamily:o,fontSize:11.5,color:"#3A362E",background:"#FFFFFF",border:"1px solid #DDD6C8",padding:"5px 10px 5px 6px",borderRadius:7,display:"inline-flex",alignItems:"center",gap:7},children:[(0,t.jsx)("span",{style:{width:16,height:16,borderRadius:4,background:"#F0ECE2",border:"1px solid #DDD6C8",display:"flex",alignItems:"center",justifyContent:"center",fontSize:8,fontWeight:700,color:"#A39C8C",flexShrink:0},children:(e.match(/[A-Za-z0-9]/)?.[0]??"#").toUpperCase()}),e]},e))})]},e.cat))})]})}),(0,t.jsx)("section",{style:{position:"relative",zIndex:2},children:(0,t.jsx)("div",{style:{background:"#1A1813",borderTop:"1px solid #2E2A22",borderBottom:"1px solid #2E2A22",padding:"16px 0",overflow:"hidden"},children:(0,t.jsxs)("div",{style:{display:"flex",width:"max-content",animation:"marquee 22s linear infinite"},children:[(0,t.jsx)("div",{style:{display:"flex",gap:34,paddingRight:34},children:u.map((e,i)=>(0,t.jsxs)("span",{style:{fontFamily:o,fontSize:14,fontWeight:600,color:"#C9C3B4",whiteSpace:"nowrap"},children:[e," ",(0,t.jsx)("span",{style:{color:"#FF5A1F"},children:"/"})]},i))}),(0,t.jsx)("div",{style:{display:"flex",gap:34,paddingRight:34},"aria-hidden":"true",children:u.map((e,i)=>(0,t.jsxs)("span",{style:{fontFamily:o,fontSize:14,fontWeight:600,color:"#C9C3B4",whiteSpace:"nowrap"},children:[e," ",(0,t.jsx)("span",{style:{color:"#FF5A1F"},children:"/"})]},i))})]})})}),(0,t.jsx)("section",{id:"writing",style:{position:"relative",zIndex:2,borderTop:"1px solid #D7D0C2"},children:(0,t.jsxs)("div",{style:{maxWidth:1180,margin:"0 auto",padding:w},children:[(0,t.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-end",flexWrap:"wrap",gap:12,marginBottom:28},children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{style:y,children:"// 05 â WRITING"}),(0,t.jsx)("h2",{style:b,children:"Notes from the build"})]}),(0,t.jsx)("a",{href:"/blog",className:"nav-link",style:{fontFamily:o,fontSize:12.5,fontWeight:600,color:"#17150F"},children:"Read all writing â"})]}),(0,t.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:16},children:l.slice(0,2).map(e=>{var i;return(0,t.jsxs)("a",{href:`/blog/${e.slug}`,className:"card-hover",style:{display:"block",background:"#FCFBF6",border:"1px solid #D7D0C2",borderRadius:16,padding:"26px 28px"},children:[(0,t.jsxs)("div",{style:{fontFamily:o,fontSize:11,letterSpacing:"0.05em",color:"#908A7C",marginBottom:11,display:"flex",gap:14,flexWrap:"wrap"},children:[(0,t.jsx)("span",{children:(i=e.date,new Date(`${i}T00:00:00Z`).toLocaleDateString("en-US",{year:"numeric",month:"long",day:"numeric",timeZone:"UTC"}))}),(0,t.jsx)("span",{style:{color:"#FF5A1F"},children:e.readingTime})]}),(0,t.jsx)("h3",{style:{fontFamily:o,fontSize:22,fontWeight:700,letterSpacing:"-0.01em",margin:"0 0 11px",color:"#17150F",lineHeight:1.2},children:e.title}),(0,t.jsx)("p",{style:{fontFamily:s,fontSize:15,lineHeight:1.6,color:"#3A362E",margin:"0 0 14px",maxWidth:720},children:e.excerpt}),(0,t.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:7},children:e.tags.map(e=>(0,t.jsx)("span",{style:x,children:e},e))})]},e.slug)})})]})}),(0,t.jsx)("section",{id:"contact",style:{position:"relative",zIndex:2,borderTop:"1px solid #D7D0C2",background:"rgba(252,251,246,0.45)"},children:(0,t.jsxs)("div",{style:{maxWidth:1180,margin:"0 auto",padding:A?"52px 20px":S?"60px 28px":"80px 40px"},children:[(0,t.jsx)("div",{style:{...y,marginBottom:18},children:"// 06 â CONTACT"}),(0,t.jsxs)("h2",{style:{fontFamily:o,fontSize:"clamp(30px,4.5vw,52px)",fontWeight:700,letterSpacing:"-0.02em",margin:"0 0 32px",lineHeight:1.08},children:["Let's build something",(0,t.jsx)("br",{}),"that ships."]}),(0,t.jsxs)("div",{style:{background:"#1A1813",border:"1px solid #2E2A22",borderRadius:12,overflow:"hidden",boxShadow:"0 28px 70px -34px rgba(20,18,12,0.55)"},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:7,padding:"13px 18px",borderBottom:"1px solid #2E2A22"},children:[(0,t.jsx)("span",{style:{width:11,height:11,borderRadius:"50%",background:"#FF5A1F"}}),(0,t.jsx)("span",{style:{width:11,height:11,borderRadius:"50%",background:"#EFEBE2",opacity:.35}}),(0,t.jsx)("span",{style:{width:11,height:11,borderRadius:"50%",background:"#EFEBE2",opacity:.2}}),(0,t.jsx)("span",{style:{marginLeft:10,fontFamily:o,fontSize:11,color:"#7A7565",letterSpacing:"0.05em"},children:"am@madrid ~ /contact"}),(0,t.jsxs)("span",{style:{marginLeft:"auto",display:"inline-flex",alignItems:"center",gap:7,fontFamily:o,fontSize:11,color:"#1B9C5A"},children:[(0,t.jsx)("span",{style:{width:7,height:7,borderRadius:"50%",background:"#1B9C5A",dis
1play:"inline-block",animation:"pulseDot 1.6s ease-in-out infinite"}}),"available"]})]}),(0,t.jsxs)("div",{style:{padding:A?"20px 16px 24px":"26px 26px 30px",fontFamily:o},children:[(0,t.jsxs)("div",{style:{fontSize:13,color:"#7A7565",marginBottom:8},children:[(0,t.jsx)("span",{style:{color:"#FF5A1F"},children:"$"})," am --connect"," ",(0,t.jsx)("span",{style:{color:"#908A7C"},children:"--all"})]}),(0,t.jsxs)("div",{style:{fontSize:13,color:"#C9C3B4",marginBottom:22,lineHeight:1.7},children:["â opening 4 channels · pick one to reach me directly",f]}),(0,t.jsx)("div",{style:{display:"grid",gridTemplateColumns:A?"1fr":"repeat(auto-fit,minmax(225px,1fr))",gap:12},children:m.map(e=>(0,t.jsxs)("a",{href:e.url,target:"_blank",rel:"noopener noreferrer",className:"glitch-link channel",style:{display:"flex",alignItems:"center",gap:13,background:"#211A12",border:"1px solid #3A2E22",borderRadius:10,padding:"14px 16px",color:"#EFEBE2"},children:[(0,t.jsx)("span",{style:{width:34,height:34,borderRadius:8,background:"#15120C",border:"1px solid #3A2E22",display:"flex",alignItems:"center",justifyContent:"center",flexShrink:0,color:"#FF5A1F",fontSize:14,fontWeight:700},children:e.icon}),(0,t.jsxs)("span",{style:{display:"flex",flexDirection:"column",gap:2,minWidth:0},children:[(0,t.jsx)("span",{style:{fontSize:10,letterSpacing:"0.08em",textTransform:"uppercase",color:"#7A7565"},children:e.label}),(0,t.jsx)("span",{style:{fontSize:13,fontWeight:600,color:"#F4F0E6",overflowWrap:"anywhere"},children:e.value})]}),(0,t.jsx)("span",{style:{marginLeft:"auto",color:"#7A7565",fontSize:13},children:"â"})]},e.label))}),(0,t.jsxs)("div",{style:{fontSize:12,color:"#5C574C",marginTop:24,paddingTop:18,borderTop:"1px solid #2E2A22"},children:[(0,t.jsx)("span",{style:{color:"#FF5A1F"},children:"$"})," _"]})]})]})]})}),(0,t.jsx)("footer",{style:{position:"relative",zIndex:2,borderTop:"1px solid #D7D0C2"},children:(0,t.jsxs)("div",{style:{maxWidth:1180,margin:"0 auto",padding:A?"20px":"22px 40px",display:"flex",justifyContent:"space-between",alignItems:"center",fontFamily:o,fontSize:11,color:"#908A7C",letterSpacing:"0.05em",flexWrap:"wrap",gap:10},children:[(0,t.jsx)("span",{children:"© 2026 JOSà A. MADRAZO AVILA"}),(0,t.jsx)("span",{children:"MADRID, ES · CET"}),(0,t.jsx)("span",{style:{color:"#FF5A1F"},children:"AM // SYSTEMS, SHIPPED."})]})})]})}],52683)}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.