Help
RSS
API
Feed
Maltego
Contact
Domain > dorokhovich.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2025-07-05
3.171.171.71
(
ClassC
)
2026-02-22
3.169.173.27
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyServer: CloudFrontDate: Sun, 22 Feb 2026 23:42:19 GMTContent-Type: text/htmlContent-Length: 167Connection: keep-aliveLocation: https://dorokhovich.com/X-Cache: Redirect from cloudfrontVia: 1.1 6a31d7747628574e9fa26dd40efa100a.cloudfront.net (CloudFront)X-Amz-Cf-Pop: HIO52-P4X-Amz-Cf-Id: BK-xkp3KLJ7NS_1foq7NAc_Nv_MyL0eflNQvPyEambSr0kmHuDDuPw html>head>title>301 Moved Permanently/title>/head>body>center>h1>301 Moved Permanently/h1>/center>hr>center>CloudFront/center>/body>/html>
Port 443
HTTP/1.1 200 OKContent-Type: text/html; charsetutf-8Content-Length: 160396Connection: keep-aliveDate: Sun, 22 Feb 2026 23:42:20 GMTX-Amzn-Trace-Id: Root1-699b945b-256272f307ae634a25acc19a;Parent5cf651c23fa1ecb4;Sampled0;Lineage1:64de3087:0x-amzn-RequestId: 1908b0fd-bbbb-4c3e-96b8-0e740bfe7df1x-opennext: 1Cache-Control: private, no-cache, no-store, max-age0, must-revalidatex-powered-by: Next.jsx-middleware-next: 1Link: /_next/static/media/e4af272ccee01ff0-s.p.woff2>; relpreload; asfont; crossorigin; typefont/woff2, /_next/static/css/f7a039edf557f7e9.css>; relpreload; asstyle, /_next/static/css/cedb22984637c867.css>; relpreload; asstyleX-Cache: Miss from cloudfrontVia: 1.1 2d69093e294db929b26be80ccee94472.cloudfront.net (CloudFront)X-Amz-Cf-Pop: HIO52-P4X-Amz-Cf-Id: W1FmnYDe3cBcwNL45Pa1ItPUBfgP-X_D2Bl5zUsJi3ldrL7T98gYGw !DOCTYPE html>html langen>head>meta charSetutf-8/>meta contentwidthdevice-width, initial-scale1 nameviewport/>meta nameviewport contentwidthdevice-width, initial-scale1/>link relpreload asimage href/images/mikhail-profile.png/>link relpreload asimage href/images/tech/ruby-logo.png/>link relpreload asimage href/images/tech/js-logo.png/>link relpreload asimage href/images/tech/typescript-logo.png/>link relpreload asimage href/images/tech/go-logo.png/>link relpreload asimage href/images/tech/python-logo.png/>link relpreload asimage href/images/tech/react-logo.png/>link relpreload asimage href/images/tech/nodejs-logo.png/>link relpreload asimage href/images/tech/postgresql-logo.png/>link relpreload asimage href/images/tech/graphql-logo.png/>link relstylesheet href/_next/static/css/f7a039edf557f7e9.css data-precedencenext/>link relstylesheet href/_next/static/css/cedb22984637c867.css data-precedencenext/>link relpreload asscript fetchPrioritylow href/_next/static/chunks/webpack-371b92b1560e3b8f.js/>script src/_next/static/chunks/4bd1b696-035add798a440e9e.js async>/script>script src/_next/static/chunks/1684-1cdfe62727af93ae.js async>/script>script src/_next/static/chunks/main-app-26c368d2df288a6c.js async>/script>script src/_next/static/chunks/4277-8448fba076ff7080.js async>/script>script src/_next/static/chunks/6874-c18f53812331e7e8.js async>/script>script src/_next/static/chunks/9506-f323e79a14af920d.js async>/script>script src/_next/static/chunks/5593-d16c55e498a2842b.js async>/script>script src/_next/static/chunks/app/layout-ed0a234938ae1ff7.js async>/script>script src/_next/static/chunks/6766-a62953e42710b8f9.js async>/script>script src/_next/static/chunks/4449-d8f334003fff9fa3.js async>/script>script src/_next/static/chunks/9571-f4d202efa1d7c5dd.js async>/script>script src/_next/static/chunks/app/page-9effdc3a153c5366.js async>/script>meta namenext-size-adjust content/>link hrefhttps://fonts.googleapis.com relpreconnect/>link crossoriginanonymous hrefhttps://fonts.gstatic.com relpreconnect/>link href/favicon-96x96.png relicon sizes96x96 typeimage/png/>link href/favicon.svg relicon typeimage/svg+xml/>link href/favicon.ico relshortcut icon/>link href/apple-touch-icon.png relapple-touch-icon sizes180x180/>meta contentmikhaild nameapple-mobile-web-app-title/>link href/site.webmanifest relmanifest/>meta content6360b9c93ef95a27 nameyandex-verification/>meta content99c04ee4aec8ca90 nameyandex-verification/>meta content37C222DB54BC163A4EC4795A25BC6F3D namemsvalidate.01/>link href/rss.xml relalternate titleDorokhovich — Blog RSS typeapplication/rss+xml/>title>Mikhail Dorokhovich | Senior Full Stack Developer & Software Architect/title>meta namedescription contentSenior Full Stack Developer with 9+ years of experience building scalable web applications. Expert in Ruby, JavaScript, Go, Python, and modern system architecture. Available for consulting and development projects./>link relauthor hrefhttps://dorokhovich.com/>meta nameauthor contentMikhail Dorokhovich/>meta namekeywords contentMikhail Dorokhovich,Full Stack Developer,Senior Developer,Ruby on Rails,React,Node.js,Go,Python,JavaScript,TypeScript,Docker,System Architecture,Microservices,DevOps,CI/CD,TDD,DDD,Web Development,Software Engineering,Tech Consulting/>meta namecreator contentMikhail Dorokhovich/>meta namepublisher contentMikhail Dorokhovich/>link relcanonical hrefhttps://dorokhovich.com/>meta propertyog:title contentMikhail Dorokhovich | Senior Full Stack Developer & Software Architect/>meta propertyog:description contentSenior Full Stack Developer with 9+ years of experience building scalable web applications. Expert in Ruby, JavaScript, Go, Python, and modern system architecture. Available for consulting and development projects./>meta propertyog:url contenthttps://dorokhovich.com/>meta propertyog:site_name contentMikhail Dorokhovich Portfolio/>meta propertyog:locale contenten/>meta propertyog:image contenthttps://dorokhovich.com/images/mikhail-profile.png/>meta propertyog:image:alt contentMikhail Dorokhovich - Senior Full Stack Developer/>meta propertyog:image:width content1200/>meta propertyog:image:height content630/>meta propertyog:type contentwebsite/>meta nametwitter:card contentsummary_large_image/>meta nametwitter:title contentMikhail Dorokhovich | Senior Full Stack Developer & Software Architect/>meta nametwitter:description contentSenior Full Stack Developer with 9+ years of experience building scalable web applications. Expert in Ruby, JavaScript, Go, Python, and modern system architecture. Available for consulting and development projects./>meta nametwitter:image contenthttps://dorokhovich.com/images/mikhail-profile.png/>script>document.querySelectorAll(body linkrelicon, body linkrelapple-touch-icon).forEach(el > document.head.appendChild(el))/script>script src/_next/static/chunks/polyfills-42372ed130431b0a.js noModule>/script>/head>body class__className_f367f3>!--$-->!--$!-->template data-dgstBAILOUT_TO_CLIENT_SIDE_RENDERING>/template>!--/$-->!--/$-->script>((e,t,r,n,o,i,a,s)>{let ldocument.documentElement,ulight,dark;function c(t){var r;(Array.isArray(e)?e:e).forEach(e>{let rclasse,nr&&i?o.map(e>ie||e):o;r?(l.classList.remove(...n),l.classList.add(i&&it?it:t)):l.setAttribute(e,t)}),rt,s&&u.includes(r)&&(l.style.colorSchemer)}if(n)c(n);else try{let elocalStorage.getItem(t)||r,na&&systeme?window.matchMedia((prefers-color-scheme: dark)).matches?dark:light:e;c(n)}catch(e){}})(class,theme,system,null,light,dark,null,true,true)/script>div classflex min-h-screen flex-col>!--$-->header classsticky top-0 z-50 w-full border-b backdrop-blur transition-all border-transparent bg-transparent>div classcontainer mx-auto flex h-16 max-w-7xl items-center justify-between px-2 sm:px-4>a classtext-gradient max-w-180px truncate text-base font-bold sm:max-w-none sm:text-lg md:text-xl href/>Mikhail Dorokhovich/a>nav classhidden items-center gap-4 md:flex lg:gap-6>a classgroup relative text-xs font-medium transition-colors hover:text-blue-600 dark:hover:text-blue-400 lg:text-sm text-blue-600 dark:text-blue-400 href/>Homespan classabsolute -bottom-1 left-0 h-0.5 w-full bg-blue-500 dark:bg-blue-400>/span>/a>a classgroup relative text-xs font-medium transition-colors hover:text-blue-600 dark:hover:text-blue-400 lg:text-sm text-muted-foreground href/about>About/a>a classgroup relative text-xs font-medium transition-colors hover:text-blue-600 dark:hover:text-blue-400 lg:text-sm text-muted-foreground href/experience>Experience/a>a classgroup relative text-xs font-medium transition-colors hover:text-blue-600 dark:hover:text-blue-400 lg:text-sm text-muted-foreground href/projects>Projects/a>a classgroup relative text-xs font-medium transition-colors hover:text-blue-600 dark:hover:text-blue-400 lg:text-sm text-muted-foreground href/competencies>Competencies/a>a classgroup relative text-xs font-medium transition-colors hover:text-blue-600 dark:hover:text-blue-400 lg:text-sm text-muted-foreground href/blog>Blog/a>a classgroup relative text-xs font-medium transition-colors hover:text-blue-600 dark:hover:text-blue-400 lg:text-sm text-muted-foreground href/contact>Contact/a>/nav>div classhidden items-center gap-2 md:flex lg:gap-4>a classinline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 &_svg:pointer-events-none &_svg:size-4 &_svg:shrink-0 bg-primary text-primary-foreground hover:bg-primary/90 h-10 py-2 btn-gradient px-2 text-xs lg:px-4 lg:text-sm href/contact?subjectWork%20Inquiry>Collaboration/a>/div>div classflex items-center gap-2 md:hidden>button classinline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 &_svg:pointer-events-none &_svg:size-4 &_svg:shrink-0 hover:text-accent-foreground h-10 w-10 p-1 text-slate-600 hover:bg-slate-100 dark:text-slate-400 dark:hover:bg-slate-800/50 aria-labelOpen menu>svg xmlnshttp://www.w3.org/2000/svg width18 height18 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-menu aria-hiddentrue>line x14 x220 y112 y212>/line>line x14 x220 y16 y26>/line>line x14 x220 y118 y218>/line>/svg>/button>/div>/div>/header>!--/$-->main classgrow>div classcustom-scrollbar>!--$-->div classfixed bottom-6 right-6 z-50 max-w-md styleopacity:0;transform:translateY(-20px)>div classrounded-lg bg-card text-card-foreground overflow-hidden border-2 border-blue-500 shadow-lg>div classabsolute right-2 top-2>button classinline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 &_svg:pointer-events-none &_svg:size-4 &_svg:shrink-0 hover:bg-accent hover:text-accent-foreground size-6 rounded-full aria-labelClose notification>svg xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-x size-4 aria-hiddentrue>path dM18 6 6 18>/path>path dm6 6 12 12>/path>/svg>/button>/div>div classp-6>div classmb-3 flex items-center gap-2>div classsize-3 animate-pulse rounded-full bg-blue-500>/div>p classtext-sm font-medium text-blue-500>Currently Available/p>/div>h3 classmb-2 text-xl font-bold>Available for Part-Time Work/h3>p classmb-4 text-muted-foreground>If you need a developer for your project, I'm available for new opportunities./p>div classmb-4 space-y-2>div classflex items-center gap-2>svg xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-circle-check-big size-4 text-blue-500>path dM21.801 10A10 10 0 1 1 17 3.335>/path>path dm9 11 3 3L22 4>/path>/svg>span classtext-sm>Remote collaboration/span>/div>div classflex items-center gap-2>svg xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-clock size-4 text-blue-500>circle cx12 cy12 r10>/circle>polyline points12 6 12 12 16 14>/polyline>/svg>span classtext-sm>Up to 20 hours per week/span>/div>div classflex items-center gap-2>svg xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-calendar size-4 text-blue-500>path dM8 2v4>/path>path dM16 2v4>/path>rect width18 height18 x3 y4 rx2>/rect>path dM3 10h18>/path>/svg>span classtext-sm>Flexible scheduling/span>/div>/div>a classinline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 &_svg:pointer-events-none &_svg:size-4 &_svg:shrink-0 bg-primary text-primary-foreground hover:bg-primary/90 h-10 px-4 py-2 btn-gradient w-full href/contact?subjectWork%20Inquiry>Let's Work Together/a>/div>/div>/div>!--/$-->div classrelative overflow-hidden py-20 md:py-32>div classrelative z-10>div classcontainer mx-auto max-w-7xl px-4>div classflex flex-col items-center justify-between gap-8 md:flex-row>div classflex-1>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>h1 classtext-gradient mb-4 text-5xl font-bold md:text-7xl>Mikhail Dorokhovich/h1>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>h2 classmb-6 text-2xl text-muted-foreground md:text-3xl>Lead Full Stack Developer/h2>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>p classmb-8 max-w-2xl text-lg>9+ years of demonstrated track-record of success developing complex software solutions with Ruby, Python, JavaScript, Go, and more./p>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classflex flex-wrap gap-3>a classinline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 &_svg:pointer-events-none &_svg:size-4 &_svg:shrink-0 bg-primary text-primary-foreground hover:bg-primary/90 h-11 rounded-md px-8 btn-gradient href/contact?subjectWork%20Inquiry>Collaboration/a>a classinline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 &_svg:pointer-events-none &_svg:size-4 &_svg:shrink-0 border-input bg-background hover:text-accent-foreground h-11 rounded-md px-8 border-2 transition-all duration-300 hover:bg-slate-500/10 href/projects>View Projects/a>a classinline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 &_svg:pointer-events-none &_svg:size-4 &_svg:shrink-0 border-input bg-background hover:text-accent-foreground h-11 rounded-md px-8 border-2 transition-all duration-300 hover:bg-slate-500/10 href/blog>Read Blog/a>/div>/div>/div>div classrelative>div classrelative z-10 size-64 animate-float overflow-hidden rounded-full border-4 border-slate-500/20 shadow-lg md:size-80>div classrelative overflow-hidden size-full object-cover idimg--images-mikhail-profile-png-724 stylewidth:100%;height:auto;max-width:320px>img altmikhailProfileAlt loadingeager width320 height320 decodingasync data-nimg1 classw-full transition-opacity duration-300 opacity-0 stylecolor:transparent;object-fit:contain;width:100%;height:auto src/images/mikhail-profile.png/>div aria-hiddentrue classabsolute inset-0 animate-pulse rounded bg-slate-200 dark:bg-slate-800 styleaspect-ratio:320 / 320>/div>/div>/div>div classabsolute -right-4 -top-4 size-full animate-pulse rounded-full bg-gradient-to-br from-slate-500 to-blue-500 opacity-20 blur-2xl>/div>/div>/div>/div>/div>/div>div classrelative overflow-hidden py-20>div classrelative z-10>div classcontainer mx-auto max-w-7xl px-4>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>h2 classtext-gradient mb-8 text-center text-4xl font-bold>Skills & Expertise/h2>/div>div classmb-12 flex flex-wrap justify-center gap-3>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classinline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300>Ruby/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classinline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300>JavaScript/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classinline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300>Go/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classinline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300>Python/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classinline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300>Clojure/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classinline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300>PHP/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classinline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300>Ruby on Rails/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classinline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300>React/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classinline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300>Redux/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classinline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300>GraphQL/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classinline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300>Node.js/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classinline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300>Express.js/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classinline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300>NestJS/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classinline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300>Angular/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classinline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300>RxJS/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classinline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300>PostgreSQL/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classinline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300>MongoDB/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classinline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300>Redis/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classinline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300>Docker/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classinline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300>K8S/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classinline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300>AWS/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classinline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300>GCP/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classinline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300>Terraform/div>/div>/div>/div>/div>/div>div classrelative overflow-hidden py-20>div classrelative z-10>div classcontainer mx-auto max-w-7xl px-4>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>h2 classtext-gradient mb-8 text-center text-4xl font-bold>Core Competencies/h2>/div>div classgrid grid-cols-1 gap-6 md:grid-cols-2 lg:grid-cols-3>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classh-full overflow-hidden rounded-xl>div classh-full border-0 bg-transparent>div classp-6>h3 classmb-2 text-xl font-bold>API Development/h3>/div>div classgrow px-6 pb-4>p classtext-muted-foreground>Designing and implementing robust, scalable, and secure APIs using REST, GraphQL, and gRPC./p>/div>div classpx-6 pb-6>a classinline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 &_svg:pointer-events-none &_svg:size-4 &_svg:shrink-0 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3 group ml-auto gap-1 href/competencies/api-development>Learn Moresvg xmlnshttp://www.w3.org/2000/svg width16 height16 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-arrow-right transition-transform duration-300 group-hover:translate-x-1>path dM5 12h14>/path>path dm12 5 7 7-7 7>/path>/svg>/a>/div>/div>/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classh-full overflow-hidden rounded-xl>div classh-full border-0 bg-transparent>div classp-6>h3 classmb-2 text-xl font-bold>Frontend Architecture/h3>/div>div classgrow px-6 pb-4>p classtext-muted-foreground>Designing scalable, maintainable frontend systems with optimal performance and developer experience./p>/div>div classpx-6 pb-6>a classinline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 &_svg:pointer-events-none &_svg:size-4 &_svg:shrink-0 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3 group ml-auto gap-1 href/competencies/frontend-architecture>Learn Moresvg xmlnshttp://www.w3.org/2000/svg width16 height16 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-arrow-right transition-transform duration-300 group-hover:translate-x-1>path dM5 12h14>/path>path dm12 5 7 7-7 7>/path>/svg>/a>/div>/div>/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classh-full overflow-hidden rounded-xl>div classh-full border-0 bg-transparent>div classp-6>h3 classmb-2 text-xl font-bold>Frontend Development/h3>/div>div classgrow px-6 pb-4>p classtext-muted-foreground>Creating responsive, accessible, and performant user interfaces with modern frontend technologies./p>/div>div classpx-6 pb-6>a classinline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 &_svg:pointer-events-none &_svg:size-4 &_svg:shrink-0 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3 group ml-auto gap-1 href/competencies/frontend-development>Learn Moresvg xmlnshttp://www.w3.org/2000/svg width16 height16 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-arrow-right transition-transform duration-300 group-hover:translate-x-1>path dM5 12h14>/path>path dm12 5 7 7-7 7>/path>/svg>/a>/div>/div>/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classh-full overflow-hidden rounded-xl>div classh-full border-0 bg-transparent>div classp-6>h3 classmb-2 text-xl font-bold>Full Stack Development/h3>/div>div classgrow px-6 pb-4>p classtext-muted-foreground>Developing end-to-end applications spanning frontend, backend, and DevOps./p>/div>div classpx-6 pb-6>a classinline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 &_svg:pointer-events-none &_svg:size-4 &_svg:shrink-0 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3 group ml-auto gap-1 href/competencies/full-stack-development>Learn Moresvg xmlnshttp://www.w3.org/2000/svg width16 height16 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-arrow-right transition-transform duration-300 group-hover:translate-x-1>path dM5 12h14>/path>path dm12 5 7 7-7 7>/path>/svg>/a>/div>/div>/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classh-full overflow-hidden rounded-xl>div classh-full border-0 bg-transparent>div classp-6>h3 classmb-2 text-xl font-bold>Golang Development/h3>/div>div classgrow px-6 pb-4>p classtext-muted-foreground>Building high-performance, concurrent systems and microservices with Go's simplicity and efficiency./p>/div>div classpx-6 pb-6>a classinline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 &_svg:pointer-events-none &_svg:size-4 &_svg:shrink-0 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3 group ml-auto gap-1 href/competencies/golang-development>Learn Moresvg xmlnshttp://www.w3.org/2000/svg width16 height16 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-arrow-right transition-transform duration-300 group-hover:translate-x-1>path dM5 12h14>/path>path dm12 5 7 7-7 7>/path>/svg>/a>/div>/div>/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classh-full overflow-hidden rounded-xl>div classh-full border-0 bg-transparent>div classp-6>h3 classmb-2 text-xl font-bold>JavaScript Development/h3>/div>div classgrow px-6 pb-4>p classtext-muted-foreground>Building robust web applications using modern JavaScript frameworks and libraries./p>/div>div classpx-6 pb-6>a classinline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 &_svg:pointer-events-none &_svg:size-4 &_svg:shrink-0 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3 group ml-auto gap-1 href/competencies/javascript-development>Learn Moresvg xmlnshttp://www.w3.org/2000/svg width16 height16 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-arrow-right transition-transform duration-300 group-hover:translate-x-1>path dM5 12h14>/path>path dm12 5 7 7-7 7>/path>/svg>/a>/div>/div>/div>/div>/div>div classmt-10 text-center>a classinline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 &_svg:pointer-events-none &_svg:size-4 &_svg:shrink-0 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-11 rounded-md px-8 gap-1 href/competencies>View All Competencies/a>/div>/div>/div>/div>div classrelative overflow-hidden py-20>div classrelative z-10>div classcontainer mx-auto max-w-7xl px-4>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>h2 classtext-gradient mb-8 text-center text-4xl font-bold>Latest Articles/h2>/div>div classgrid grid-cols-1 gap-8 md:grid-cols-2>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classh-full overflow-hidden rounded-xl>div classh-full border-0 bg-transparent>div classh-48 overflow-hidden>div classsize-full object-cover transition-transform duration-500 hover:scale-110 stylewidth:600px;height:300px>div aria-hiddentrue classflex animate-pulse items-center justify-center rounded bg-slate-200 dark:bg-slate-800 stylewidth:600px;height:300px;object-fit:contain>/div>/div>/div>div classp-6>h3 classmb-2 text-2xl font-bold>When the Internet's Foundation Cracks/h3>p classmb-4 text-sm text-muted-foreground>2025-11-18/p>p classmb-4>A comprehensive analysis of the November 2025 Cloudflare outage that affected 20% of global web traffic, including root causes, real-world impact, and practical DevOps strategies for building resilient infrastructure./p>a href/blog/cloudflare-outage-november-2025 relnoopener noreferrer target_blank classinline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 &_svg:pointer-events-none &_svg:size-4 &_svg:shrink-0 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3 group gap-1>Read on Mediumsvg xmlnshttp://www.w3.org/2000/svg width16 height16 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-external-link ml-1>path dM15 3h6v6>/path>path dM10 14 21 3>/path>path dM18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6>/path>/svg>/a>/div>/div>/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classh-full overflow-hidden rounded-xl>div classh-full border-0 bg-transparent>div classh-48 overflow-hidden>div classsize-full object-cover transition-transform duration-500 hover:scale-110 stylewidth:600px;height:300px>div aria-hiddentrue classflex animate-pulse items-center justify-center rounded bg-slate-200 dark:bg-slate-800 stylewidth:600px;height:300px;object-fit:contain>/div>/div>/div>div classp-6>h3 classmb-2 text-2xl font-bold>Remote Access to Raspberry Pi via Reverse SSH Tunnel/h3>p classmb-4 text-sm text-muted-foreground>2025-10-15/p>p classmb-4>Complete guide to setting up secure remote access to your Raspberry Pi from anywhere in the world using Reverse SSH and AWS EC2. Works behind any NAT without router configuration./p>a href/blog/rpi/reverse-ssh relnoopener noreferrer target_blank classinline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 &_svg:pointer-events-none &_svg:size-4 &_svg:shrink-0 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3 group gap-1>Read on Mediumsvg xmlnshttp://www.w3.org/2000/svg width16 height16 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-external-link ml-1>path dM15 3h6v6>/path>path dM10 14 21 3>/path>path dM18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6>/path>/svg>/a>/div>/div>/div>/div>/div>div classmt-10 text-center>a classinline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 &_svg:pointer-events-none &_svg:size-4 &_svg:shrink-0 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-11 rounded-md px-8 gap-1 href/blog>View All Articles/a>/div>/div>/div>/div>div classrelative overflow-hidden py-20>div classrelative z-10>div classcontainer mx-auto max-w-7xl px-4>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>h2 classtext-gradient mb-8 text-center text-4xl font-bold>Get In Touch/h2>/div>div classflex flex-wrap justify-center gap-4>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>a classinline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 &_svg:pointer-events-none &_svg:size-4 &_svg:shrink-0 bg-primary text-primary-foreground hover:bg-primary/90 h-11 rounded-md px-8 gap-2 bg-gradient-to-r href/contact?subjectWork%20Inquiry>svg xmlnshttp://www.w3.org/2000/svg width18 height18 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-mail>rect width20 height16 x2 y4 rx2>/rect>path dm22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7>/path>/svg>span>Contact Me/span>/a>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>a hrefhttps://github.com/metronom72/ relnoopener noreferrer target_blank classinline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 &_svg:pointer-events-none &_svg:size-4 &_svg:shrink-0 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-11 rounded-md px-8 gap-2>svg xmlnshttp://www.w3.org/2000/svg width18 height18 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-github>path dM15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4>/path>path dM9 18c-4.51 2-5-2-7-2>/path>/svg>span>GitHub Profile/span>/a>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>a hrefhttps://www.linkedin.com/in/metronom72/ relnoopener noreferrer target_blank classinline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 &_svg:pointer-events-none &_svg:size-4 &_svg:shrink-0 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-11 rounded-md px-8 gap-2>svg xmlnshttp://www.w3.org/2000/svg width18 height18 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-linkedin>path dM16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z>/path>rect width4 height12 x2 y9>/rect>circle cx4 cy4 r2>/circle>/svg>span>LinkedIn Profile/span>/a>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>a hrefhttps://t.me/r137y relnoopener noreferrer target_blank classinline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 &_svg:pointer-events-none &_svg:size-4 &_svg:shrink-0 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-11 rounded-md px-8 gap-2>svg xmlnshttp://www.w3.org/2000/svg width18 height18 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-message-square>path dM21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z>/path>/svg>span>Telegram Contact/span>/a>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>a hrefhttps://medium.com/@mi-do relnoopener noreferrer target_blank classinline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 &_svg:pointer-events-none &_svg:size-4 &_svg:shrink-0 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-11 rounded-md px-8 gap-2>svg xmlnshttp://www.w3.org/2000/svg width18 height18 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-book-open>path dM12 7v14>/path>path dM3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z>/path>/svg>span>Medium Articles/span>/a>/div>/div>/div>/div>/div>!--$-->!--$-->section classbg-gradient-to-br from-slate-50 to-blue-50 py-20 dark:from-slate-950/30 dark:to-blue-950/30>div classcontainer mx-auto max-w-7xl px-4>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classmb-3 flex items-center justify-center gap-2>div classsize-3 animate-pulse rounded-full bg-blue-500>/div>p classtext-sm font-medium text-blue-500>Currently Available/p>/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>h2 classtext-gradient mb-4 text-center text-4xl font-bold>Available for Part-Time Work/h2>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>p classmx-auto mb-12 max-w-2xl text-center text-xl text-muted-foreground>I'm currently accepting new clients and projects. Let's create something amazing together./p>/div>div classmb-12 grid grid-cols-1 gap-6 md:grid-cols-3>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classrounded-lg bg-card text-card-foreground shadow-sm card-hover border-2 border-slate-100 dark:border-slate-800>div classflex flex-col items-center p-6 text-center>div classmb-4 flex size-16 items-center justify-center rounded-full bg-slate-100 dark:bg-slate-800/50>svg xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-clock size-8 text-slate-600 dark:text-slate-400>circle cx12 cy12 r10>/circle>polyline points12 6 12 12 16 14>/polyline>/svg>/div>h3 classmb-2 text-xl font-bold>Flexible Hours/h3>p classtext-muted-foreground>Available for up to 20 hours per week with flexible scheduling to accommodate your needs./p>/div>/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classrounded-lg bg-card text-card-foreground shadow-sm card-hover border-2 border-blue-100 dark:border-blue-900>div classflex flex-col items-center p-6 text-center>div classmb-4 flex size-16 items-center justify-center rounded-full bg-blue-100 dark:bg-blue-900/50>svg xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-calendar size-8 text-blue-600 dark:text-blue-400>path dM8 2v4>/path>path dM16 2v4>/path>rect width18 height18 x3 y4 rx2>/rect>path dM3 10h18>/path>/svg>/div>h3 classmb-2 text-xl font-bold>Quick Turnaround/h3>p classtext-muted-foreground>Efficient workflow and dedicated time blocks ensure your project gets completed on schedule./p>/div>/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classrounded-lg bg-card text-card-foreground shadow-sm card-hover border-2 border-slate-100 dark:border-slate-800>div classflex flex-col items-center p-6 text-center>div classmb-4 flex size-16 items-center justify-center rounded-full bg-slate-100 dark:bg-slate-800/50>svg xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-circle-check-big size-8 text-slate-600 dark:text-slate-400>path dM21.801 10A10 10 0 1 1 17 3.335>/path>path dm9 11 3 3L22 4>/path>/svg>/div>h3 classmb-2 text-xl font-bold>Quality Focus/h3>p classtext-muted-foreground>Every project receives my full attention and expertise, ensuring high-quality results./p>/div>/div>/div>/div>div classtext-center>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>a classinline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 &_svg:pointer-events-none &_svg:size-4 &_svg:shrink-0 bg-primary text-primary-foreground hover:bg-primary/90 h-11 rounded-md px-8 btn-gradient gap-2 href/contact?subjectWork%20Inquiry>span>Let's Work Together/span>svg xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-arrow-right size-4>path dM5 12h14>/path>path dm12 5 7 7-7 7>/path>/svg>/a>/div>/div>/div>/section>!--/$-->!--/$-->!--$-->!--$-->section classbg-gradient-to-br from-slate-50 to-blue-50 py-20 dark:from-slate-950/30 dark:to-blue-950/30>div classcontainer mx-auto max-w-7xl px-4>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>h2 classtext-gradient mb-4 text-center text-4xl font-bold>Technical Skills/h2>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>p classmx-auto mb-12 max-w-2xl text-center text-xl text-muted-foreground>Core technologies I work with on a daily basis/p>/div>div classgrid grid-cols-1 gap-8 md:grid-cols-2 lg:grid-cols-3>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classrounded-lg bg-white p-6 shadow-sm dark:bg-slate-800>div classmb-4 flex items-center gap-3>img altRuby logo classsize-10 object-contain src/images/tech/ruby-logo.png/>h3 classtext-xl font-bold>Ruby/h3>/div>div classh-2.5 w-full rounded-full bg-slate-200 dark:bg-slate-700>div classh-2.5 rounded-full bg-gradient-to-r from-slate-700 to-blue-600 stylewidth:90%>/div>/div>div classmt-2 flex justify-between text-sm text-muted-foreground>span>Beginner/span>span>Expert/span>/div>/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classrounded-lg bg-white p-6 shadow-sm dark:bg-slate-800>div classmb-4 flex items-center gap-3>img altJavaScript logo classsize-10 object-contain src/images/tech/js-logo.png/>h3 classtext-xl font-bold>JavaScript/h3>/div>div classh-2.5 w-full rounded-full bg-slate-200 dark:bg-slate-700>div classh-2.5 rounded-full bg-gradient-to-r from-slate-700 to-blue-600 stylewidth:95%>/div>/div>div classmt-2 flex justify-between text-sm text-muted-foreground>span>Beginner/span>span>Expert/span>/div>/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classrounded-lg bg-white p-6 shadow-sm dark:bg-slate-800>div classmb-4 flex items-center gap-3>img altTypeScript logo classsize-10 object-contain src/images/tech/typescript-logo.png/>h3 classtext-xl font-bold>TypeScript/h3>/div>div classh-2.5 w-full rounded-full bg-slate-200 dark:bg-slate-700>div classh-2.5 rounded-full bg-gradient-to-r from-slate-700 to-blue-600 stylewidth:90%>/div>/div>div classmt-2 flex justify-between text-sm text-muted-foreground>span>Beginner/span>span>Expert/span>/div>/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classrounded-lg bg-white p-6 shadow-sm dark:bg-slate-800>div classmb-4 flex items-center gap-3>img altGo logo classsize-10 object-contain src/images/tech/go-logo.png/>h3 classtext-xl font-bold>Go/h3>/div>div classh-2.5 w-full rounded-full bg-slate-200 dark:bg-slate-700>div classh-2.5 rounded-full bg-gradient-to-r from-slate-700 to-blue-600 stylewidth:85%>/div>/div>div classmt-2 flex justify-between text-sm text-muted-foreground>span>Beginner/span>span>Expert/span>/div>/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classrounded-lg bg-white p-6 shadow-sm dark:bg-slate-800>div classmb-4 flex items-center gap-3>img altPython logo classsize-10 object-contain src/images/tech/python-logo.png/>h3 classtext-xl font-bold>Python/h3>/div>div classh-2.5 w-full rounded-full bg-slate-200 dark:bg-slate-700>div classh-2.5 rounded-full bg-gradient-to-r from-slate-700 to-blue-600 stylewidth:80%>/div>/div>div classmt-2 flex justify-between text-sm text-muted-foreground>span>Beginner/span>span>Expert/span>/div>/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classrounded-lg bg-white p-6 shadow-sm dark:bg-slate-800>div classmb-4 flex items-center gap-3>img altReact logo classsize-10 object-contain src/images/tech/react-logo.png/>h3 classtext-xl font-bold>React/h3>/div>div classh-2.5 w-full rounded-full bg-slate-200 dark:bg-slate-700>div classh-2.5 rounded-full bg-gradient-to-r from-slate-700 to-blue-600 stylewidth:90%>/div>/div>div classmt-2 flex justify-between text-sm text-muted-foreground>span>Beginner/span>span>Expert/span>/div>/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classrounded-lg bg-white p-6 shadow-sm dark:bg-slate-800>div classmb-4 flex items-center gap-3>img altNode.js logo classsize-10 object-contain src/images/tech/nodejs-logo.png/>h3 classtext-xl font-bold>Node.js/h3>/div>div classh-2.5 w-full rounded-full bg-slate-200 dark:bg-slate-700>div classh-2.5 rounded-full bg-gradient-to-r from-slate-700 to-blue-600 stylewidth:85%>/div>/div>div classmt-2 flex justify-between text-sm text-muted-foreground>span>Beginner/span>span>Expert/span>/div>/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classrounded-lg bg-white p-6 shadow-sm dark:bg-slate-800>div classmb-4 flex items-center gap-3>img altPostgreSQL logo classsize-10 object-contain src/images/tech/postgresql-logo.png/>h3 classtext-xl font-bold>PostgreSQL/h3>/div>div classh-2.5 w-full rounded-full bg-slate-200 dark:bg-slate-700>div classh-2.5 rounded-full bg-gradient-to-r from-slate-700 to-blue-600 stylewidth:85%>/div>/div>div classmt-2 flex justify-between text-sm text-muted-foreground>span>Beginner/span>span>Expert/span>/div>/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classrounded-lg bg-white p-6 shadow-sm dark:bg-slate-800>div classmb-4 flex items-center gap-3>img altGraphQL logo classsize-10 object-contain src/images/tech/graphql-logo.png/>h3 classtext-xl font-bold>GraphQL/h3>/div>div classh-2.5 w-full rounded-full bg-slate-200 dark:bg-slate-700>div classh-2.5 rounded-full bg-gradient-to-r from-slate-700 to-blue-600 stylewidth:80%>/div>/div>div classmt-2 flex justify-between text-sm text-muted-foreground>span>Beginner/span>span>Expert/span>/div>/div>/div>/div>/div>/section>!--/$-->!--/$-->!--$-->!--$-->div classrelative overflow-hidden py-20>div classrelative z-10>div classcontainer mx-auto max-w-7xl px-4>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>h2 classtext-gradient mb-4 text-center text-4xl font-bold>Services I Offer/h2>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>p classmx-auto mb-12 max-w-2xl text-center text-xl text-muted-foreground>Specialized expertise to help your business grow with technology solutions./p>/div>div classgrid grid-cols-1 gap-6 md:grid-cols-2 lg:grid-cols-3>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classrelative transition-all duration-200 ease-out shadow-md h-full overflow-hidden rounded-xl>div classpointer-events-none absolute inset-0 transition-opacity duration-300 opacity-0>/div>div classrounded-lg text-card-foreground shadow-sm h-full border-0 bg-transparent>div classflex flex-col space-y-1.5 p-6>div classfont-semibold tracking-tight text-xl>Full Stack Development/div>/div>div classp-6 pt-0 grow>p classtext-muted-foreground>End-to-end web application development using modern frameworks and technologies./p>/div>div classflex items-center p-6 pt-0>a classinline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 &_svg:pointer-events-none &_svg:size-4 &_svg:shrink-0 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3 group ml-auto gap-1 href/competencies/full-stack-development>Learn Moresvg xmlnshttp://www.w3.org/2000/svg width16 height16 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-arrow-right transition-transform duration-300 group-hover:translate-x-1>path dM5 12h14>/path>path dm12 5 7 7-7 7>/path>/svg>/a>/div>/div>/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classrelative transition-all duration-200 ease-out shadow-md h-full overflow-hidden rounded-xl>div classpointer-events-none absolute inset-0 transition-opacity duration-300 opacity-0>/div>div classrounded-lg text-card-foreground shadow-sm h-full border-0 bg-transparent>div classflex flex-col space-y-1.5 p-6>div classfont-semibold tracking-tight text-xl>API Development/div>/div>div classp-6 pt-0 grow>p classtext-muted-foreground>Building robust, well-documented APIs that power your applications./p>/div>div classflex items-center p-6 pt-0>a classinline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 &_svg:pointer-events-none &_svg:size-4 &_svg:shrink-0 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3 group ml-auto gap-1 href/competencies/api-development>Learn Moresvg xmlnshttp://www.w3.org/2000/svg width16 height16 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-arrow-right transition-transform duration-300 group-hover:translate-x-1>path dM5 12h14>/path>path dm12 5 7 7-7 7>/path>/svg>/a>/div>/div>/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classrelative transition-all duration-200 ease-out shadow-md h-full overflow-hidden rounded-xl>div classpointer-events-none absolute inset-0 transition-opacity duration-300 opacity-0>/div>div classrounded-lg text-card-foreground shadow-sm h-full border-0 bg-transparent>div classflex flex-col space-y-1.5 p-6>div classfont-semibold tracking-tight text-xl>Frontend Development/div>/div>div classp-6 pt-0 grow>p classtext-muted-foreground>Creating responsive, accessible, and performant user interfaces./p>/div>div classflex items-center p-6 pt-0>a classinline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 &_svg:pointer-events-none &_svg:size-4 &_svg:shrink-0 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3 group ml-auto gap-1 href/competencies/frontend-development>Learn Moresvg xmlnshttp://www.w3.org/2000/svg width16 height16 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-arrow-right transition-transform duration-300 group-hover:translate-x-1>path dM5 12h14>/path>path dm12 5 7 7-7 7>/path>/svg>/a>/div>/div>/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classrelative transition-all duration-200 ease-out shadow-md h-full overflow-hidden rounded-xl>div classpointer-events-none absolute inset-0 transition-opacity duration-300 opacity-0>/div>div classrounded-lg text-card-foreground shadow-sm h-full border-0 bg-transparent>div classflex flex-col space-y-1.5 p-6>div classfont-semibold tracking-tight text-xl>Ruby on Rails Development/div>/div>div classp-6 pt-0 grow>p classtext-muted-foreground>Building robust web applications with Ruby on Rails framework./p>/div>div classflex items-center p-6 pt-0>a classinline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 &_svg:pointer-events-none &_svg:size-4 &_svg:shrink-0 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3 group ml-auto gap-1 href/competencies/ruby-on-rails-development>Learn Moresvg xmlnshttp://www.w3.org/2000/svg width16 height16 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-arrow-right transition-transform duration-300 group-hover:translate-x-1>path dM5 12h14>/path>path dm12 5 7 7-7 7>/path>/svg>/a>/div>/div>/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classrelative transition-all duration-200 ease-out shadow-md h-full overflow-hidden rounded-xl>div classpointer-events-none absolute inset-0 transition-opacity duration-300 opacity-0>/div>div classrounded-lg text-card-foreground shadow-sm h-full border-0 bg-transparent>div classflex flex-col space-y-1.5 p-6>div classfont-semibold tracking-tight text-xl>Go Development/div>/div>div classp-6 pt-0 grow>p classtext-muted-foreground>Creating high-performance, concurrent systems and microservices with Go./p>/div>div classflex items-center p-6 pt-0>a classinline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 &_svg:pointer-events-none &_svg:size-4 &_svg:shrink-0 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3 group ml-auto gap-1 href/competencies/golang-development>Learn Moresvg xmlnshttp://www.w3.org/2000/svg width16 height16 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-arrow-right transition-transform duration-300 group-hover:translate-x-1>path dM5 12h14>/path>path dm12 5 7 7-7 7>/path>/svg>/a>/div>/div>/div>/div>div classtransition-all duration-1000 ease-out translate-y-10 opacity-0>div classrelative transition-all duration-200 ease-out shadow-md h-full overflow-hidden rounded-xl>div classpointer-events-none absolute inset-0 transition-opacity duration-300 opacity-0>/div>div classrounded-lg text-card-foreground shadow-sm h-full border-0 bg-transparent>div classflex flex-col space-y-1.5 p-6>div classfont-semibold tracking-tight text-xl>JavaScript Development/div>/div>div classp-6 pt-0 grow>p classtext-muted-foreground>Building dynamic web applications with modern JavaScript frameworks./p>/div>div classflex items-center p-6 pt-0>a classinline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 &_svg:pointer-events-none &_svg:size-4 &_svg:shrink-0 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3 group ml-auto gap-1 href/competencies/javascript-development>Learn Moresvg xmlnshttp://www.w3.org/2000/svg width16 height16 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-arrow-right transition-transform duration-300 group-hover:translate-x-1>path dM5 12h14>/path>path dm12 5 7 7-7 7>/path>/svg>/a>/div>/div>/div>/div>/div>/div>/div>/div>!--/$-->!--/$-->/div>!--$-->!--/$-->!--$-->!--/$-->/main>!--$-->footer classborder-t border-slate-200 bg-slate-50 dark:border-slate-800 dark:bg-slate-900>div classcontainer mx-auto max-w-7xl px-4 py-12>div classmb-8 grid grid-cols-1 gap-8 md:grid-cols-3>div classmd:col-span-1>a classtext-gradient mb-4 inline-block text-xl font-bold href/>Mikhail Dorokhovich/a>p classmb-4 max-w-md text-muted-foreground>Senior Full Stack Developer with 9+ years of experience specializing in building robust, scalable applications with Ruby, JavaScript, Go, Python, and more./p>div>span classinline-flex items-center gap-1 rounded-full bg-blue-100 px-3 py-1 text-sm text-blue-800 dark:bg-blue-900/50 dark:text-blue-200>span classsize-2 animate-pulse rounded-full bg-blue-500>/span>Available for part-time work/span>/div>/div>div>h3 classtext-gradient mb-4 text-lg font-medium>Quick Links/h3>ul classspace-y-2>li>a classtext-muted-foreground transition-colors hover:text-blue-600 dark:hover:text-blue-400 href/>Home/a>/li>li>a classtext-muted-foreground transition-colors hover:text-blue-600 dark:hover:text-blue-400 href/about>About/a>/li>li>a classtext-muted-foreground transition-colors hover:text-blue-600 dark:hover:text-blue-400 href/projects>Projects/a>/li>li>a classtext-muted-foreground transition-colors hover:text-blue-600 dark:hover:text-blue-400 href/blog>Blog/a>/li>li>a classtext-muted-foreground transition-colors hover:text-blue-600 dark:hover:text-blue-400 href/contact>Contact/a>/li>li>a classtext-muted-foreground transition-colors hover:text-blue-600 dark:hover:text-blue-400 href/terms>Terms of Use/a>/li>li>a classtext-muted-foreground transition-colors hover:text-blue-600 dark:hover:text-blue-400 href/privacy>Privacy Policy/a>/li>/ul>/div>div>h3 classtext-gradient mb-4 text-lg font-medium>Connect/h3>div classmb-6 flex space-x-4>a aria-labelVisit Mikhail Dorokhovich's GitHub profile classtext-muted-foreground transition-colors hover:text-blue-600 dark:hover:text-blue-400 hrefhttps://github.com/metronom72/ relnoopener noreferrer target_blank>svg xmlnshttp://www.w3.org/2000/svg width20 height20 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-github>path dM15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4>/path>path dM9 18c-4.51 2-5-2-7-2>/path>/svg>span classsr-only>GitHub Profile/span>/a>a aria-labelVisit Mikhail Dorokhovich's LinkedIn profile classtext-muted-foreground transition-colors hover:text-blue-600 dark:hover:text-blue-400 hrefhttps://www.linkedin.com/in/metronom72/ relnoopener noreferrer target_blank>svg xmlnshttp://www.w3.org/2000/svg width20 height20 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-linkedin>path dM16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z>/path>rect width4 height12 x2 y9>/rect>circle cx4 cy4 r2>/circle>/svg>span classsr-only>LinkedIn Profile/span>/a>a aria-labelContact Mikhail Dorokhovich on Telegram classtext-muted-foreground transition-colors hover:text-blue-600 dark:hover:text-blue-400 hrefhttps://t.me/r137y relnoopener noreferrer target_blank>svg xmlnshttp://www.w3.org/2000/svg width20 height20 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-message-square>path dM21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z>/path>/svg>span classsr-only>Telegram Contact/span>/a>/div>div>h4 classmb-2 font-medium>Contact/h4>a classtext-muted-foreground transition-colors hover:text-blue-600 dark:hover:text-blue-400 hrefmailto:mikhail@dorokhovich.com>mikhail@dorokhovich.com/a>/div>/div>/div>div classborder-t border-slate-200 pt-6 dark:border-slate-800>div classspace-y-4 text-sm text-muted-foreground>p>All information provided on this website is for informational and portfolio purposes only and does not constitute a binding offer. Project descriptions are either hypothetical, anonymized, or published with client consent. Any resemblance to real companies or products is coincidental unless explicitly stated. All trademarks and logos remain the property of their respective owners./p>p>The owner of this website disclaims all liability for any actions taken based on the information herein. The site and its contents are provided "as is" without warranties of any kind, either express or implied./p>/div>/div>div classmt-6 border-t border-slate-200 pt-6 dark:border-slate-800>div classflex flex-col items-center justify-between gap-4 text-sm text-muted-foreground md:flex-row>div classtext-center md:text-left>© 2025 Mikhail Dorokhovich. All rights reserved./div>div classtext-center>By using this website, you agree to our!-- --> a classtext-blue-600 hover:underline dark:text-blue-400 href/terms>Terms of Use/a> !-- -->and!-- --> a classtext-blue-600 hover:underline dark:text-blue-400 href/privacy>Privacy Policy/a>./div>div classtext-center md:text-right>All blog posts and code samples on this site are licensed under the!-- --> a classtext-blue-600 hover:underline dark:text-blue-400 hrefhttps://opensource.org/licenses/MIT relnoopener noreferrer target_blank>MIT License/a> !-- -->unless otherwise stated./div>/div>/div>/div>/footer>!--/$-->/div>script src/_next/static/chunks/webpack-371b92b1560e3b8f.js async>/script>script>(self.__next_fself.__next_f||).push(0)/script>script>self.__next_f.push(1,1:\$Sreact.fragment\\n4:I59665,,\MetadataBoundary\\n6:I59665,,\OutletBoundary\\n9:I74911,,\AsyncMetadataOutlet\\nb:I59665,,\ViewportBoundary\\nd:I26614,,\\\ne:\$Sreact.suspense\\nf:I74911,,\AsyncMetadata\\n11:I79123,\4277\,\static/chunks/4277-8448fba076ff7080.js\,\6874\,\static/chunks/6874-c18f53812331e7e8.js\,\9506\,\static/chunks/9506-f323e79a14af920d.js\,\5593\,\static/chunks/5593-d16c55e498a2842b.js\,\7177\,\static/chunks/app/layout-ed0a234938ae1ff7.js\,\AnalyticsWrapper\\n12:I80631,\4277\,\static/chunks/4277-8448fba076ff7080.js\,\6874\,\static/chunks/6874-c18f53812331e7e8.js\,\9506\,\static/chunks/9506-f323e79a14af920d.js\,\5593\,\static/chunks/5593-d16c55e498a2842b.js\,\7177\,\static/chunks/app/layout-ed0a234938ae1ff7.js\,\default\\n13:I19156,\4277\,\static/chunks/4277-8448fba076ff7080.js\,\6874\,\static/chunks/6874-c18f53812331e7e8.js\,\9506\,\static/chunks/9506-f323e79a14af920d.js\,\5593\,\static/chunks/5593-d16c55e498a2842b.js\,\7177\,\static/chunks/app/layout-ed0a234938ae1ff7.js\,\ReCaptchaProvider\\n14:I99304,\4277\,\static/chunks/4277-8448fba076ff7080.js\,\6874\,\static/chunks/6874-c18f53812331e7e8.js\,\9506\,\static/chunks/9506-f323e79a14af920d.js\,\5593\,\static/chunks/5593-d16c55e498a2842b.js\,\7177\,\static/chunks/app/layout-ed0a234938ae1ff7.js\,\ThemeProvider\\n15:I11074,\4277\,\static/chunks/4277-8448fba076ff7080.js\,\6874\,\static/chunks/6874-c18f53812331e7e8.js\,\9506\,\static/chunks/9506-f323e79a14af920d.js\,\5593\,\static/chunks/5593-d16c55e498a2842b.js\,\7177\,\static/chunks/app/layout-ed0a234938ae1ff7.js\,\ParticlesProvider\\n17:I87555,,\\\n18:I31295,,\\\n19:I6874,\4277\,\static/chunks/4277-8448fba076ff7080.js\,\6874\,\static/chunks/6874-c18f53812331e7e8.js\,\6766\,\static/chunks/6766-a62953e42710b8f9.js\,\9506\,\static/chunks/9506-f323e79a14af920d.js\,\4449\,\static/chunks/4449-d8f334003fff9fa3.js\,\9571\,\static/chunks/9571-f4d202efa1d7c5dd.js\,\8974\,\static/chunks/app/page-9effdc3a153c5366.js\,\\\n:HL\/_next/static/media/e4af272ccee01ff0-s.p.wof)/script>script>self.__next_f.push(1,f2\,\font\,{\crossOrigin\:\\,\type\:\font/woff2\}\n:HL\/_next/static/css/f7a039edf557f7e9.css\,\style\\n:HL\/_next/static/css/cedb22984637c867.css\,\style\\n0:{\P\:null,\b\:\CJbj2_SXUJ24-prjif-W1\,\p\:\\,\c\:\\,\\,\i\:false,\f\:\\,{\children\:\__PAGE__\,{}},\$undefined\,\$undefined\,true,\\,\$\,\$1\,\c\,{\children\:\$\,\link\,\0\,{\rel\:\stylesheet\,\href\:\/_next/static/css/f7a039edf557f7e9.css\,\precedence\:\next\,\crossOrigin\:\$undefined\,\nonce\:\$undefined\},\$\,\link\,\1\,{\rel\:\stylesheet\,\href\:\/_next/static/css/cedb22984637c867.css\,\precedence\:\next\,\crossOrigin\:\$undefined\,\nonce\:\$undefined\},\$L2\},{\children\:\__PAGE__\,\$\,\$1\,\c\,{\children\:\$L3\,\$\,\$L4\,null,{\children\:\$L5\},null,\$\,\$L6\,null,{\children\:\$L7\,\$L8\,\$\,\$L9\,null,{\promise\:\$@a\}}},{},null,false},null,false,\$\,\$1\,\h\,{\children\:null,\$\,\$1\,\boQ7p2hVPh-Oj134nEWFL\,{\children\:\$\,\$Lb\,null,{\children\:\$Lc\},\$\,\meta\,null,{\name\:\next-size-adjust\,\content\:\\}},null},false,\m\:\$undefined\,\G\:\$d\,\$undefined\,\s\:false,\S\:false}\n5:\$\,\$e\,null,{\fallback\:null,\children\:\$\,\$Lf\,null,{\promise\:\$@10\}}\n8:null\n)/script>script>self.__next_f.push(1,2:\$\,\html\,null,{\suppressHydrationWarning\:true,\lang\:\en\,\children\:\$\,\head\,null,{\children\:\$\,\link\,null,{\href\:\https://fonts.googleapis.com\,\rel\:\preconnect\},\$\,\link\,null,{\crossOrigin\:\anonymous\,\href\:\https://fonts.gstatic.com\,\rel\:\preconnect\},\$\,\link\,null,{\href\:\/favicon-96x96.png\,\rel\:\icon\,\sizes\:\96x96\,\type\:\image/png\},\$\,\link\,null,{\href\:\/favicon.svg\,\rel\:\icon\,\type\:\image/svg+xml\},\$\,\link\,null,{\href\:\/favicon.ico\,\rel\:\shortcut icon\},\$\,\link\,null,{\href\:\/apple-touch-icon.png\,\rel\:\apple-touch-icon\,\sizes\:\180x180\},\$\,\meta\,null,{\content\:\mikhaild\,\name\:\apple-mobile-web-app-title\},\$\,\link\,null,{\href\:\/site.webmanifest\,\rel\:\manifest\},\$\,\meta\,null,{\content\:\widthdevice-width, initial-scale1\,\name\:\viewport\},\$\,\meta\,null,{\content\:\6360b9c93ef95a27\,\name\:\yandex-verification\},\$\,\meta\,null,{\content\:\99c04ee4aec8ca90\,\name\:\yandex-verification\},\$\,\meta\,null,{\content\:\37C222DB54BC163A4EC4795A25BC6F3D\,\name\:\msvalidate.01\},\$\,\link\,null,{\href\:\/rss.xml\,\rel\:\alternate\,\title\:\Dorokhovich — Blog RSS\,\type\:\application/rss+xml\}},\$\,\body\,null,{\className\:\__className_f367f3\,\children\:\$\,\$e\,null,{\fallback\:\$\,\div\,null,{\className\:\h-16 border-b border-slate-200 bg-white dark:border-slate-800 dark:bg-gray-950\},\children\:\$\,\$L11\,null,{}},\$\,\$L12\,null,{\locale\:\en\},\$\,\$L13\,null,{\children\:\$\,\$L14\,null,{\disableTransitionOnChange\:true,\enableSystem\:true,\attribute\:\class\,\defaultTheme\:\system\,\children\:\$\,\$L15\,null,{\children\:\$\,\div\,null,{\className\:\flex min-h-screen flex-col\,\children\:\$L16\,\$\,\main\,null,{\className\:\grow\,\children\:\$\,\$L17\,null,{\parallelRouterKey\:\children\,\error\:\$undefined\,\errorStyles\:\$undefined\,\errorScripts\:\$undefined\,\template\:\$\,\$L18\,null,{},\templateStyles\:\$undefined\,\templateScripts\:\$undefined\,\notFound\:\$\,\div\,null,{\className\:\container mx-auto flex min-h-70vh max-w-md flex-col items-center justify-center px-4 py-16 text-center\,\children\:\$\,\h1\,null,{\className\:\mb-4 text-6xl font-bold\,\children\:\404\},\$\,\h2\,null,{\className\:\mb-4 text-2xl font-semibold\,\children\:\Page Not Found\},\$\,\p\,null,{\className\:\mb-8 text-muted-foreground\,\children\:\The page you are looking for doesnt exist or has been moved.\},\$\,\$L19\,null,{\href\:\/\,\children\:\Return Home\,\ref\:null,\className\:\inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 \u0026_svg:pointer-events-none \u0026_svg:size-4 \u0026_svg:shrink-0 bg-primary text-primary-foreground hover:bg-primary/90 h-10 px-4 py-2\}},,\forbidden\:\$undefined\,\unauthorized\:\$undefined\}},\$L1a\}}}}}}\n)/script>script>self.__next_f.push(1,c:\$\,\meta\,\0\,{\charSet\:\utf-8\},\$\,\meta\,\1\,{\name\:\viewport\,\content\:\widthdevice-width, initial-scale1\}\n7:null\n)/script>script>self.__next_f.push(1,10:{\metadata\:\$\,\title\,\0\,{\children\:\Mikhail Dorokhovich | Senior Full Stack Developer \u0026 Software Architect\},\$\,\meta\,\1\,{\name\:\description\,\content\:\Senior Full Stack Developer with 9+ years of experience building scalable web applications. Expert in Ruby, JavaScript, Go, Python, and modern system architecture. Available for consulting and development projects.\},\$\,\link\,\2\,{\rel\:\author\,\href\:\https://dorokhovich.com\},\$\,\meta\,\3\,{\name\:\author\,\content\:\Mikhail Dorokhovich\},\$\,\meta\,\4\,{\name\:\keywords\,\content\:\Mikhail Dorokhovich,Full Stack Developer,Senior Developer,Ruby on Rails,React,Node.js,Go,Python,JavaScript,TypeScript,Docker,System Architecture,Microservices,DevOps,CI/CD,TDD,DDD,Web Development,Software Engineering,Tech Consulting\},\$\,\meta\,\5\,{\name\:\creator\,\content\:\Mikhail Dorokhovich\},\$\,\meta\,\6\,{\name\:\publisher\,\content\:\Mikhail Dorokhovich\},\$\,\link\,\7\,{\rel\:\canonical\,\href\:\https://dorokhovich.com\},\$\,\meta\,\8\,{\property\:\og:title\,\content\:\Mikhail Dorokhovich | Senior Full Stack Developer \u0026 Software Architect\},\$\,\meta\,\9\,{\property\:\og:description\,\content\:\Senior Full Stack Developer with 9+ years of experience building scalable web applications. Expert in Ruby, JavaScript, Go, Python, and modern system architecture. Available for consulting and development projects.\},\$\,\meta\,\10\,{\property\:\og:url\,\content\:\https://dorokhovich.com\},\$\,\meta\,\11\,{\property\:\og:site_name\,\content\:\Mikhail Dorokhovich Portfolio\},\$\,\meta\,\12\,{\property\:\og:locale\,\content\:\en\},\$\,\meta\,\13\,{\property\:\og:image\,\content\:\https://dorokhovich.com/images/mikhail-profile.png\},\$\,\meta\,\14\,{\property\:\og:image:alt\,\content\:\Mikhail Dorokhovich - Senior Full Stack Developer\},\$\,\meta\,\15\,{\property\:\og:image:width\,\content\:\1200\},\$\,\meta\,\16\,{\property\:\og:image:height\,\content\:\630\},\$\,\meta\,\17\,{\property\:\og:type\,\content\:\website\},\$\,\meta\,\18\,{\name\:\twitter:card\,\content\:\summary_large_image\},\$\,\meta\,\19\,{\name\:\twitter:title\,\content\:\Mikhail Dorokhovich | Senior Full Stack Developer \u0026 Software Architect\},\$\,\meta\,\20\,{\name\:\twitter:description\,\content\:\Senior Full Stack Developer with 9+ years of experience building scalable web applications. Expert in Ruby, JavaScript, Go, Python, and modern system architecture. Available for consulting and development projects.\},\$\,\meta\,\21\,{\name\:\twitter:image\,\content\:\https://dorokhovich.com/images/mikhail-profile.png\},\error\:null,\digest\:\$undefined\}\n)/script>script>self.__next_f.push(1,a:{\metadata\:\$10:metadata\,\error\:null,\digest\:\$undefined\}\n)/script>script>self.__next_f.push(1,1b:I10255,\4277\,\static/chunks/4277-8448fba076ff7080.js\,\6874\,\static/chunks/6874-c18f53812331e7e8.js\,\6766\,\static/chunks/6766-a62953e42710b8f9.js\,\9506\,\static/chunks/9506-f323e79a14af920d.js\,\4449\,\static/chunks/4449-d8f334003fff9fa3.js\,\9571\,\static/chunks/9571-f4d202efa1d7c5dd.js\,\8974\,\static/chunks/app/page-9effdc3a153c5366.js\,\PreloadChunks\\n1c:I17501,\4277\,\static/chunks/4277-8448fba076ff7080.js\,\6874\,\static/chunks/6874-c18f53812331e7e8.js\,\9506\,\static/chunks/9506-f323e79a14af920d.js\,\5593\,\static/chunks/5593-d16c55e498a2842b.js\,\7177\,\static/chunks/app/layout-ed0a234938ae1ff7.js\,\default\\n16:\$\,\$e\,null,{\fallback\:\$\,\div\,null,{\className\:\h-14 border-b border-slate-200 bg-white dark:border-slate-800 dark:bg-gray-950 sm:h-16\},\children\:\$\,\$L1b\,null,{\moduleIds\:\components/navbar-wrapper.tsx -\u003e @/components/navbar\},\$\,\$L1c\,null,{\flags\:{\about-enabled\:{\enabled\:true},\blog-enabled\:{\enabled\:true},\competencies-enabled\:{\enabled\:true},\experience-enabled\:{\enabled\:true},\medium-blog-enabled\:{\enabled\:false},\particles-enabled\:{\enabled\:false},\particles-switcher-enabled\:{\enabled\:false},\projects-enabled\:{\enabled\:true}},\language\:\en\}}\n1a:\$\,\$e\,null,{\fallback\:\$\,\div\,null,{\className\:\h-16 border-t border-slate-200 bg-slate-50 dark:border-slate-800 dark:bg-slate-900\},\children\:\$\,\$L1b\,null,{\moduleIds\:\components/footer-wrapper.tsx -\u003e @/components/footer\},\$L1d\}\n)/script>script>self.__next_f.push(1,1d:\$\,\footer\,null,{\className\:\border-t border-slate-200 bg-slate-50 dark:border-slate-800 dark:bg-slate-900\,\children\:\$\,\div\,null,{\className\:\container mx-auto max-w-7xl px-4 py-12\,\children\:\$\,\div\,null,{\className\:\mb-8 grid grid-cols-1 gap-8 md:grid-cols-3\,\children\:\$\,\div\,null,{\className\:\md:col-span-1\,\children\:\$\,\$L19\,null,{\className\:\text-gradient mb-4 inline-block text-xl font-bold\,\href\:\/\,\children\:\Mikhail Dorokhovich\},\$\,\p\,null,{\className\:\mb-4 max-w-md text-muted-foreground\,\children\:\Senior Full Stack Developer with 9+ years of experience specializing in building robust, scalable applications with Ruby, JavaScript, Go, Python, and more.\},\$\,\div\,null,{\children\:\$\,\span\,null,{\className\:\inline-flex items-center gap-1 rounded-full bg-blue-100 px-3 py-1 text-sm text-blue-800 dark:bg-blue-900/50 dark:text-blue-200\,\children\:\$\,\span\,null,{\className\:\size-2 animate-pulse rounded-full bg-blue-500\},\Available for part-time work\}}},\$\,\div\,null,{\children\:\$\,\h3\,null,{\className\:\text-gradient mb-4 text-lg font-medium\,\children\:\Quick Links\},\$\,\ul\,null,{\className\:\space-y-2\,\children\:\$\,\li\,null,{\children\:\$\,\$L19\,null,{\className\:\text-muted-foreground transition-colors hover:text-blue-600 dark:hover:text-blue-400\,\href\:\/\,\children\:\Home\}},\$\,\li\,null,{\children\:\$\,\$L19\,null,{\className\:\text-muted-foreground transition-colors hover:text-blue-600 dark:hover:text-blue-400\,\href\:\/about\,\children\:\About\}},\$\,\li\,null,{\children\:\$\,\$L19\,null,{\className\:\text-muted-foreground transition-colors hover:text-blue-600 dark:hover:text-blue-400\,\href\:\/projects\,\children\:\Projects\}},\$\,\li\,null,{\children\:\$\,\$L19\,null,{\className\:\text-muted-foreground transition-colors hover:text-blue-600 dark:hover:text-blue-400\,\href\:\/blog\,\children\:\Blog\}},\$\,\li\,null,{\children\:\$\,\$L19\,null,{\className\:\text-muted-foreground transition-colors hover:text-blue-600 dark:hover:text-blue-400\,\href\:\/contact\,\children\:\Contact\}},\$\,\li\,null,{\children\:\$\,\$L19\,null,{\className\:\text-muted-foreground transition-colors hover:text-blue-600 dark:hover:text-blue-400\,\href\:\/terms\,\children\:\Terms of Use\}},\$\,\li\,null,{\children\:\$\,\$L19\,null,{\className\:\text-muted-foreground transition-colors hover:text-blue-600 dark:hover:text-blue-400\,\href\:\/privacy\,\children\:\Privacy Policy\}}}},\$\,\div\,null,{\children\:\$\,\h3\,null,{\className\:\text-gradient mb-4 text-lg font-medium\,\children\:\Connect\},\$\,\div\,null,{\className\:\mb-6 flex space-x-4\,\children\:\$\,\a\,null,{\aria-label\:\Visit Mikhail Dorokhovichs GitHub profile\,\className\:\text-muted-foreground transition-colors hover:text-blue-600 dark:hover:text-blue-400\,\href\:\https://github.com/metronom72/\,\rel\:\noopener noreferrer\,\target\:\_blank\,\children\:\$\,\svg\,null,{\ref\:\$undefined\,\xmlns\:\http://www.w3.org/2000/svg\,\width\:20,\height\:20,\viewBox\:\0 0 24 24\,\fill\:\none\,\stroke\:\currentColor\,\strokeWidth\:2,\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\className\:\lucide lucide-github\,\children\:\$\,\path\,\tonef\,{\d\:\M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4\},\$\,\path\,\9comsn\,{\d\:\M9 18c-4.51 2-5-2-7-2\},\$undefined\},\$\,\span\,null,{\className\:\sr-only\,\children\:\GitHub Profile\}},\$\,\a\,null,{\aria-label\:\Visit Mikhail Dorokhovichs LinkedIn profile\,\className\:\text-muted-foreground transition-colors hover:text-blue-600 dark:hover:text-blue-400\,\href\:\https://www.linkedin.com/in/metronom72/\,\rel\:\noopener noreferrer\,\target\:\_blank\,\children\:\$\,\svg\,null,{\ref\:\$undefined\,\xmlns\:\http://www.w3.org/2000/svg\,\width\:20,\height\:20,\viewBox\:\0 0 24 24\,\fill\:\none\,\stroke\:\currentColor\,\strokeWidth\:2,\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\className\:\lucide lucide-linkedin\,\children\:\$\,\path\,\c2jq9f\,{\d\:\M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z\},\$\,\rect\,\mk3on5\,{\width\:\4\,\height\:\12\,\x\:\2\,\y\:\9\},\$\,\circle\,\bt5ra8\,{\cx\:\4\,\cy\:\4\,\r\:\2\},\$undefined\},\$\,\span\,null,{\className\:\sr-only\,\children\:\LinkedIn Profile\}},\$\,\a\,null,{\aria-label\:\Contact Mikhail Dorokhovich on Telegram\,\className\:\text-muted-foreground transition-colors hover:text-blue-600 dark:hover:text-blue-400\,\href\:\https://t.me/r137y\,\rel\:\noopener noreferrer\,\target\:\_blank\,\children\:\$\,\svg\,null,{\ref\:\$undefined\,\xmlns\:\http://www.w3.org/2000/svg\,\width\:20,\height\:20,\viewBox\:\0 0 24 24\,\fill\:\none\,\stroke\:\currentColor\,\strokeWidth\:2,\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\className\:\lucide lucide-message-square\,\children\:\$\,\path\,\1lielz\,{\d\:\M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\},\$undefined\},\$\,\span\,null,{\className\:\sr-only\,\children\:\Telegram Contact\}},false},\$\,\div\,null,{\children\:\$\,\h4\,null,{\className\:\mb-2 font-medium\,\children\:\Contact\},\$\,\a\,null,{\className\:\text-muted-foreground transition-colors hover:text-blue-600 dark:hover:text-blue-400\,\href\:\mailto:mikhail@dorokhovich.com\,\children\:\mikhail@dorokhovich.com\}}}},\$\,\div\,null,{\className\:\border-t border-slate-200 pt-6 dark:border-slate-800\,\children\:\$\,\div\,null,{\className\:\space-y-4 text-sm text-muted-foreground\,\children\:\$\,\p\,null,{\children\:\All information provided on this website is for informational and portfolio purposes only and does not constitute a binding offer. Project descriptions are either hypothetical, anonymized, or published with client consent. Any resemblance to real companies or products is coincidental unless explicitly stated. All trademarks and logos remain the property of their respective owners.\},\$\,\p\,null,{\children\:\The owner of this website disclaims all liability for any actions taken based on the information herein. The site and its contents are provided \\\as is\\\ without warranties of any kind, either express or implied.\}}},\$\,\div\,null,{\className\:\mt-6 border-t border-slate-200 pt-6 dark:border-slate-800\,\children\:\$\,\div\,null,{\className\:\flex flex-col items-center justify-between gap-4 text-sm text-muted-foreground md:flex-row\,\children\:\$\,\div\,null,{\className\:\text-center md:text-left\,\children\:\© 2025 Mikhail Dorokhovich. All rights reserved.\},\$\,\div\,null,{\className\:\text-center\,\children\:\By using this website, you agree to our\,\ \,\$\,\$L19\,null,{\className\:\text-blue-600 hover:underline dark:text-blue-400\,\href\:\/terms\,\children\:\Terms of Use\},\ \,\and\,\ \,\$\,\$L19\,null,{\className\:\text-blue-600 hover:underline dark:text-blue-400\,\href\:\/privacy\,\children\:\Privacy Policy\},\.\},\$\,\div\,null,{\className\:\text-center md:text-right\,\children\:\All blog posts and code samples on this site are licensed under the\,\ \,\$\,\a\,null,{\className\:\text-blue-600 hover:underline dark:text-blue-400\,\href\:\https://opensource.org/licenses/MIT\,\rel\:\noopener noreferrer\,\target\:\_blank\,\children\:\MIT License\},\ \,\unless otherwise stated.\}}}}}\n)/script>script>self.__next_f.push(1,1e:I69243,\4277\,\static/chunks/4277-8448fba076ff7080.js\,\6874\,\static/chunks/6874-c18f53812331e7e8.js\,\6766\,\static/chunks/6766-a62953e42710b8f9.js\,\9506\,\static/chunks/9506-f323e79a14af920d.js\,\4449\,\static/chunks/4449-d8f334003fff9fa3.js\,\9571\,\static/chunks/9571-f4d202efa1d7c5dd.js\,\8974\,\static/chunks/app/page-9effdc3a153c5366.js\,\\\n20:I79623,\4277\,\static/chunks/4277-8448fba076ff7080.js\,\6874\,\static/chunks/6874-c18f53812331e7e8.js\,\6766\,\static/chunks/6766-a62953e42710b8f9.js\,\9506\,\static/chunks/9506-f323e79a14af920d.js\,\4449\,\static/chunks/4449-d8f334003fff9fa3.js\,\9571\,\static/chunks/9571-f4d202efa1d7c5dd.js\,\8974\,\static/chunks/app/page-9effdc3a153c5366.js\,\Preloader\\n22:I32098,\4277\,\static/chunks/4277-8448fba076ff7080.js\,\6874\,\static/chunks/6874-c18f53812331e7e8.js\,\6766\,\static/chunks/6766-a62953e42710b8f9.js\,\9506\,\static/chunks/9506-f323e79a14af920d.js\,\4449\,\static/chunks/4449-d8f334003fff9fa3.js\,\9571\,\static/chunks/9571-f4d202efa1d7c5dd.js\,\8974\,\static/chunks/app/page-9effdc3a153c5366.js\,\EnhancedParticleBackground\\n23:I51825,\4277\,\static/chunks/4277-8448fba076ff7080.js\,\6874\,\static/chunks/6874-c18f53812331e7e8.js\,\6766\,\static/chunks/6766-a62953e42710b8f9.js\,\9506\,\static/chunks/9506-f323e79a14af920d.js\,\4449\,\static/chunks/4449-d8f334003fff9fa3.js\,\9571\,\static/chunks/9571-f4d202efa1d7c5dd.js\,\8974\,\static/chunks/app/page-9effdc3a153c5366.js\,\TextReveal\\n24:I55814,\4277\,\static/chunks/4277-8448fba076ff7080.js\,\6874\,\static/chunks/6874-c18f53812331e7e8.js\,\6766\,\static/chunks/6766-a62953e42710b8f9.js\,\9506\,\static/chunks/9506-f323e79a14af920d.js\,\4449\,\static/chunks/4449-d8f334003fff9fa3.js\,\9571\,\static/chunks/9571-f4d202efa1d7c5dd.js\,\8974\,\static/chunks/app/page-9effdc3a153c5366.js\,\OptimizedImage\\n25:I61738,\4277\,\static/chunks/4277-8448fba076ff7080.js\,\6874\,\static/chunks/6874-c18f53812331e7e8.js\,\6766\,\static/chunks/6766-a62953e42710b8f9.js\,\9506\,\static/chunks/9506-f323e79a14af920d.js\,)/script>script>self.__next_f.push(1,\4449\,\static/chunks/4449-d8f334003fff9fa3.js\,\9571\,\static/chunks/9571-f4d202efa1d7c5dd.js\,\8974\,\static/chunks/app/page-9effdc3a153c5366.js\,\DeferredImage\\n1f:T468,{\pageType\:\WebPage\,\name\:\seo.homepage.schemaName\,\description\:\Senior Full Stack Developer with 9+ years of experience building scalable web applications. Expert in Ruby, JavaScript, Go, Python, and modern system architecture. Available for consulting and development projects.\,\url\:\https://dorokhovich.com\,\mainEntity\:{\@type\:\Person\,\name\:\Mikhail Dorokhovich\,\description\:\Senior Full Stack Developer with 9+ years of experience in web development and system architecture\,\url\:\https://dorokhovich.com\,\image\:\https://dorokhovich.com/images/mikhail-profile.png\,\jobTitle\:\Senior Full Stack Developer\,\email\:\mikhail@dorokhovich.com\,\sameAs\:\https://github.com/metronom72\,\https://linkedin.com/in/metronom72\,\knowsAbout\:\Ruby on Rails\,\React\,\Node.js\,\Go\,\Python\,\JavaScript\,\TypeScript\,\Docker\,\Kubernetes\,\AWS\,\GraphQL\,\REST API\,\PostgreSQL\,\Redis\,\System Architecture\,\Microservices\,\DevOps\,\CI/CD\,\TDD\,\DDD\,\API Design\,\Database Design\,\Performance Optimization\,\Security\,\address\:{\@type\:\PostalAddress\,\addressLocality\:\Belgrade\,\addressCountry\:\Serbia\}}})/script>script>self.__next_f.push(1,3:\$\,\$L1e\,null,{\dangerouslySetInnerHTML\:{\__html\:\$1f\},\id\:\schema-jsonld-graph-nyfujk\,\strategy\:\afterInteractive\,\type\:\application/ld+json\},\$\,\div\,null,{\className\:\custom-scrollbar\,\children\:\$\,\$L20\,null,{},\$\,\$e\,null,{\fallback\:null,\children\:\$L21\},\$\,\$L22\,null,{\className\:\py-20 md:py-32\,\particleCount\:20,\primaryColor\:\rgba(20, 184, 166, 0.7)\,\secondaryColor\:\rgba(245, 158, 11, 0.5)\,\trailLength\:10,\windForce\:20,\children\:\$\,\div\,null,{\className\:\container mx-auto max-w-7xl px-4\,\children\:\$\,\div\,null,{\className\:\flex flex-col items-center justify-between gap-8 md:flex-row\,\children\:\$\,\div\,null,{\className\:\flex-1\,\children\:\$\,\$L23\,null,{\children\:\$\,\h1\,null,{\className\:\text-gradient mb-4 text-5xl font-bold md:text-7xl\,\children\:\Mikhail Dorokhovich\}},\$\,\$L23\,null,{\threshold\:0.3,\children\:\$\,\h2\,null,{\className\:\mb-6 text-2xl text-muted-foreground md:text-3xl\,\children\:\Lead Full Stack Developer\}},\$\,\$L23\,null,{\threshold\:0.4,\children\:\$\,\p\,null,{\className\:\mb-8 max-w-2xl text-lg\,\children\:\9+ years of demonstrated track-record of success developing complex software solutions with Ruby, Python, JavaScript, Go, and more.\}},\$\,\$L23\,null,{\threshold\:0.5,\children\:\$\,\div\,null,{\className\:\flex flex-wrap gap-3\,\children\:\$\,\$L19\,null,{\href\:\/contact?subjectWork%20Inquiry\,\children\:\Collaboration\,\ref\:null,\className\:\inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 \u0026_svg:pointer-events-none \u0026_svg:size-4 \u0026_svg:shrink-0 bg-primary text-primary-foreground hover:bg-primary/90 h-11 rounded-md px-8 btn-gradient\},\$\,\$L19\,null,{\href\:\/projects\,\children\:\View Projects\,\ref\:null,\className\:\inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 \u0026_svg:pointer-events-none \u0026_svg:size-4 \u0026_svg:shrink-0 border-input bg-background hover:text-accent-foreground h-11 rounded-md px-8 border-2 transition-all duration-300 hover:bg-slate-500/10\},\$\,\$L19\,null,{\href\:\/blog\,\children\:\Read Blog\,\ref\:null,\className\:\inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 \u0026_svg:pointer-events-none \u0026_svg:size-4 \u0026_svg:shrink-0 border-input bg-background hover:text-accent-foreground h-11 rounded-md px-8 border-2 transition-all duration-300 hover:bg-slate-500/10\}}}},\$\,\div\,null,{\className\:\relative\,\children\:\$\,\div\,null,{\className\:\relative z-10 size-64 animate-float overflow-hidden rounded-full border-4 border-slate-500/20 shadow-lg md:size-80\,\children\:\$\,\$L24\,null,{\alt\:\mikhailProfileAlt\,\className\:\size-full object-cover\,\height\:320,\priority\:true,\src\:\/images/mikhail-profile.png\,\width\:320}},\$\,\div\,null,{\className\:\absolute -right-4 -top-4 size-full animate-pulse rounded-full bg-gradient-to-br from-slate-500 to-blue-500 opacity-20 blur-2xl\}}}}},\$\,\$L22\,null,{\className\:\py-20\,\particleCount\:15,\primaryColor\:\rgba(20, 184, 166, 0.5)\,\secondaryColor\:\rgba(245, 158, 11, 0.3)\,\trailLength\:8,\windForce\:15,\children\:\$\,\div\,null,{\className\:\container mx-auto max-w-7xl px-4\,\children\:\$\,\$L23\,null,{\children\:\$\,\h2\,null,{\className\:\text-gradient mb-8 text-center text-4xl font-bold\,\children\:\Skills \u0026 Expertise\}},\$\,\div\,null,{\className\:\mb-12 flex flex-wrap justify-center gap-3\,\children\:\$\,\$L23\,\Ruby\,{\threshold\:0.1,\children\:\$\,\div\,null,{\className\:\inline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300\,\children\:\Ruby\}},\$\,\$L23\,\JavaScript\,{\threshold\:0.11,\children\:\$\,\div\,null,{\className\:\inline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300\,\children\:\JavaScript\}},\$\,\$L23\,\Go\,{\threshold\:0.12000000000000001,\children\:\$\,\div\,null,{\className\:\inline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300\,\children\:\Go\}},\$\,\$L23\,\Python\,{\threshold\:0.13,\children\:\$\,\div\,null,{\className\:\inline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300\,\children\:\Python\}},\$\,\$L23\,\Clojure\,{\threshold\:0.14,\children\:\$\,\div\,null,{\className\:\inline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300\,\children\:\Clojure\}},\$\,\$L23\,\PHP\,{\threshold\:0.15000000000000002,\children\:\$\,\div\,null,{\className\:\inline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300\,\children\:\PHP\}},\$\,\$L23\,\Ruby on Rails\,{\threshold\:0.16,\children\:\$\,\div\,null,{\className\:\inline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300\,\children\:\Ruby on Rails\}},\$\,\$L23\,\React\,{\threshold\:0.17,\children\:\$\,\div\,null,{\className\:\inline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300\,\children\:\React\}},\$\,\$L23\,\Redux\,{\threshold\:0.18,\children\:\$\,\div\,null,{\className\:\inline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300\,\children\:\Redux\}},\$\,\$L23\,\GraphQL\,{\threshold\:0.19,\children\:\$\,\div\,null,{\className\:\inline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300\,\children\:\GraphQL\}},\$\,\$L23\,\Node.js\,{\threshold\:0.2,\children\:\$\,\div\,null,{\className\:\inline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300\,\children\:\Node.js\}},\$\,\$L23\,\Express.js\,{\threshold\:0.21000000000000002,\children\:\$\,\div\,null,{\className\:\inline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300\,\children\:\Express.js\}},\$\,\$L23\,\NestJS\,{\threshold\:0.22,\children\:\$\,\div\,null,{\className\:\inline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300\,\children\:\NestJS\}},\$\,\$L23\,\Angular\,{\threshold\:0.23,\children\:\$\,\div\,null,{\className\:\inline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300\,\children\:\Angular\}},\$\,\$L23\,\RxJS\,{\threshold\:0.24000000000000002,\children\:\$\,\div\,null,{\className\:\inline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300\,\children\:\RxJS\}},\$\,\$L23\,\PostgreSQL\,{\threshold\:0.25,\children\:\$\,\div\,null,{\className\:\inline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300\,\children\:\PostgreSQL\}},\$\,\$L23\,\MongoDB\,{\threshold\:0.26,\children\:\$\,\div\,null,{\className\:\inline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300\,\children\:\MongoDB\}},\$\,\$L23\,\Redis\,{\threshold\:0.27,\children\:\$\,\div\,null,{\className\:\inline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300\,\children\:\Redis\}},\$\,\$L23\,\Docker\,{\threshold\:0.28,\children\:\$\,\div\,null,{\className\:\inline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300\,\children\:\Docker\}},\$\,\$L23\,\K8S\,{\threshold\:0.29000000000000004,\children\:\$\,\div\,null,{\className\:\inline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300\,\children\:\K8S\}},\$\,\$L23\,\AWS\,{\threshold\:0.30000000000000004,\children\:\$\,\div\,null,{\className\:\inline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300\,\children\:\AWS\}},\$\,\$L23\,\GCP\,{\threshold\:0.31,\children\:\$\,\div\,null,{\className\:\inline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300\,\children\:\GCP\}},\$\,\$L23\,\Terraform\,{\threshold\:0.32,\children\:\$\,\div\,null,{\className\:\inline-flex items-center rounded-full font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 text-foreground cursor-default border px-4 py-2 text-sm transition-all duration-300\,\children\:\Terraform\}}}}},\$\,\$L22\,null,{\className\:\py-20\,\particleCount\:15,\primaryColor\:\rgba(99, 102, 241, 0.5)\,\secondaryColor\:\rgba(168, 85, 247, 0.3)\,\trailLength\:8,\windForce\:15,\children\:\$\,\div\,null,{\className\:\container mx-auto max-w-7xl px-4\,\children\:\$\,\$L23\,null,{\children\:\$\,\h2\,null,{\className\:\text-gradient mb-8 text-center text-4xl font-bold\,\children\:\Core Competencies\}},\$\,\div\,null,{\className\:\grid grid-cols-1 gap-6 md:grid-cols-2 lg:grid-cols-3\,\children\:\$\,\$L23\,\api-development\,{\threshold\:0.1,\children\:\$\,\div\,null,{\className\:\h-full overflow-hidden rounded-xl\,\children\:\$\,\div\,null,{\className\:\h-full border-0 bg-transparent\,\children\:\$\,\div\,null,{\className\:\p-6\,\children\:\$\,\h3\,null,{\className\:\mb-2 text-xl font-bold\,\children\:\API Development\}},\$\,\div\,null,{\className\:\grow px-6 pb-4\,\children\:\$\,\p\,null,{\className\:\text-muted-foreground\,\children\:\Designing and implementing robust, scalable, and secure APIs using REST, GraphQL, and gRPC.\}},\$\,\div\,null,{\className\:\px-6 pb-6\,\children\:\$\,\$L19\,null,{\href\:\/competencies/api-development\,\children\:\Learn More\,\$\,\svg\,null,{\ref\:\$undefined\,\xmlns\:\http://www.w3.org/2000/svg\,\width\:16,\height\:16,\viewBox\:\0 0 24 24\,\fill\:\none\,\stroke\:\currentColor\,\strokeWidth\:2,\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\className\:\lucide lucide-arrow-right transition-transform duration-300 group-hover:translate-x-1\,\children\:\$\,\path\,\1ays0h\,{\d\:\M5 12h14\},\$\,\path\,\xquz4c\,{\d\:\m12 5 7 7-7 7\},\$undefined\},\ref\:null,\className\:\inline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 \u0026_svg:pointer-events-none \u0026_svg:size-4 \u0026_svg:shrink-0 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3 group ml-auto gap-1\}}}}},\$\,\$L23\,\frontend-architecture\,{\threshold\:0.12000000000000001,\children\:\$\,\div\,null,{\className\:\h-full overflow-hidden rounded-xl\,\children\:\$\,\div\,null,{\className\:\h-full border-0 bg-transparent\,\children\:\$\,\div\,null,{\className\:\p-6\,\children\:\$\,\h3\,null,{\className\:\mb-2 text-xl font-bold\,\children\:\Frontend Architecture\}},\$\,\div\,null,{\className\:\grow px-6 pb-4\,\children\:\$\,\p\,null,{\className\:\text-muted-foreground\,\children\:\Designing scalable, maintainable frontend systems with optimal performance and developer experience.\}},\$\,\div\,null,{\className\:\px-6 pb-6\,\children\:\$\,\$L19\,null,{\href\:\/competencies/frontend-architecture\,\children\:\Learn More\,\$\,\svg\,null,{\ref\:\$undefined\,\xmlns\:\http://www.w3.org/2000/svg\,\width\:16,\height\:16,\viewBox\:\0 0 24 24\,\fill\:\none\,\stroke\:\currentColor\,\strokeWidth\:2,\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\className\:\lucide lucide-arrow-right transition-transform duration-300 group-hover:translate-x-1\,\children\:\$\,\path\,\1ays0h\,{\d\:\M5 12h14\},\$\,\path\,\xquz4c\,{\d\:\m12 5 7 7-7 7\},\$undefined\},\ref\:null,\className\:\inline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 \u0026_svg:pointer-events-none \u0026_svg:size-4 \u0026_svg:shrink-0 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3 group ml-auto gap-1\}}}}},\$\,\$L23\,\frontend-development\,{\threshold\:0.14,\children\:\$\,\div\,null,{\className\:\h-full overflow-hidden rounded-xl\,\children\:\$\,\div\,null,{\className\:\h-full border-0 bg-transparent\,\children\:\$\,\div\,null,{\className\:\p-6\,\children\:\$\,\h3\,null,{\className\:\mb-2 text-xl font-bold\,\children\:\Frontend Development\}},\$\,\div\,null,{\className\:\grow px-6 pb-4\,\children\:\$\,\p\,null,{\className\:\text-muted-foreground\,\children\:\Creating responsive, accessible, and performant user interfaces with modern frontend technologies.\}},\$\,\div\,null,{\className\:\px-6 pb-6\,\children\:\$\,\$L19\,null,{\href\:\/competencies/frontend-development\,\children\:\Learn More\,\$\,\svg\,null,{\ref\:\$undefined\,\xmlns\:\http://www.w3.org/2000/svg\,\width\:16,\height\:16,\viewBox\:\0 0 24 24\,\fill\:\none\,\stroke\:\currentColor\,\strokeWidth\:2,\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\className\:\lucide lucide-arrow-right transition-transform duration-300 group-hover:translate-x-1\,\children\:\$\,\path\,\1ays0h\,{\d\:\M5 12h14\},\$\,\path\,\xquz4c\,{\d\:\m12 5 7 7-7 7\},\$undefined\},\ref\:null,\className\:\inline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 \u0026_svg:pointer-events-none \u0026_svg:size-4 \u0026_svg:shrink-0 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3 group ml-auto gap-1\}}}}},\$\,\$L23\,\full-stack-development\,{\threshold\:0.16,\children\:\$\,\div\,null,{\className\:\h-full overflow-hidden rounded-xl\,\children\:\$\,\div\,null,{\className\:\h-full border-0 bg-transparent\,\children\:\$\,\div\,null,{\className\:\p-6\,\children\:\$\,\h3\,null,{\className\:\mb-2 text-xl font-bold\,\children\:\Full Stack Development\}},\$\,\div\,null,{\className\:\grow px-6 pb-4\,\children\:\$\,\p\,null,{\className\:\text-muted-foreground\,\children\:\Developing end-to-end applications spanning frontend, backend, and DevOps.\}},\$\,\div\,null,{\className\:\px-6 pb-6\,\children\:\$\,\$L19\,null,{\href\:\/competencies/full-stack-development\,\children\:\Learn More\,\$\,\svg\,null,{\ref\:\$undefined\,\xmlns\:\http://www.w3.org/2000/svg\,\width\:16,\height\:16,\viewBox\:\0 0 24 24\,\fill\:\none\,\stroke\:\currentColor\,\strokeWidth\:2,\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\className\:\lucide lucide-arrow-right transition-transform duration-300 group-hover:translate-x-1\,\children\:\$\,\path\,\1ays0h\,{\d\:\M5 12h14\},\$\,\path\,\xquz4c\,{\d\:\m12 5 7 7-7 7\},\$undefined\},\ref\:null,\className\:\inline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 \u0026_svg:pointer-events-none \u0026_svg:size-4 \u0026_svg:shrink-0 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3 group ml-auto gap-1\}}}}},\$\,\$L23\,\golang-development\,{\threshold\:0.18,\children\:\$\,\div\,null,{\className\:\h-full overflow-hidden rounded-xl\,\children\:\$\,\div\,null,{\className\:\h-full border-0 bg-transparent\,\children\:\$\,\div\,null,{\className\:\p-6\,\children\:\$\,\h3\,null,{\className\:\mb-2 text-xl font-bold\,\children\:\Golang Development\}},\$\,\div\,null,{\className\:\grow px-6 pb-4\,\children\:\$\,\p\,null,{\className\:\text-muted-foreground\,\children\:\Building high-performance, concurrent systems and microservices with Gos simplicity and efficiency.\}},\$\,\div\,null,{\className\:\px-6 pb-6\,\children\:\$\,\$L19\,null,{\href\:\/competencies/golang-development\,\children\:\Learn More\,\$\,\svg\,null,{\ref\:\$undefined\,\xmlns\:\http://www.w3.org/2000/svg\,\width\:16,\height\:16,\viewBox\:\0 0 24 24\,\fill\:\none\,\stroke\:\currentColor\,\strokeWidth\:2,\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\className\:\lucide lucide-arrow-right transition-transform duration-300 group-hover:translate-x-1\,\children\:\$\,\path\,\1ays0h\,{\d\:\M5 12h14\},\$\,\path\,\xquz4c\,{\d\:\m12 5 7 7-7 7\},\$undefined\},\ref\:null,\className\:\inline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 \u0026_svg:pointer-events-none \u0026_svg:size-4 \u0026_svg:shrink-0 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3 group ml-auto gap-1\}}}}},\$\,\$L23\,\javascript-development\,{\threshold\:0.2,\children\:\$\,\div\,null,{\className\:\h-full overflow-hidden rounded-xl\,\children\:\$\,\div\,null,{\className\:\h-full border-0 bg-transparent\,\children\:\$\,\div\,null,{\className\:\p-6\,\children\:\$\,\h3\,null,{\className\:\mb-2 text-xl font-bold\,\children\:\JavaScript Development\}},\$\,\div\,null,{\className\:\grow px-6 pb-4\,\children\:\$\,\p\,null,{\className\:\text-muted-foreground\,\children\:\Building robust web applications using modern JavaScript frameworks and libraries.\}},\$\,\div\,null,{\className\:\px-6 pb-6\,\children\:\$\,\$L19\,null,{\href\:\/competencies/javascript-development\,\children\:\Learn More\,\$\,\svg\,null,{\ref\:\$undefined\,\xmlns\:\http://www.w3.org/2000/svg\,\width\:16,\height\:16,\viewBox\:\0 0 24 24\,\fill\:\none\,\stroke\:\currentColor\,\strokeWidth\:2,\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\className\:\lucide lucide-arrow-right transition-transform duration-300 group-hover:translate-x-1\,\children\:\$\,\path\,\1ays0h\,{\d\:\M5 12h14\},\$\,\path\,\xquz4c\,{\d\:\m12 5 7 7-7 7\},\$undefined\},\ref\:null,\className\:\inline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 \u0026_svg:pointer-events-none \u0026_svg:size-4 \u0026_svg:shrink-0 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3 group ml-auto gap-1\}}}}}},\$\,\div\,null,{\className\:\mt-10 text-center\,\children\:\$\,\$L19\,null,{\href\:\/competencies\,\children\:\View All Competencies\,\ref\:null,\className\:\inline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 \u0026_svg:pointer-events-none \u0026_svg:size-4 \u0026_svg:shrink-0 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-11 rounded-md px-8 gap-1\}}}},\$\,\$L22\,null,{\className\:\py-20\,\particleCount\:15,\primaryColor\:\rgba(99, 102, 241, 0.5)\,\secondaryColor\:\rgba(168, 85, 247, 0.3)\,\trailLength\:8,\windForce\:15,\children\:\$\,\div\,null,{\className\:\container mx-auto max-w-7xl px-4\,\children\:\$\,\$L23\,null,{\children\:\$\,\h2\,null,{\className\:\text-gradient mb-8 text-center text-4xl font-bold\,\children\:\Latest Articles\}},\$\,\div\,null,{\className\:\grid grid-cols-1 gap-8 md:grid-cols-2\,\children\:\$\,\$L23\,\26\,{\threshold\:0.1,\children\:\$\,\div\,null,{\className\:\h-full overflow-hidden rounded-xl\,\children\:\$\,\div\,null,{\className\:\h-full border-0 bg-transparent\,\children\:\$\,\div\,null,{\className\:\h-48 overflow-hidden\,\children\:\$\,\$L25\,null,{\alt\:\When the Internets Foundation Cracks\,\className\:\size-full object-cover transition-transform duration-500 hover:scale-110\,\height\:300,\src\:\/images/blog/cloudflare-outage.webp\,\width\:600}},\$\,\div\,null,{\className\:\p-6\,\children\:\$\,\h3\,null,{\className\:\mb-2 text-2xl font-bold\,\children\:\When the Internets Foundation Cracks\},\$\,\p\,null,{\className\:\mb-4 text-sm text-muted-foreground\,\children\:\2025-11-18\},\$\,\p\,null,{\className\:\mb-4\,\children\:\A comprehensive analysis of the November 2025 Cloudflare outage that affected 20% of global web traffic, including root causes, real-world impact, and practical DevOps strategies for building resilient infrastructure.\},\$\,\a\,null,{\href\:\/blog/cloudflare-outage-november-2025\,\rel\:\noopener noreferrer\,\target\:\_blank\,\children\:\Read on Medium\,\$\,\svg\,null,{\ref\:\$undefined\,\xmlns\:\http://www.w3.org/2000/svg\,\width\:16,\height\:16,\viewBox\:\0 0 24 24\,\fill\:\none\,\stroke\:\currentColor\,\strokeWidth\:2,\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\className\:\lucide lucide-external-link ml-1\,\children\:\$\,\path\,\1q9fwt\,{\d\:\M15 3h6v6\},\$\,\path\,\gplh6r\,{\d\:\M10 14 21 3\},\$\,\path\,\a6xqqp\,{\d\:\M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\},\$undefined\},\ref\:null,\className\:\inline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 \u0026_svg:pointer-events-none \u0026_svg:size-4 \u0026_svg:shrink-0 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3 group gap-1\}}}}},\$\,\$L23\,\24\,{\threshold\:0.12000000000000001,\children\:\$\,\div\,null,{\className\:\h-full overflow-hidden rounded-xl\,\children\:\$\,\div\,null,{\className\:\h-full border-0 bg-transparent\,\children\:\$\,\div\,null,{\className\:\h-48 overflow-hidden\,\children\:\$\,\$L25\,null,{\alt\:\Remote Access to Raspberry Pi via Reverse SSH Tunnel\,\className\:\size-full object-cover transition-transform duration-500 hover:scale-110\,\height\:300,\src\:\/images/blog/reverse-ssh-raspberry-pi.png\,\width\:600}},\$\,\div\,null,{\className\:\p-6\,\children\:\$\,\h3\,null,{\className\:\mb-2 text-2xl font-bold\,\children\:\Remote Access to Raspberry Pi via Reverse SSH Tunnel\},\$\,\p\,null,{\className\:\mb-4 text-sm text-muted-foreground\,\children\:\2025-10-15\},\$\,\p\,null,{\className\:\mb-4\,\children\:\Complete guide to setting up secure remote access to your Raspberry Pi from anywhere in the world using Reverse SSH and AWS EC2. Works behind any NAT without router configuration.\},\$\,\a\,null,{\href\:\/blog/rpi/reverse-ssh\,\rel\:\noopener noreferrer\,\target\:\_blank\,\children\:\Read on Medium\,\$\,\svg\,null,{\ref\:\$undefined\,\xmlns\:\http://www.w3.org/2000/svg\,\width\:16,\height\:16,\viewBox\:\0 0 24 24\,\fill\:\none\,\stroke\:\currentColor\,\strokeWidth\:2,\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\className\:\lucide lucide-external-link ml-1\,\children\:\$\,\path\,\1q9fwt\,{\d\:\M15 3h6v6\},\$\,\path\,\gplh6r\,{\d\:\M10 14 21 3\},\$\,\path\,\a6xqqp\,{\d\:\M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\},\$undefined\},\ref\:null,\className\:\inline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 \u0026_svg:pointer-events-none \u0026_svg:size-4 \u0026_svg:shrink-0 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3 group gap-1\}}}}}},\$\,\div\,null,{\className\:\mt-10 text-center\,\children\:\$\,\$L19\,null,{\href\:\/blog\,\children\:\View All Articles\,\ref\:null,\className\:\inline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 \u0026_svg:pointer-events-none \u0026_svg:size-4 \u0026_svg:shrink-0 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-11 rounded-md px-8 gap-1\}}}},\$\,\$L22\,null,{\className\:\py-20\,\particleCount\:15,\primaryColor\:\rgba(99, 102, 241, 0.5)\,\secondaryColor\:\rgba(168, 85, 247, 0.3)\,\trailLength\:8,\windForce\:15,\children\:\$\,\div\,null,{\className\:\container mx-auto max-w-7xl px-4\,\children\:\$\,\$L23\,null,{\children\:\$\,\h2\,null,{\className\:\text-gradient mb-8 text-center text-4xl font-bold\,\children\:\Get In Touch\}},\$\,\div\,null,{\className\:\flex flex-wrap justify-center gap-4\,\children\:\$\,\$L23\,null,{\threshold\:0.2,\children\:\$\,\$L19\,null,{\href\:\/contact?subjectWork%20Inquiry\,\children\:\$\,\svg\,null,{\ref\:\$undefined\,\xmlns\:\http://www.w3.org/2000/svg\,\width\:18,\height\:18,\viewBox\:\0 0 24 24\,\fill\:\none\,\stroke\:\currentColor\,\strokeWidth\:2,\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\className\:\lucide lucide-mail\,\children\:\$\,\rect\,\18n3k1\,{\width\:\20\,\height\:\16\,\x\:\2\,\y\:\4\,\rx\:\2\},\$\,\path\,\1ocrg3\,{\d\:\m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7\},\$undefined\},\$\,\span\,null,{\children\:\Contact Me\},\ref\:null,\className\:\inline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 \u0026_svg:pointer-events-none \u0026_svg:size-4 \u0026_svg:shrink-0 bg-primary text-primary-foreground hover:bg-primary/90 h-11 rounded-md px-8 gap-2 bg-gradient-to-r\}},\$\,\$L23\,null,{\threshold\:0.3,\children\:\$\,\a\,null,{\href\:\https://github.com/metronom72/\,\rel\:\noopener noreferrer\,\target\:\_blank\,\children\:\$\,\svg\,null,{\ref\:\$undefined\,\xmlns\:\http://www.w3.org/2000/svg\,\width\:18,\height\:18,\viewBox\:\0 0 24 24\,\fill\:\none\,\stroke\:\currentColor\,\strokeWidth\:2,\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\className\:\lucide lucide-github\,\children\:\$\,\path\,\tonef\,{\d\:\M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4\},\$\,\path\,\9comsn\,{\d\:\M9 18c-4.51 2-5-2-7-2\},\$undefined\},\$\,\span\,null,{\children\:\GitHub Profile\},\ref\:null,\className\:\inline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 \u0026_svg:pointer-events-none \u0026_svg:size-4 \u0026_svg:shrink-0 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-11 rounded-md px-8 gap-2\}},\$\,\$L23\,null,{\threshold\:0.4,\children\:\$\,\a\,null,{\href\:\https://www.linkedin.com/in/metronom72/\,\rel\:\noopener noreferrer\,\target\:\_blank\,\children\:\$\,\svg\,null,{\ref\:\$undefined\,\xmlns\:\http://www.w3.org/2000/svg\,\width\:18,\height\:18,\viewBox\:\0 0 24 24\,\fill\:\none\,\stroke\:\currentColor\,\strokeWidth\:2,\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\className\:\lucide lucide-linkedin\,\children\:\$\,\path\,\c2jq9f\,{\d\:\M16 8a6 6 0 0 1 6 6v7h-4v-7a2 2 0 0 0-2-2 2 2 0 0 0-2 2v7h-4v-7a6 6 0 0 1 6-6z\},\$\,\rect\,\mk3on5\,{\width\:\4\,\height\:\12\,\x\:\2\,\y\:\9\},\$\,\circle\,\bt5ra8\,{\cx\:\4\,\cy\:\4\,\r\:\2\},\$undefined\},\$\,\span\,null,{\children\:\LinkedIn Profile\},\ref\:null,\className\:\inline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 \u0026_svg:pointer-events-none \u0026_svg:size-4 \u0026_svg:shrink-0 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-11 rounded-md px-8 gap-2\}},\$\,\$L23\,null,{\threshold\:0.5,\children\:\$\,\a\,null,{\href\:\https://t.me/r137y\,\rel\:\noopener noreferrer\,\target\:\_blank\,\children\:\$\,\svg\,null,{\ref\:\$undefined\,\xmlns\:\http://www.w3.org/2000/svg\,\width\:18,\height\:18,\viewBox\:\0 0 24 24\,\fill\:\none\,\stroke\:\currentColor\,\strokeWidth\:2,\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\className\:\lucide lucide-message-square\,\children\:\$\,\path\,\1lielz\,{\d\:\M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\},\$undefined\},\$\,\span\,null,{\children\:\Telegram Contact\},\ref\:null,\className\:\inline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 \u0026_svg:pointer-events-none \u0026_svg:size-4 \u0026_svg:shrink-0 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-11 rounded-md px-8 gap-2\}},\$\,\$L23\,null,{\threshold\:0.6,\children\:\$\,\a\,null,{\href\:\https://medium.com/@mi-do\,\rel\:\noopener noreferrer\,\target\:\_blank\,\children\:\$\,\svg\,null,{\ref\:\$undefined\,\xmlns\:\http://www.w3.org/2000/svg\,\width\:18,\height\:18,\viewBox\:\0 0 24 24\,\fill\:\none\,\stroke\:\currentColor\,\strokeWidth\:2,\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\className\:\lucide lucide-book-open\,\children\:\$\,\path\,\1akyts\,{\d\:\M12 7v14\},\$\,\path\,\ruj8y\,{\d\:\M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z\},\$undefined\},\$\,\span\,null,{\children\:\Medium Articles\},\ref\:null,\className\:\inline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 \u0026_svg:pointer-events-none \u0026_svg:size-4 \u0026_svg:shrink-0 border border-input bg-background hover:bg-accent hover:text-accent-foreground h-11 rounded-md px-8 gap-2\}}}}},\$\,\$e\,null,{\fallback\:\$\,\div\,null,{\className\:\bg-gradient-to-br from-slate-50 to-blue-50 py-20 dark:from-slate-950/30 dark:to-blue-950/30\},\children\:\$\,\$e\,null,{\fallback\:\$\,\div\,null,{\className\:\bg-gradient-to-br from-slate-50 to-blue-50 py-20 dark:from-slate-950/30 dark:to-blue-950/30\},\children\:\$\,\$L1b\,null,{\moduleIds\:\components/availability-section-wrapper.tsx -\u003e @/components/availability-section\},\$L26\}},\$\,\$e\,null,{\fallback\:\$\,\div\,null,{\className\:\bg-gradient-to-br from-slate-50 to-blue-50 py-20 dark:from-slate-950/30 dark:to-blue-950/30\},\children\:\$\,\$e\,null,{\fallback\:\$\,\div\,null,{\className\:\bg-gradient-to-br from-slate-50 to-blue-50 py-20 dark:from-slate-950/30 dark:to-blue-950/30\},\children\:\$\,\$L1b\,null,{\moduleIds\:\components/tech-skills-wrapper.tsx -\u003e @/components/tech-skills\},\$L27\}},\$\,\$e\,null,{\fallback\:\$\,\div\,null,{\className\:\py-20\},\children\:\$\,\$e\,null,{\fallback\:\$\,\div\,null,{\className\:\py-20\},\children\:\$\,\$L1b\,null,{\moduleIds\:\components/services-section-wrapper.tsx -\u003e @/components/services-section\},\$L28\}}}\n)/script>script>self.__next_f.push(1,29:I33585,\4277\,\static/chunks/4277-8448fba076ff7080.js\,\6874\,\static/chunks/6874-c18f53812331e7e8.js\,\6766\,\static/chunks/6766-a62953e42710b8f9.js\,\9506\,\static/chunks/9506-f323e79a14af920d.js\,\4449\,\static/chunks/4449-d8f334003fff9fa3.js\,\9571\,\static/chunks/9571-f4d202efa1d7c5dd.js\,\8974\,\static/chunks/app/page-9effdc3a153c5366.js\,\HireMeBanner\\n2a:I89822,\4277\,\static/chunks/4277-8448fba076ff7080.js\,\6874\,\static/chunks/6874-c18f53812331e7e8.js\,\6766\,\static/chunks/6766-a62953e42710b8f9.js\,\9506\,\static/chunks/9506-f323e79a14af920d.js\,\4449\,\static/chunks/4449-d8f334003fff9fa3.js\,\9571\,\static/chunks/9571-f4d202efa1d7c5dd.js\,\8974\,\static/chunks/app/page-9effdc3a153c5366.js\,\AnimatedCard\\n21:\$\,\$L1b\,null,{\moduleIds\:\components/hire-me-banner-wrapper.tsx -\u003e @/components/hire-me-banner\},\$\,\$L29\,null,{\language\:\en\}\n)/script>script>self.__next_f.push(1,26:\$\,\section\,null,{\className\:\bg-gradient-to-br from-slate-50 to-blue-50 py-20 dark:from-slate-950/30 dark:to-blue-950/30\,\children\:\$\,\div\,null,{\className\:\container mx-auto max-w-7xl px-4\,\children\:\$\,\$L23\,null,{\children\:\$\,\div\,null,{\className\:\mb-3 flex items-center justify-center gap-2\,\children\:\$\,\div\,null,{\className\:\size-3 animate-pulse rounded-full bg-blue-500\},\$\,\p\,null,{\className\:\text-sm font-medium text-blue-500\,\children\:\Currently Available\}}},\$\,\$L23\,null,{\children\:\$\,\h2\,null,{\className\:\text-gradient mb-4 text-center text-4xl font-bold\,\children\:\Available for Part-Time Work\}},\$\,\$L23\,null,{\threshold\:0.2,\children\:\$\,\p\,null,{\className\:\mx-auto mb-12 max-w-2xl text-center text-xl text-muted-foreground\,\children\:\Im currently accepting new clients and projects. Lets create something amazing together.\}},\$\,\div\,null,{\className\:\mb-12 grid grid-cols-1 gap-6 md:grid-cols-3\,\children\:\$\,\$L23\,null,{\threshold\:0.3,\children\:\$\,\div\,null,{\ref\:\$undefined\,\className\:\rounded-lg bg-card text-card-foreground shadow-sm card-hover border-2 border-slate-100 dark:border-slate-800\,\children\:\$\,\div\,null,{\ref\:\$undefined\,\className\:\flex flex-col items-center p-6 text-center\,\children\:\$\,\div\,null,{\className\:\mb-4 flex size-16 items-center justify-center rounded-full bg-slate-100 dark:bg-slate-800/50\,\children\:\$\,\svg\,null,{\ref\:\$undefined\,\xmlns\:\http://www.w3.org/2000/svg\,\width\:24,\height\:24,\viewBox\:\0 0 24 24\,\fill\:\none\,\stroke\:\currentColor\,\strokeWidth\:2,\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\className\:\lucide lucide-clock size-8 text-slate-600 dark:text-slate-400\,\children\:\$\,\circle\,\1mglay\,{\cx\:\12\,\cy\:\12\,\r\:\10\},\$\,\polyline\,\68esgv\,{\points\:\12 6 12 12 16 14\},\$undefined\}},\$\,\h3\,null,{\className\:\mb-2 text-xl font-bold\,\children\:\Flexible Hours\},\$\,\p\,null,{\className\:\text-muted-foreground\,\children\:\Available for up to 20 hours per week with flexible scheduling to accommodate your needs.\}}}},\$\,\$L23\,null,{\threshold\:0.4,\children\:\$\,\div\,null,{\ref\:\$undefined\,\className\:\rounded-lg bg-card text-card-foreground shadow-sm card-hover border-2 border-blue-100 dark:border-blue-900\,\children\:\$\,\div\,null,{\ref\:\$undefined\,\className\:\flex flex-col items-center p-6 text-center\,\children\:\$\,\div\,null,{\className\:\mb-4 flex size-16 items-center justify-center rounded-full bg-blue-100 dark:bg-blue-900/50\,\children\:\$\,\svg\,null,{\ref\:\$undefined\,\xmlns\:\http://www.w3.org/2000/svg\,\width\:24,\height\:24,\viewBox\:\0 0 24 24\,\fill\:\none\,\stroke\:\currentColor\,\strokeWidth\:2,\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\className\:\lucide lucide-calendar size-8 text-blue-600 dark:text-blue-400\,\children\:\$\,\path\,\1cmpym\,{\d\:\M8 2v4\},\$\,\path\,\4m81vk\,{\d\:\M16 2v4\},\$\,\rect\,\1hopcy\,{\width\:\18\,\height\:\18\,\x\:\3\,\y\:\4\,\rx\:\2\},\$\,\path\,\8toen8\,{\d\:\M3 10h18\},\$undefined\}},\$\,\h3\,null,{\className\:\mb-2 text-xl font-bold\,\children\:\Quick Turnaround\},\$\,\p\,null,{\className\:\text-muted-foreground\,\children\:\Efficient workflow and dedicated time blocks ensure your project gets completed on schedule.\}}}},\$\,\$L23\,null,{\threshold\:0.5,\children\:\$\,\div\,null,{\ref\:\$undefined\,\className\:\rounded-lg bg-card text-card-foreground shadow-sm card-hover border-2 border-slate-100 dark:border-slate-800\,\children\:\$\,\div\,null,{\ref\:\$undefined\,\className\:\flex flex-col items-center p-6 text-center\,\children\:\$\,\div\,null,{\className\:\mb-4 flex size-16 items-center justify-center rounded-full bg-slate-100 dark:bg-slate-800/50\,\children\:\$\,\svg\,null,{\ref\:\$undefined\,\xmlns\:\http://www.w3.org/2000/svg\,\width\:24,\height\:24,\viewBox\:\0 0 24 24\,\fill\:\none\,\stroke\:\currentColor\,\strokeWidth\:2,\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\className\:\lucide lucide-circle-check-big size-8 text-slate-600 dark:text-slate-400\,\children\:\$\,\path\,\yps3ct\,{\d\:\M21.801 10A10 10 0 1 1 17 3.335\},\$\,\path\,\1pflzl\,{\d\:\m9 11 3 3L22 4\},\$undefined\}},\$\,\h3\,null,{\className\:\mb-2 text-xl font-bold\,\children\:\Quality Focus\},\$\,\p\,null,{\className\:\text-muted-foreground\,\children\:\Every project receives my full attention and expertise, ensuring high-quality results.\}}}}},\$\,\div\,null,{\className\:\text-center\,\children\:\$\,\$L23\,null,{\threshold\:0.6,\children\:\$\,\$L19\,null,{\className\:\inline-flex items-center justify-center gap-2 whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 \u0026_svg:pointer-events-none \u0026_svg:size-4 \u0026_svg:shrink-0 bg-primary text-primary-foreground hover:bg-primary/90 h-11 rounded-md px-8 btn-gradient gap-2\,\href\:\/contact?subjectWork%20Inquiry\,\children\:\$\,\span\,null,{\children\:\Lets Work Together\},\$\,\svg\,null,{\ref\:\$undefined\,\xmlns\:\http://www.w3.org/2000/svg\,\width\:24,\height\:24,\viewBox\:\0 0 24 24\,\fill\:\none\,\stroke\:\currentColor\,\strokeWidth\:2,\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\className\:\lucide lucide-arrow-right size-4\,\children\:\$\,\path\,\1ays0h\,{\d\:\M5 12h14\},\$\,\path\,\xquz4c\,{\d\:\m12 5 7 7-7 7\},\$undefined\},\ref\:null}}}}}\n)/script>script>self.__next_f.push(1,27:\$\,\section\,null,{\className\:\bg-gradient-to-br from-slate-50 to-blue-50 py-20 dark:from-slate-950/30 dark:to-blue-950/30\,\children\:\$\,\div\,null,{\className\:\container mx-auto max-w-7xl px-4\,\children\:\$\,\$L23\,null,{\children\:\$\,\h2\,null,{\className\:\text-gradient mb-4 text-center text-4xl font-bold\,\children\:\Technical Skills\}},\$\,\$L23\,null,{\threshold\:0.2,\children\:\$\,\p\,null,{\className\:\mx-auto mb-12 max-w-2xl text-center text-xl text-muted-foreground\,\children\:\Core technologies I work with on a daily basis\}},\$\,\div\,null,{\className\:\grid grid-cols-1 gap-8 md:grid-cols-2 lg:grid-cols-3\,\children\:\$\,\$L23\,\Ruby\,{\threshold\:0.1,\children\:\$\,\div\,null,{\className\:\rounded-lg bg-white p-6 shadow-sm dark:bg-slate-800\,\children\:\$\,\div\,null,{\className\:\mb-4 flex items-center gap-3\,\children\:\$\,\img\,null,{\alt\:\Ruby logo\,\className\:\size-10 object-contain\,\src\:\/images/tech/ruby-logo.png\},\$\,\h3\,null,{\className\:\text-xl font-bold\,\children\:\Ruby\}},\$\,\div\,null,{\className\:\h-2.5 w-full rounded-full bg-slate-200 dark:bg-slate-700\,\children\:\$\,\div\,null,{\className\:\h-2.5 rounded-full bg-gradient-to-r from-slate-700 to-blue-600\,\style\:{\width\:\90%\}}},\$\,\div\,null,{\className\:\mt-2 flex justify-between text-sm text-muted-foreground\,\children\:\$\,\span\,null,{\children\:\Beginner\},\$\,\span\,null,{\children\:\Expert\}}}},\$\,\$L23\,\JavaScript\,{\threshold\:0.15000000000000002,\children\:\$\,\div\,null,{\className\:\rounded-lg bg-white p-6 shadow-sm dark:bg-slate-800\,\children\:\$\,\div\,null,{\className\:\mb-4 flex items-center gap-3\,\children\:\$\,\img\,null,{\alt\:\JavaScript logo\,\className\:\size-10 object-contain\,\src\:\/images/tech/js-logo.png\},\$\,\h3\,null,{\className\:\text-xl font-bold\,\children\:\JavaScript\}},\$\,\div\,null,{\className\:\h-2.5 w-full rounded-full bg-slate-200 dark:bg-slate-700\,\children\:\$\,\div\,null,{\className\:\h-2.5 rounded-full bg-gradient-to-r from-slate-700 to-blue-600\,\style\:{\width\:\95%\}}},\$\,\div\,null,{\className\:\mt-2 flex justify-between text-sm text-muted-foreground\,\children\:\$\,\span\,null,{\children\:\Beginner\},\$\,\span\,null,{\children\:\Expert\}}}},\$\,\$L23\,\TypeScript\,{\threshold\:0.2,\children\:\$\,\div\,null,{\className\:\rounded-lg bg-white p-6 shadow-sm dark:bg-slate-800\,\children\:\$\,\div\,null,{\className\:\mb-4 flex items-center gap-3\,\children\:\$\,\img\,null,{\alt\:\TypeScript logo\,\className\:\size-10 object-contain\,\src\:\/images/tech/typescript-logo.png\},\$\,\h3\,null,{\className\:\text-xl font-bold\,\children\:\TypeScript\}},\$\,\div\,null,{\className\:\h-2.5 w-full rounded-full bg-slate-200 dark:bg-slate-700\,\children\:\$\,\div\,null,{\className\:\h-2.5 rounded-full bg-gradient-to-r from-slate-700 to-blue-600\,\style\:{\width\:\90%\}}},\$\,\div\,null,{\className\:\mt-2 flex justify-between text-sm text-muted-foreground\,\children\:\$\,\span\,null,{\children\:\Beginner\},\$\,\span\,null,{\children\:\Expert\}}}},\$\,\$L23\,\Go\,{\threshold\:0.25,\children\:\$\,\div\,null,{\className\:\rounded-lg bg-white p-6 shadow-sm dark:bg-slate-800\,\children\:\$\,\div\,null,{\className\:\mb-4 flex items-center gap-3\,\children\:\$\,\img\,null,{\alt\:\Go logo\,\className\:\size-10 object-contain\,\src\:\/images/tech/go-logo.png\},\$\,\h3\,null,{\className\:\text-xl font-bold\,\children\:\Go\}},\$\,\div\,null,{\className\:\h-2.5 w-full rounded-full bg-slate-200 dark:bg-slate-700\,\children\:\$\,\div\,null,{\className\:\h-2.5 rounded-full bg-gradient-to-r from-slate-700 to-blue-600\,\style\:{\width\:\85%\}}},\$\,\div\,null,{\className\:\mt-2 flex justify-between text-sm text-muted-foreground\,\children\:\$\,\span\,null,{\children\:\Beginner\},\$\,\span\,null,{\children\:\Expert\}}}},\$\,\$L23\,\Python\,{\threshold\:0.30000000000000004,\children\:\$\,\div\,null,{\className\:\rounded-lg bg-white p-6 shadow-sm dark:bg-slate-800\,\children\:\$\,\div\,null,{\className\:\mb-4 flex items-center gap-3\,\children\:\$\,\img\,null,{\alt\:\Python logo\,\className\:\size-10 object-contain\,\src\:\/images/tech/python-logo.png\},\$\,\h3\,null,{\className\:\text-xl font-bold\,\children\:\Python\}},\$\,\div\,null,{\className\:\h-2.5 w-full rounded-full bg-slate-200 dark:bg-slate-700\,\children\:\$\,\div\,null,{\className\:\h-2.5 rounded-full bg-gradient-to-r from-slate-700 to-blue-600\,\style\:{\width\:\80%\}}},\$\,\div\,null,{\className\:\mt-2 flex justify-between text-sm text-muted-foreground\,\children\:\$\,\span\,null,{\children\:\Beginner\},\$\,\span\,null,{\children\:\Expert\}}}},\$\,\$L23\,\React\,{\threshold\:0.35,\children\:\$\,\div\,null,{\className\:\rounded-lg bg-white p-6 shadow-sm dark:bg-slate-800\,\children\:\$\,\div\,null,{\className\:\mb-4 flex items-center gap-3\,\children\:\$\,\img\,null,{\alt\:\React logo\,\className\:\size-10 object-contain\,\src\:\/images/tech/react-logo.png\},\$\,\h3\,null,{\className\:\text-xl font-bold\,\children\:\React\}},\$\,\div\,null,{\className\:\h-2.5 w-full rounded-full bg-slate-200 dark:bg-slate-700\,\children\:\$\,\div\,null,{\className\:\h-2.5 rounded-full bg-gradient-to-r from-slate-700 to-blue-600\,\style\:{\width\:\90%\}}},\$\,\div\,null,{\className\:\mt-2 flex justify-between text-sm text-muted-foreground\,\children\:\$\,\span\,null,{\children\:\Beginner\},\$\,\span\,null,{\children\:\Expert\}}}},\$\,\$L23\,\Node.js\,{\threshold\:0.4,\children\:\$\,\div\,null,{\className\:\rounded-lg bg-white p-6 shadow-sm dark:bg-slate-800\,\children\:\$\,\div\,null,{\className\:\mb-4 flex items-center gap-3\,\children\:\$\,\img\,null,{\alt\:\Node.js logo\,\className\:\size-10 object-contain\,\src\:\/images/tech/nodejs-logo.png\},\$\,\h3\,null,{\className\:\text-xl font-bold\,\children\:\Node.js\}},\$\,\div\,null,{\className\:\h-2.5 w-full rounded-full bg-slate-200 dark:bg-slate-700\,\children\:\$\,\div\,null,{\className\:\h-2.5 rounded-full bg-gradient-to-r from-slate-700 to-blue-600\,\style\:{\width\:\85%\}}},\$\,\div\,null,{\className\:\mt-2 flex justify-between text-sm text-muted-foreground\,\children\:\$\,\span\,null,{\children\:\Beginner\},\$\,\span\,null,{\children\:\Expert\}}}},\$\,\$L23\,\PostgreSQL\,{\threshold\:0.45000000000000007,\children\:\$\,\div\,null,{\className\:\rounded-lg bg-white p-6 shadow-sm dark:bg-slate-800\,\children\:\$\,\div\,null,{\className\:\mb-4 flex items-center gap-3\,\children\:\$\,\img\,null,{\alt\:\PostgreSQL logo\,\className\:\size-10 object-contain\,\src\:\/images/tech/postgresql-logo.png\},\$\,\h3\,null,{\className\:\text-xl font-bold\,\children\:\PostgreSQL\}},\$\,\div\,null,{\className\:\h-2.5 w-full rounded-full bg-slate-200 dark:bg-slate-700\,\children\:\$\,\div\,null,{\className\:\h-2.5 rounded-full bg-gradient-to-r from-slate-700 to-blue-600\,\style\:{\width\:\85%\}}},\$\,\div\,null,{\className\:\mt-2 flex justify-between text-sm text-muted-foreground\,\children\:\$\,\span\,null,{\children\:\Beginner\},\$\,\span\,null,{\children\:\Expert\}}}},\$\,\$L23\,\GraphQL\,{\threshold\:0.5,\children\:\$\,\div\,null,{\className\:\rounded-lg bg-white p-6 shadow-sm dark:bg-slate-800\,\children\:\$\,\div\,null,{\className\:\mb-4 flex items-center gap-3\,\children\:\$\,\img\,null,{\alt\:\GraphQL logo\,\className\:\size-10 object-contain\,\src\:\/images/tech/graphql-logo.png\},\$\,\h3\,null,{\className\:\text-xl font-bold\,\children\:\GraphQL\}},\$\,\div\,null,{\className\:\h-2.5 w-full rounded-full bg-slate-200 dark:bg-slate-700\,\children\:\$\,\div\,null,{\className\:\h-2.5 rounded-full bg-gradient-to-r from-slate-700 to-blue-600\,\style\:{\width\:\80%\}}},\$\,\div\,null,{\className\:\mt-2 flex justify-between text-sm text-muted-foreground\,\children\:\$\,\span\,null,{\children\:\Beginner\},\$\,\span\,null,{\children\:\Expert\}}}}}}}\n)/script>script>self.__next_f.push(1,28:\$\,\$L22\,null,{\className\:\py-20\,\particleCount\:100,\primaryColor\:\rgba(99, 102, 241, 0.5)\,\secondaryColor\:\rgba(168, 85, 247, 0.3)\,\trailLength\:22,\windForce\:30,\children\:\$\,\div\,null,{\className\:\container mx-auto max-w-7xl px-4\,\children\:\$\,\$L23\,null,{\children\:\$\,\h2\,null,{\className\:\text-gradient mb-4 text-center text-4xl font-bold\,\children\:\Services I Offer\}},\$\,\$L23\,null,{\threshold\:0.2,\children\:\$\,\p\,null,{\className\:\mx-auto mb-12 max-w-2xl text-center text-xl text-muted-foreground\,\children\:\Specialized expertise to help your business grow with technology solutions.\}},\$\,\div\,null,{\className\:\grid grid-cols-1 gap-6 md:grid-cols-2 lg:grid-cols-3\,\children\:\$\,\$L23\,\0\,{\threshold\:0.1,\children\:\$\,\$L2a\,null,{\className\:\h-full overflow-hidden rounded-xl\,\children\:\$\,\div\,null,{\ref\:\$undefined\,\className\:\rounded-lg text-card-foreground shadow-sm h-full border-0 bg-transparent\,\children\:\$\,\div\,null,{\ref\:\$undefined\,\className\:\flex flex-col space-y-1.5 p-6\,\children\:\$\,\div\,null,{\ref\:\$undefined\,\className\:\font-semibold tracking-tight text-xl\,\children\:\Full Stack Development\}},\$\,\div\,null,{\ref\:\$undefined\,\className\:\p-6 pt-0 grow\,\children\:\$\,\p\,null,{\className\:\text-muted-foreground\,\children\:\End-to-end web application development using modern frameworks and technologies.\}},\$\,\div\,null,{\ref\:\$undefined\,\className\:\flex items-center p-6 pt-0\,\children\:\$\,\$L19\,null,{\href\:\/competencies/full-stack-development\,\children\:\Learn More\,\$\,\svg\,null,{\ref\:\$undefined\,\xmlns\:\http://www.w3.org/2000/svg\,\width\:16,\height\:16,\viewBox\:\0 0 24 24\,\fill\:\none\,\stroke\:\currentColor\,\strokeWidth\:2,\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\className\:\lucide lucide-arrow-right transition-transform duration-300 group-hover:translate-x-1\,\children\:\$\,\path\,\1ays0h\,{\d\:\M5 12h14\},\$\,\path\,\xquz4c\,{\d\:\m12 5 7 7-7 7\},\$undefined\},\ref\:null,\className\:\inline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 \u0026_svg:pointer-events-none \u0026_svg:size-4 \u0026_svg:shrink-0 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3 group ml-auto gap-1\}}}}},\$\,\$L23\,\1\,{\threshold\:0.12000000000000001,\children\:\$\,\$L2a\,null,{\className\:\h-full overflow-hidden rounded-xl\,\children\:\$\,\div\,null,{\ref\:\$undefined\,\className\:\rounded-lg text-card-foreground shadow-sm h-full border-0 bg-transparent\,\children\:\$\,\div\,null,{\ref\:\$undefined\,\className\:\flex flex-col space-y-1.5 p-6\,\children\:\$\,\div\,null,{\ref\:\$undefined\,\className\:\font-semibold tracking-tight text-xl\,\children\:\API Development\}},\$\,\div\,null,{\ref\:\$undefined\,\className\:\p-6 pt-0 grow\,\children\:\$\,\p\,null,{\className\:\text-muted-foreground\,\children\:\Building robust, well-documented APIs that power your applications.\}},\$\,\div\,null,{\ref\:\$undefined\,\className\:\flex items-center p-6 pt-0\,\children\:\$\,\$L19\,null,{\href\:\/competencies/api-development\,\children\:\Learn More\,\$\,\svg\,null,{\ref\:\$undefined\,\xmlns\:\http://www.w3.org/2000/svg\,\width\:16,\height\:16,\viewBox\:\0 0 24 24\,\fill\:\none\,\stroke\:\currentColor\,\strokeWidth\:2,\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\className\:\lucide lucide-arrow-right transition-transform duration-300 group-hover:translate-x-1\,\children\:\$\,\path\,\1ays0h\,{\d\:\M5 12h14\},\$\,\path\,\xquz4c\,{\d\:\m12 5 7 7-7 7\},\$undefined\},\ref\:null,\className\:\inline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 \u0026_svg:pointer-events-none \u0026_svg:size-4 \u0026_svg:shrink-0 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3 group ml-auto gap-1\}}}}},\$\,\$L23\,\2\,{\threshold\:0.14,\children\:\$\,\$L2a\,null,{\className\:\h-full overflow-hidden rounded-xl\,\children\:\$\,\div\,null,{\ref\:\$undefined\,\className\:\rounded-lg text-card-foreground shadow-sm h-full border-0 bg-transparent\,\children\:\$\,\div\,null,{\ref\:\$undefined\,\className\:\flex flex-col space-y-1.5 p-6\,\children\:\$\,\div\,null,{\ref\:\$undefined\,\className\:\font-semibold tracking-tight text-xl\,\children\:\Frontend Development\}},\$\,\div\,null,{\ref\:\$undefined\,\className\:\p-6 pt-0 grow\,\children\:\$\,\p\,null,{\className\:\text-muted-foreground\,\children\:\Creating responsive, accessible, and performant user interfaces.\}},\$\,\div\,null,{\ref\:\$undefined\,\className\:\flex items-center p-6 pt-0\,\children\:\$\,\$L19\,null,{\href\:\/competencies/frontend-development\,\children\:\Learn More\,\$\,\svg\,null,{\ref\:\$undefined\,\xmlns\:\http://www.w3.org/2000/svg\,\width\:16,\height\:16,\viewBox\:\0 0 24 24\,\fill\:\none\,\stroke\:\currentColor\,\strokeWidth\:2,\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\className\:\lucide lucide-arrow-right transition-transform duration-300 group-hover:translate-x-1\,\children\:\$\,\path\,\1ays0h\,{\d\:\M5 12h14\},\$\,\path\,\xquz4c\,{\d\:\m12 5 7 7-7 7\},\$undefined\},\ref\:null,\className\:\inline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 \u0026_svg:pointer-events-none \u0026_svg:size-4 \u0026_svg:shrink-0 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3 group ml-auto gap-1\}}}}},\$\,\$L23\,\3\,{\threshold\:0.16,\children\:\$\,\$L2a\,null,{\className\:\h-full overflow-hidden rounded-xl\,\children\:\$\,\div\,null,{\ref\:\$undefined\,\className\:\rounded-lg text-card-foreground shadow-sm h-full border-0 bg-transparent\,\children\:\$\,\div\,null,{\ref\:\$undefined\,\className\:\flex flex-col space-y-1.5 p-6\,\children\:\$\,\div\,null,{\ref\:\$undefined\,\className\:\font-semibold tracking-tight text-xl\,\children\:\Ruby on Rails Development\}},\$\,\div\,null,{\ref\:\$undefined\,\className\:\p-6 pt-0 grow\,\children\:\$\,\p\,null,{\className\:\text-muted-foreground\,\children\:\Building robust web applications with Ruby on Rails framework.\}},\$\,\div\,null,{\ref\:\$undefined\,\className\:\flex items-center p-6 pt-0\,\children\:\$\,\$L19\,null,{\href\:\/competencies/ruby-on-rails-development\,\children\:\Learn More\,\$\,\svg\,null,{\ref\:\$undefined\,\xmlns\:\http://www.w3.org/2000/svg\,\width\:16,\height\:16,\viewBox\:\0 0 24 24\,\fill\:\none\,\stroke\:\currentColor\,\strokeWidth\:2,\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\className\:\lucide lucide-arrow-right transition-transform duration-300 group-hover:translate-x-1\,\children\:\$\,\path\,\1ays0h\,{\d\:\M5 12h14\},\$\,\path\,\xquz4c\,{\d\:\m12 5 7 7-7 7\},\$undefined\},\ref\:null,\className\:\inline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 \u0026_svg:pointer-events-none \u0026_svg:size-4 \u0026_svg:shrink-0 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3 group ml-auto gap-1\}}}}},\$\,\$L23\,\4\,{\threshold\:0.18,\children\:\$\,\$L2a\,null,{\className\:\h-full overflow-hidden rounded-xl\,\children\:\$\,\div\,null,{\ref\:\$undefined\,\className\:\rounded-lg text-card-foreground shadow-sm h-full border-0 bg-transparent\,\children\:\$\,\div\,null,{\ref\:\$undefined\,\className\:\flex flex-col space-y-1.5 p-6\,\children\:\$\,\div\,null,{\ref\:\$undefined\,\className\:\font-semibold tracking-tight text-xl\,\children\:\Go Development\}},\$\,\div\,null,{\ref\:\$undefined\,\className\:\p-6 pt-0 grow\,\children\:\$\,\p\,null,{\className\:\text-muted-foreground\,\children\:\Creating high-performance, concurrent systems and microservices with Go.\}},\$\,\div\,null,{\ref\:\$undefined\,\className\:\flex items-center p-6 pt-0\,\children\:\$\,\$L19\,null,{\href\:\/competencies/golang-development\,\children\:\Learn More\,\$\,\svg\,null,{\ref\:\$undefined\,\xmlns\:\http://www.w3.org/2000/svg\,\width\:16,\height\:16,\viewBox\:\0 0 24 24\,\fill\:\none\,\stroke\:\currentColor\,\strokeWidth\:2,\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\className\:\lucide lucide-arrow-right transition-transform duration-300 group-hover:translate-x-1\,\children\:\$\,\path\,\1ays0h\,{\d\:\M5 12h14\},\$\,\path\,\xquz4c\,{\d\:\m12 5 7 7-7 7\},\$undefined\},\ref\:null,\className\:\inline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 \u0026_svg:pointer-events-none \u0026_svg:size-4 \u0026_svg:shrink-0 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3 group ml-auto gap-1\}}}}},\$\,\$L23\,\5\,{\threshold\:0.2,\children\:\$\,\$L2a\,null,{\className\:\h-full overflow-hidden rounded-xl\,\children\:\$\,\div\,null,{\ref\:\$undefined\,\className\:\rounded-lg text-card-foreground shadow-sm h-full border-0 bg-transparent\,\children\:\$\,\div\,null,{\ref\:\$undefined\,\className\:\flex flex-col space-y-1.5 p-6\,\children\:\$\,\div\,null,{\ref\:\$undefined\,\className\:\font-semibold tracking-tight text-xl\,\children\:\JavaScript Development\}},\$\,\div\,null,{\ref\:\$undefined\,\className\:\p-6 pt-0 grow\,\children\:\$\,\p\,null,{\className\:\text-muted-foreground\,\children\:\Building dynamic web applications with modern JavaScript frameworks.\}},\$\,\div\,null,{\ref\:\$undefined\,\className\:\flex items-center p-6 pt-0\,\children\:\$\,\$L19\,null,{\href\:\/competencies/javascript-development\,\children\:\Learn More\,\$\,\svg\,null,{\ref\:\$undefined\,\xmlns\:\http://www.w3.org/2000/svg\,\width\:16,\height\:16,\viewBox\:\0 0 24 24\,\fill\:\none\,\stroke\:\currentColor\,\strokeWidth\:2,\strokeLinecap\:\round\,\strokeLinejoin\:\round\,\className\:\lucide lucide-arrow-right transition-transform duration-300 group-hover:translate-x-1\,\children\:\$\,\path\,\1ays0h\,{\d\:\M5 12h14\},\$\,\path\,\xquz4c\,{\d\:\m12 5 7 7-7 7\},\$undefined\},\ref\:null,\className\:\inline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 \u0026_svg:pointer-events-none \u0026_svg:size-4 \u0026_svg:shrink-0 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3 group ml-auto gap-1\}}}}}}}}\n)/script>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]