| Server IP : 35.80.110.71 / Your IP : 216.73.216.221 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ip-172-31-21-44 6.17.0-1019-aws #19~24.04.1-Ubuntu SMP Tue Jun 23 18:53:06 UTC 2026 x86_64 User : ubuntu ( 1000) PHP Version : 8.3.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/philiprehberger-nextjs/.next/static/chunks/ |
Upload File : |
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[499],{598:(e,o,r)=>{r.r(o),r.d(o,{default:()=>c});var t=r(5155),n=r(1130);function c(e){let{children:o,delay:r=0,className:c=""}=e;return(0,t.jsx)(n.P.div,{initial:{opacity:0,y:40},whileInView:{opacity:1,y:0},viewport:{once:!0,margin:"-100px"},transition:{duration:.5,delay:r,ease:"easeOut"},className:c,children:o})}},2821:(e,o,r)=>{r.d(o,{A:()=>t});let t=function(){for(var e,o,r=0,t="",n=arguments.length;r<n;r++)(e=arguments[r])&&(o=function e(o){var r,t,n="";if("string"==typeof o||"number"==typeof o)n+=o;else if("object"==typeof o)if(Array.isArray(o)){var c=o.length;for(r=0;r<c;r++)o[r]&&(t=e(o[r]))&&(n&&(n+=" "),n+=t)}else for(t in o)o[t]&&(n&&(n+=" "),n+=t);return n}(e))&&(t&&(t+=" "),t+=o);return t}},4216:(e,o,r)=>{r.d(o,{ProjectCard:()=>d});var t=r(5155),n=r(2115),c=r(2619),i=r.n(c),l=r(4652),a=r.n(l),s=r(2821);function d(e){let{title:o,description:r,technologies:c,imageUrl:l,link:d,className:g}=e,[u,m]=(0,n.useState)(!1),A=(0,s.A)("group block overflow-hidden rounded-xl","bg-white dark:bg-gray-900","border border-gray-200 dark:border-gray-800","transition-all hover:shadow-lg hover:border-gray-300 dark:hover:border-gray-700",g),h=(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"relative aspect-video overflow-hidden bg-gray-100 dark:bg-gray-800",children:l?(0,t.jsx)(a(),{src:l,alt:o,fill:!0,sizes:"(max-width: 640px) 100vw, (max-width: 1024px) 50vw, 33vw",className:(0,s.A)("object-cover transition-all duration-500",u?"scale-100 blur-0 group-hover:scale-105":"scale-105 blur-sm"),placeholder:"blur",blurDataURL:"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMCwsLCgwMDQwMDA0MDAsMDBEQEBEQFBQUFBQUFBQUFBQUFBT/wAALCAAIAAoBAREA/8QAFgABAQEAAAAAAAAAAAAAAAAABgAH/8QAIhAAAQMEAgIDAAAAAAAAAAAAAQIDBAUGESEAEgcxQWFx/9oACAEBAAA/AN8hT5dVdUFT1hwrOEqOVYHhJ+vnPsfepPLkC3LZtSJR6KHEtuqCnH3PW4o+8a/MfX4yB0qnz/9k=",onLoad:()=>m(!0)}):(0,t.jsx)("div",{className:"absolute inset-0 flex items-center justify-center",children:(0,t.jsx)(a(),{src:"/images/placeholder.svg",alt:"Project screenshot coming soon",fill:!0,className:"object-cover"})})}),(0,t.jsxs)("div",{className:"p-6",children:[(0,t.jsx)("h3",{className:"text-xl font-semibold text-gray-900 dark:text-white group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors",children:o}),(0,t.jsx)("p",{className:"mt-2 text-gray-600 dark:text-gray-400 line-clamp-2",children:r}),(0,t.jsxs)("div",{className:"mt-4 flex flex-wrap gap-2",children:[c.slice(0,4).map(e=>(0,t.jsx)("span",{className:"px-2 py-1 text-xs font-medium bg-gray-100 dark:bg-gray-800 text-gray-700 dark:text-gray-300 rounded",children:e},e)),c.length>4&&(0,t.jsxs)("span",{className:"px-2 py-1 text-xs text-gray-500 dark:text-gray-400",children:["+",c.length-4," more"]})]})]})]});return d?(0,t.jsx)(i(),{href:d,className:A,children:h}):(0,t.jsx)("div",{className:A,children:h})}},4652:(e,o,r)=>{Object.defineProperty(o,"__esModule",{value:!0}),!function(e,o){for(var r in o)Object.defineProperty(e,r,{enumerable:!0,get:o[r]})}(o,{default:function(){return a},getImageProps:function(){return l}});let t=r(8140),n=r(5040),c=r(1356),i=t._(r(1124));function l(e){let{props:o}=(0,n.getImgProps)(e,{defaultLoader:i.default,imgConf:{deviceSizes:[640,750,828,1080,1200,1920,2048],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!1}});for(let[e,r]of Object.entries(o))void 0===r&&delete o[e];return{props:o}}let a=c.Image},5221:(e,o,r)=>{r.d(o,{PackageCard:()=>a});var t=r(5155),n=r(2821),c=r(457),i=r(8289);let l={npm:{label:"npm",icon:c.cC7,color:"#CB3837",badgeBg:"bg-red-100 dark:bg-red-900/30 text-red-700 dark:text-red-400"},pypi:{label:"PyPI",icon:c.bVm,color:"#3775A9",badgeBg:"bg-blue-100 dark:bg-blue-900/30 text-blue-700 dark:text-blue-400"},go:{label:"Go",icon:c.ZRx,color:"#00ADD8",badgeBg:"bg-cyan-100 dark:bg-cyan-900/30 text-cyan-700 dark:text-cyan-400"},crates:{label:"crates.io",icon:c.xZd,color:"#000000",badgeBg:"bg-amber-100 dark:bg-amber-900/30 text-amber-700 dark:text-amber-400"},packagist:{label:"Composer",icon:c.fmr,color:"#885630",badgeBg:"bg-orange-100 dark:bg-orange-900/30 text-orange-700 dark:text-orange-400"}};function a(e){let{name:o,description:r,registry:a,url:s,github:d,technologies:g}=e,u=l[a],m=g[0],A=u.icon;return(0,t.jsxs)("div",{className:(0,n.A)("group rounded-xl p-5","bg-white dark:bg-gray-900","border border-gray-200 dark:border-gray-800","transition-all hover:shadow-lg hover:border-gray-300 dark:hover:border-gray-700","flex flex-col h-full"),children:[(0,t.jsxs)("div",{className:"flex items-start gap-4 mb-3",children:[(0,t.jsx)("div",{className:"shrink-0 flex items-center justify-center w-10 h-10 rounded-lg bg-gray-100 dark:bg-gray-800",children:(0,t.jsx)(i.A,{name:m,className:"h-5 w-5",colored:!0})}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,t.jsx)("h3",{className:"text-sm font-semibold text-gray-900 dark:text-white group-hover:text-blue-600 dark:group-hover:text-blue-400 transition-colors leading-tight break-all",children:o}),(0,t.jsx)("span",{className:(0,n.A)("shrink-0 px-2 py-0.5 text-xs font-medium rounded-full",u.badgeBg),children:u.label})]}),g.length>1&&(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5 mt-1.5",children:g.slice(1).map(e=>(0,t.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs text-gray-500 dark:text-gray-400",children:[(0,t.jsx)(i.A,{name:e,className:"h-3 w-3",colored:!0}),e]},e))})]})]}),(0,t.jsx)("p",{className:"text-sm text-gray-600 dark:text-gray-400 line-clamp-2 mb-4 flex-1",children:r}),(0,t.jsxs)("div",{className:"flex items-center gap-3 mt-auto pt-3 border-t border-gray-100 dark:border-gray-800",children:[(0,t.jsx)("a",{href:s,target:"_blank",rel:"noopener noreferrer",title:"View on ".concat(u.label),className:"text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 transition-colors",children:(0,t.jsx)(A,{className:"h-4 w-4",style:{color:void 0}})}),(0,t.jsx)("a",{href:d,target:"_blank",rel:"noopener noreferrer",title:"View on GitHub",className:"text-gray-400 hover:text-gray-600 dark:hover:text-gray-300 transition-colors",children:(0,t.jsx)(c.SrF,{className:"h-4 w-4"})})]})]})}},6724:(e,o,r)=>{r.d(o,{k5:()=>d});var t=r(2115),n={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},c=t.createContext&&t.createContext(n),i=["attr","size","title"];function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var o=1;o<arguments.length;o++){var r=arguments[o];for(var t in r)({}).hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e}).apply(null,arguments)}function a(e,o){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);o&&(t=t.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),r.push.apply(r,t)}return r}function s(e){for(var o=1;o<arguments.length;o++){var r=null!=arguments[o]?arguments[o]:{};o%2?a(Object(r),!0).forEach(function(o){var t,n,c;t=e,n=o,c=r[o],(n=function(e){var o=function(e,o){if("object"!=typeof e||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var t=r.call(e,o||"default");if("object"!=typeof t)return t;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===o?String:Number)(e)}(e,"string");return"symbol"==typeof o?o:o+""}(n))in t?Object.defineProperty(t,n,{value:c,enumerable:!0,configurable:!0,writable:!0}):t[n]=c}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach(function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(r,o))})}return e}function d(e){return o=>t.createElement(g,l({attr:s({},e.attr)},o),function e(o){return o&&o.map((o,r)=>t.createElement(o.tag,s({key:r},o.attr),e(o.child)))}(e.child))}function g(e){var o=o=>{var r,{attr:n,size:c,title:a}=e,d=function(e,o){if(null==e)return{};var r,t,n=function(e,o){if(null==e)return{};var r={};for(var t in e)if(({}).hasOwnProperty.call(e,t)){if(-1!==o.indexOf(t))continue;r[t]=e[t]}return r}(e,o);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(e);for(t=0;t<c.length;t++)r=c[t],-1===o.indexOf(r)&&({}).propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}(e,i),g=c||o.size||"1em";return o.className&&(r=o.className),e.className&&(r=(r?r+" ":"")+e.className),t.createElement("svg",l({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},o.attr,n,d,{className:r,style:s(s({color:e.color||o.color},o.style),e.style),height:g,width:g,xmlns:"http://www.w3.org/2000/svg"}),a&&t.createElement("title",null,a),e.children)};return void 0!==c?t.createElement(c.Consumer,null,e=>o(e)):o(n)}},8289:(e,o,r)=>{r.d(o,{A:()=>d});var t=r(5155),n=r(457),c=r(898),i=r(3828),l=r(9637);let a={React:{icon:n.GWR,color:"#61DAFB"},"React Native":{icon:n.GWR,color:"#61DAFB"},"Next.js":{icon:n.wlC,color:"#000000"},TypeScript:{icon:n.cyb,color:"#3178C6"},JavaScript:{icon:n.AeH,color:"#F7DF1E"},"Node.js":{icon:n.h$$,color:"#5FA04E"},PHP:{icon:n.XeU,color:"#777BB4"},Laravel:{icon:n.kuL,color:"#FF2D20"},"Laravel Passport":{icon:n.kuL,color:"#FF2D20"},"Laravel Sanctum":{icon:n.kuL,color:"#FF2D20"},Angular:{icon:n.h47,color:"#0F0F11"},"Vue.js":{icon:n.Zmg,color:"#4FC08D"},"Alpine.js":{icon:n.Krq,color:"#8BC0D0"},Python:{icon:n.ptC,color:"#3776AB"},Go:{icon:n.ZRx,color:"#00ADD8"},Rust:{icon:n.xZd,color:"#000000"},"Express.js":{icon:n.t5I,color:"#000000"},"Tailwind CSS":{icon:n.IR8,color:"#06B6D4"},"Sass / SCSS":{icon:n.$Ue,color:"#CC6699"},"Styled Components":{icon:n.WJ9,color:"#DB7093"},PostgreSQL:{icon:n.$Wy,color:"#4169E1"},MySQL:{icon:n.z33,color:"#4479A1"},MongoDB:{icon:n.$pK,color:"#47A248"},Redis:{icon:n.mIs,color:"#FF4438"},DynamoDB:{icon:c.x0_,color:"#4053D6"},SQLite:{icon:n.H$_,color:"#003B57"},MariaDB:{icon:n.$On,color:"#003545"},Elasticsearch:{icon:n.Uhn,color:"#005571"},Docker:{icon:n.tih,color:"#2496ED"},AWS:{icon:c.x0_,color:"#FF9900"},"AWS API Gateway":{icon:i.vwk,color:"#FF9900"},"AWS CloudFront":{icon:i.gCm,color:"#FF9900"},"AWS CloudWatch":{icon:i.tmj,color:"#FF9900"},"AWS RD":{icon:i.nBS,color:"#FF9900"},"AWS S3":{icon:i.qZY,color:"#FF9900"},"AWS EC2":{icon:i.vwk,color:"#FF9900"},"AWS ECS":{icon:i.vwk,color:"#FF9900"},"Amazone ECS":{icon:i.vwk,color:"#FF9900"},Kubernetes:{icon:n.tev,color:"#326CE5"},Terraform:{icon:n.PyV,color:"#844FBA"},Ansible:{icon:n.Xsd,color:"#EE0000"},"Google Cloud":{icon:n.lpS,color:"#4285F4"},Linode:{icon:l.ir4,color:"#00A95C"},Apache:{icon:n.PAE,color:"#D22128"},Git:{icon:n.rYG,color:"#F05032"},"GitHub Actions":{icon:n.R6r,color:"#2088FF"},Vercel:{icon:n.ogR,color:"#000000"},Jest:{icon:n.tT5,color:"#C21325"},Playwright:{icon:i.dn2,color:"#2EAD33"},PHPUnit:{icon:n.XeU,color:"#777BB4"},Pest:{icon:n.XeU,color:"#777BB4"},GraphQL:{icon:n.S9M,color:"#E10098"},Prisma:{icon:n.bzD,color:"#2D3748"},Redux:{icon:n.fpf,color:"#764ABC"},Kafka:{icon:n.rmh,color:"#231F20"},Prometheus:{icon:n.zPG,color:"#E6522C"},Sentry:{icon:n.yB7,color:"#362D59"},"Chart.js":{icon:n.x6n,color:"#FF6384"},"Framer Motion":{icon:n.ieP,color:"#0055FF"},Storybook:{icon:n.dLL,color:"#FF4785"},Vite:{icon:n.zUm,color:"#646CFF"},Webpack:{icon:n.Kkd,color:"#8DD6F9"},Turbopack:{icon:n.ogR,color:"#000000"},Swagger:{icon:n.B5b,color:"#85EA2D"},Zod:{icon:n.Kh4,color:"#3E67B1"},WebAssembly:{icon:n.oTy,color:"#654FF0"},Auth0:{icon:n.vTi,color:"#EB5424"},"OpenAI API":{icon:n.pz8,color:"#412991"},OpenTelemetry:{icon:n.gRq,color:"#000000"},OpenAPI:{icon:n.hgj,color:"#6BA539"},gRPC:{icon:n.i$7,color:"#0091BD"},Vitest:{icon:n.yep,color:"#6E9F18"},"Google Cloud APIs":{icon:n.lpS,color:"#4285F4"},"High Availability":{icon:i.cBd,color:"#10B981"},"Platform Engineering":{icon:i.wZu,color:"#6366F1"},"Scalable Systems":{icon:i.ph9,color:"#8B5CF6"},"Edge Functions":{icon:i.lHQ,color:"#F59E0B"},"Technical Due Diligence":{icon:i.aZA,color:"#0EA5E9"},Observability:{icon:n.Rln,color:"#60BFBF"},JSON:{icon:n.zUx,color:"#000000"},"Performance Optimization":{icon:i.NnV,color:"#EF4444"},"Distributed Systems":{icon:i.W7e,color:"#7C3AED"},"AWS Amplify":{icon:c.x0_,color:"#FF9900"},"AWS DynamoDB":{icon:i.nBS,color:"#FF9900"},"AWS VPC":{icon:i.nVN,color:"#FF9900"},FastAPI:{icon:n.B44,color:"#009688"},"OWASP Top 10":{icon:n.XFh,color:"#000000"},RBAC:{icon:i.e7y,color:"#6366F1"},WebAuthn:{icon:n.o8s,color:"#3423A6"},"Cloud Architecture":{icon:i.xH,color:"#0EA5E9"},"Enterprise Architecture":{icon:i.plo,color:"#6366F1"},"AI Integrations":{icon:i.y8Q,color:"#8B5CF6"},"AWS RDS":{icon:i.nBS,color:"#FF9900"},"AWS Route 53":{icon:i.$Fg,color:"#FF9900"},Microservices:{icon:i.lHt,color:"#06B6D4"},"HTTP/3":{icon:n.lV6,color:"#73DC8C"},"Security Auditing":{icon:i.H59,color:"#EF4444"},"API Gateways":{icon:i.vwk,color:"#0EA5E9"},NestJS:{icon:n.Owm,color:"#E0234E"},"API Design":{icon:n.B5b,color:"#85EA2D"},"Serverless Framework":{icon:n.HcX,color:"#FD5750"},"Google Firebase":{icon:n.iWE,color:"#DD2C00"},"API Rate Limiting / Throttling":{icon:i.NnV,color:"#F59E0B"},"Message Queues":{icon:i.p0_,color:"#7C3AED"},"Server-Sent Events (SSE)":{icon:i._8$,color:"#0EA5E9"},Remix:{icon:n.MmQ,color:"#000000"},Expo:{icon:n.Dzh,color:"#000020"},"Redis Streams":{icon:n.mIs,color:"#FF4438"},RedisJSON:{icon:n.mIs,color:"#FF4438"},RedisGraph:{icon:n.mIs,color:"#FF4438"},ReCAPTCHA:{icon:i.RSY,color:"#4285F4"},"SOC 2":{icon:i.RSY,color:"#6366F1"},"GDPR Compliance":{icon:i.RSY,color:"#0EA5E9"},Postman:{icon:n.fZk,color:"#FF6C37"},"HTTP/2":{icon:n.lV6,color:"#73DC8C"},"Service Worker Caching Strategies":{icon:l.rDf,color:"#3B82F6"},Zapier:{icon:n.gZd,color:"#FF4A00"},WebRTC:{icon:n.mgR,color:"#333333"},"Tailwind UI":{icon:n.IR8,color:"#06B6D4"},"HIPAA Compliance":{icon:i.RSY,color:"#10B981"},Lighthouse:{icon:n.h82,color:"#F44B21"},"IDS/IPS":{icon:l.nfp,color:"#6366F1"},"ISO 27001":{icon:l.nfp,color:"#6366F1"},NIST:{icon:l.nfp,color:"#6366F1"},SIEM:{icon:l.nfp,color:"#6366F1"},SAML:{icon:l.tWn,color:"#6366F1"},JWT:{icon:l.tWn,color:"#FB015B"},OAuth:{icon:l.tWn,color:"#3C3C3D"},"OpenID Connect":{icon:l.tWn,color:"#F78C40"},CDN:{icon:l.ir4,color:"#3B82F6"},"REST APIs":{icon:l.bNs,color:"#3B82F6"},WebSockets:{icon:l.ir4,color:"#3B82F6"},Webhooks:{icon:l.ir4,color:"#3B82F6"},"Progressive Web Apps":{icon:l.ir4,color:"#5A0FC8"},"Service Workers":{icon:l.rDf,color:"#3B82F6"},SEO:{icon:l.ir4,color:"#4285F4"},SQL:{icon:l.o8d,color:"#4479A1"},CRM:{icon:l.o8d,color:"#FF6B35"},"CI/CD":{icon:l.pEQ,color:"#2088FF"},NPM:{icon:n.cC7,color:"#CB3837"},Composer:{icon:n.fmr,color:"#885630"}},s={icon:l.bNs,color:"#6B7280"};function d(e){let{name:o,className:r="h-4 w-4",colored:n=!1}=e,c=a[o]||s,i=c.icon;return(0,t.jsx)(i,{className:r,style:n?{color:c.color}:void 0,"aria-hidden":"true"})}},9009:(e,o,r)=>{r.d(o,{default:()=>a});var t=r(5155),n=r(2115),c=r(8561);let i={some:0,all:1};var l=r(1130);function a(e){let{target:o,duration:r=2,suffix:a="",label:s}=e,d=(0,n.useRef)(null),g=function(e){let{root:o,margin:r,amount:t,once:l=!1,initial:a=!1}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},[s,d]=(0,n.useState)(a);return(0,n.useEffect)(()=>{if(!e.current||l&&s)return;let n={root:o&&o.current||void 0,margin:r,amount:t};return function(e,o,{root:r,margin:t,amount:n="some"}={}){let l=(0,c.K)(e),a=new WeakMap,s=new IntersectionObserver(e=>{e.forEach(e=>{let r=a.get(e.target);if(!!r!==e.isIntersecting)if(e.isIntersecting){let r=o(e.target,e);"function"==typeof r?a.set(e.target,r):s.unobserve(e.target)}else"function"==typeof r&&(r(e),a.delete(e.target))})},{root:r,rootMargin:t,threshold:"number"==typeof n?n:i[n]});return l.forEach(e=>s.observe(e)),()=>s.disconnect()}(e.current,()=>(d(!0),l?void 0:()=>d(!1)),n)},[o,e,r,l,t]),s}(d,{once:!0,margin:"-50px"}),[u,m]=(0,n.useState)(0);return(0,n.useEffect)(()=>{if(!g)return;let e=performance.now(),t=1e3*r;requestAnimationFrame(function r(n){let c=Math.min((n-e)/t,1);m(Math.round((1-Math.pow(1-c,3))*o)),c<1&&requestAnimationFrame(r)})},[g,o,r]),(0,t.jsxs)(l.P.div,{ref:d,initial:{opacity:0,y:20},animate:g?{opacity:1,y:0}:{},transition:{duration:.5},className:"text-center",children:[(0,t.jsxs)("div",{className:"text-4xl md:text-5xl font-bold gradient-text",children:[u,a]}),(0,t.jsx)("div",{className:"mt-2 text-sm text-gray-600 dark:text-gray-400 font-medium",children:s})]})}},9480:(e,o,r)=>{r.d(o,{TechMarquee:()=>l});var t=r(5155),n=r(2115),c=r(8289);let i=["AI Integrations","Alpine.js","Angular","Ansible","Apache","API Design","API Gateways","API Rate Limiting / Throttling","Auth0","AWS Amplify","AWS API Gateway","AWS CloudFront","AWS CloudWatch","AWS DynamoDB","AWS EC2","AWS ECS","AWS RDS","AWS Route 53","AWS S3","AWS VPC","AWS","CDN","Chart.js","CI/CD","Cloud Architecture","Composer","CRM","Distributed Systems","Docker","Edge Functions","Elasticsearch","Enterprise Architecture","Expo","Express.js","FastAPI","Framer Motion","GDPR Compliance","Git","GitHub Actions","Go","Google Cloud APIs","Google Cloud","Google Firebase","GraphQL","gRPC","High Availability","HIPAA Compliance","HTTP/2","HTTP/3","IDS/IPS","ISO 27001","JavaScript","Jest","JSON","JWT","Kafka","Kubernetes","Laravel Passport","Laravel Sanctum","Laravel","Lighthouse","Linode","MariaDB","Message Queues","Microservices","MongoDB","MySQL","NestJS","Next.js","NIST","Node.js","NPM","OAuth","Observability","OpenAI API","OpenAPI","OpenID Connect","OpenTelemetry","OWASP Top 10","Performance Optimization","Pest","PHP","PHPUnit","Platform Engineering","Playwright","PostgreSQL","Postman","Prisma","Progressive Web Apps","Prometheus","Python","RBAC","React Native","React","ReCAPTCHA","Redis Streams","Redis","RedisGraph","RedisJSON","Redux","Remix","REST APIs","SAML","Sass / SCSS","Scalable Systems","Security Auditing","Sentry","SEO","Server-Sent Events (SSE)","Serverless Framework","Service Worker Caching Strategies","Service Workers","SIEM","SOC 2","SQL","SQLite","Storybook","Styled Components","Swagger","Tailwind CSS","Tailwind UI","Technical Due Diligence","Terraform","Turbopack","TypeScript","Vercel","Vite","Vitest","Vue.js","WebAssembly","WebAuthn","Webhooks","Webpack","WebRTC","WebSockets","Zapier","Zod"];function l(){let[e,o]=(0,n.useState)(i);(0,n.useEffect)(()=>{o(function(e){let o=[...e];for(let e=o.length-1;e>0;e--){let r=Math.floor(Math.random()*(e+1));[o[e],o[r]]=[o[r],o[e]]}return o}(i))},[]);let r=2*e.length,l=e.map((e,o)=>(0,t.jsxs)("span",{className:"mx-4 inline-flex items-center gap-2 bg-transparent px-4 py-1.5 text-sm font-medium text-gray-700 dark:text-gray-300 shrink-0",children:[(0,t.jsx)(c.A,{name:e,colored:!0,className:"h-6 w-6 shrink-0"}),e]},o));return(0,t.jsx)("div",{className:"relative overflow-hidden py-6 mt-4",children:(0,t.jsxs)("div",{className:"flex w-max",style:{animation:"marquee ".concat(r,"s linear infinite")},children:[(0,t.jsx)("div",{className:"flex shrink-0",children:l}),(0,t.jsx)("div",{className:"flex shrink-0","aria-hidden":"true",children:l})]})})}}}]);