Help
RSS
API
Feed
Maltego
Contact
Domain > ckearl.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2025-08-01
18.155.1.63
(
ClassC
)
2025-11-04
3.169.173.5
(
ClassC
)
Port 80
HTTP/1.1 301 Moved PermanentlyServer: CloudFrontDate: Tue, 04 Nov 2025 00:30:39 GMTContent-Type: text/htmlContent-Length: 167Connection: keep-aliveLocation: https://ckearl.com/X-Cache: Redirect from cloudfrontVia: 1.1 a454a679efa1e16833b77cb6af61e11c.cloudfront.net (CloudFront)X-Amz-Cf-Pop: HIO52-P4Alt-Svc: h3:443; ma86400X-Amz-Cf-Id: HiS8CRCuYa5fTc_fS80xymJch2szxSMu4NepV1hacUkXYvYfdBBajQ 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: 95382Connection: keep-aliveDate: Tue, 04 Nov 2025 00:30:41 GMTETag: bebi6lg1ea21jzx-nextjs-cache: HITx-nextjs-prerender: 1x-nextjs-prerender: 1x-nextjs-stale-time: 300x-powered-by: Next.jsCache-Control: s-maxage31536000Vary: Accept-EncodingX-Cache: Miss from cloudfrontVia: 1.1 bc4e0a32a1893d7693b91555def3133e.cloudfront.net (CloudFront)X-Amz-Cf-Pop: HIO52-P4Alt-Svc: h3:443; ma86400X-Amz-Cf-Id: ki9va_Piqo5hjPIOXKM1e5h7lJBjDobQyoeEky5xZFNwmdnyKgprwA !DOCTYPE html>!--S6LWZkSqhdF_l7QzssksX-->html langen>head>meta charSetutf-8/>meta nameviewport contentwidthdevice-width, initial-scale1/>link relpreload href/_next/static/media/93f479601ee12b01-s.p.woff2 asfont crossorigin typefont/woff2/>link relpreload href/_next/static/media/e4af272ccee01ff0-s.p.woff2 asfont crossorigin typefont/woff2/>link relstylesheet href/_next/static/css/8a742fcbf759d031.css data-precedencenext/>link relpreload asscript fetchPrioritylow href/_next/static/chunks/webpack-deb6909806d66786.js/>script src/_next/static/chunks/4bd1b696-c023c6e3521b1417.js async>/script>script src/_next/static/chunks/255-cf2e1d3491ac955b.js async>/script>script src/_next/static/chunks/main-app-0642936a0b3aeb26.js async>/script>script src/_next/static/chunks/app/layout-e9dbfffe61774390.js async>/script>script src/_next/static/chunks/994-a086591100a37090.js async>/script>script src/_next/static/chunks/app/page-a9930e8f08e32933.js async>/script>meta namenext-size-adjust content/>title>Christopher Kearl | Software Engineer & Developer/title>meta namedescription contentSoftware Engineer specializing in full-stack development, cloud engineering, and compliance automation. Former musician with Ritt Momney. MS in Information Systems Management from BYU./>meta nameauthor contentChristopher Kearl/>meta namekeywords contentChristopher Kearl,Software Engineer,Full-stack Developer,TypeScript,React,Next.js,Python,AWS,Cloud Engineering,Ritt Momney/>meta propertyog:title contentChristopher Kearl | Software Engineer & Developer/>meta propertyog:description contentSoftware Engineer specializing in full-stack development, cloud engineering, and compliance automation./>meta propertyog:url contenthttps://ckearl.com/>meta propertyog:site_name contentChristopher Kearl Portfolio/>meta propertyog:locale contenten_US/>meta propertyog:type contentwebsite/>meta nametwitter:card contentsummary_large_image/>meta nametwitter:title contentChristopher Kearl | Software Engineer & Developer/>meta nametwitter:description contentSoftware Engineer specializing in full-stack development, cloud engineering, and compliance automation./>script src/_next/static/chunks/polyfills-42372ed130431b0a.js noModule>/script>/head>body class__variable_f367f3 __variable_9a8899 font-sans antialiased>div hidden>!--$-->!--/$-->/div>main classmin-h-screen>nav classfixed top-0 left-0 right-0 z-50 bg-dark/90 backdrop-blur-md border-b border-electric/20>div classmax-w-7xl mx-auto px-6 lg:px-8>div classflex items-center justify-between h-20>a href#hero classtext-2xl font-black tracking-tighter text-slate-50 tabindex0>span classtext-electric>C/span>K/a>div classhidden md:flex items-center gap-8>a href#about classtext-sm font-bold text-slate-400 hover:text-electric transition-colors relative group tracking-wider styleopacity:0;transform:translateY(-20px)>ABOUTspan classabsolute -bottom-2 left-0 w-0 h-0.5 bg-electric group-hover:w-full transition-all duration-300>/span>/a>a href#experience classtext-sm font-bold text-slate-400 hover:text-electric transition-colors relative group tracking-wider styleopacity:0;transform:translateY(-20px)>WORKspan classabsolute -bottom-2 left-0 w-0 h-0.5 bg-electric group-hover:w-full transition-all duration-300>/span>/a>a href#projects classtext-sm font-bold text-slate-400 hover:text-electric transition-colors relative group tracking-wider styleopacity:0;transform:translateY(-20px)>PROJECTSspan classabsolute -bottom-2 left-0 w-0 h-0.5 bg-electric group-hover:w-full transition-all duration-300>/span>/a>a href#skills classtext-sm font-bold text-slate-400 hover:text-electric transition-colors relative group tracking-wider styleopacity:0;transform:translateY(-20px)>SKILLSspan classabsolute -bottom-2 left-0 w-0 h-0.5 bg-electric group-hover:w-full transition-all duration-300>/span>/a>a href#contact classtext-sm font-bold text-slate-400 hover:text-electric transition-colors relative group tracking-wider styleopacity:0;transform:translateY(-20px)>CONTACTspan classabsolute -bottom-2 left-0 w-0 h-0.5 bg-electric group-hover:w-full transition-all duration-300>/span>/a>button classp-2 text-slate-400 hover:text-electric transition-colors aria-labelToggle theme tabindex0>svg xmlnshttp://www.w3.org/2000/svg width18 height18 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-sun>circle cx12 cy12 r4>/circle>path dM12 2v2>/path>path dM12 20v2>/path>path dm4.93 4.93 1.41 1.41>/path>path dm17.66 17.66 1.41 1.41>/path>path dM2 12h2>/path>path dM20 12h2>/path>path dm6.34 17.66-1.41 1.41>/path>path dm19.07 4.93-1.41 1.41>/path>/svg>/button>/div>div classflex md:hidden items-center gap-4>button classp-2 text-slate-400 aria-labelToggle theme>svg xmlnshttp://www.w3.org/2000/svg width18 height18 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-sun>circle cx12 cy12 r4>/circle>path dM12 2v2>/path>path dM12 20v2>/path>path dm4.93 4.93 1.41 1.41>/path>path dm17.66 17.66 1.41 1.41>/path>path dM2 12h2>/path>path dM20 12h2>/path>path dm6.34 17.66-1.41 1.41>/path>path dm19.07 4.93-1.41 1.41>/path>/svg>/button>button classp-2 text-slate-50 aria-labelToggle menu>svg xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-menu>line x14 x220 y112 y212>/line>line x14 x220 y16 y26>/line>line x14 x220 y118 y218>/line>/svg>/button>/div>/div>/div>div classmd:hidden overflow-hidden bg-navy-900/95 backdrop-blur-lg border-t border-electric/20 styleheight:0px;opacity:0>div classpx-6 py-6 space-y-4>a href#about classblock py-3 text-slate-200 hover:text-electric transition-colors font-bold tracking-wider border-l-2 border-transparent hover:border-electric pl-4>ABOUT/a>a href#experience classblock py-3 text-slate-200 hover:text-electric transition-colors font-bold tracking-wider border-l-2 border-transparent hover:border-electric pl-4>WORK/a>a href#projects classblock py-3 text-slate-200 hover:text-electric transition-colors font-bold tracking-wider border-l-2 border-transparent hover:border-electric pl-4>PROJECTS/a>a href#skills classblock py-3 text-slate-200 hover:text-electric transition-colors font-bold tracking-wider border-l-2 border-transparent hover:border-electric pl-4>SKILLS/a>a href#contact classblock py-3 text-slate-200 hover:text-electric transition-colors font-bold tracking-wider border-l-2 border-transparent hover:border-electric pl-4>CONTACT/a>/div>/div>/nav>section idhero classrelative min-h-screen flex items-center justify-center overflow-hidden bg-dark>div classabsolute top-0 right-0 w-800px h-800px bg-electric/10 rotate-45 styletransform:translateX(300px) translateY(-300px) rotate(45deg)>/div>div classabsolute bottom-0 left-0 w-600px h-600px bg-navy-700/5 styletransform:translateX(-200px) translateY(200px)>/div>div classabsolute top-1/2 left-1/4 w-300px h-300px bg-azure/5 rounded-full blur-3xl>/div>div classrelative z-10 max-w-7xl mx-auto px-6 lg:px-8 w-full>div classgrid lg:grid-cols-12 gap-8 items-center>div classlg:col-span-7>div styleopacity:0;transform:translateX(-50px)>div classinline-block px-4 py-2 border border-electric/50 rounded-full mb-8>span classtext-electric text-sm font-mono uppercase tracking-wider>Open to collaborate/span>/div>h1 classmb-6 relative>div classtext-clamp(3rem,10vw,7rem) font-black leading-0.9 tracking-tighter text-electric styleopacity:0;transform:translateY(30px)>div classflex flex-col>span>CHRISTOPHER/span>span>KEARL/span>/div>/div>/h1>div classmb-8 styleopacity:0>p classtext-slate-200 text-2xl md:text-3xl font-light max-w-2xl>Software Engineer!-- --> span classtext-slate-400>×/span> Cloud Architect!-- --> span classtext-slate-400>×/span> Creative/p>/div>div classmb-4 min-h-60px styleopacity:0>p classtext-lg md:text-xl text-electric font-mono>span classtext-slate-500>>/span> span classinline-block w-2 h-5 bg-electric ml-1 animate-pulse>/span>/p>/div>div classflex flex-wrap gap-4 mb-4 styleopacity:0;transform:translateY(20px)>a href#projects classgroup relative px-8 py-4 bg-electric text-dark rounded-none font-bold text-lg overflow-hidden tabindex0>span classrelative z-10 flex items-center gap-2>VIEW PROJECTSsvg xmlnshttp://www.w3.org/2000/svg width20 height20 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-arrow-right group-hover:translate-x-1 transition-transform>path dM5 12h14>/path>path dm12 5 7 7-7 7>/path>/svg>/span>div classabsolute inset-0 bg-azure styletransform:translateX(-100%)>/div>/a>a hrefmailto:ctrkearl@gmail.com classpx-8 py-4 border-2 border-slate-50 text-slate-50 rounded-none font-bold text-lg hover:bg-slate-50 hover:text-dark transition-all tabindex0>GET IN TOUCH/a>/div>/div>/div>div classlg:col-span-5 relative h-500px hidden lg:block>div classrelative h-full styleopacity:0;transform:scale(0.8)>div classabsolute top-0 right-0 w-72 h-72 bg-gradient-to-br from-electric/20 to-transparent border border-electric/50 backdrop-blur-sm>div classp-6>p classtext-electric font-mono text-sm mb-2>// EXPERTISE/p>p classtext-slate-200 text-lg font-bold>Full-Stack Development/p>/div>/div>div classabsolute top-24 right-16 w-72 h-72 bg-gradient-to-br from-navy-700/20 to-transparent border border-navy-700/50 backdrop-blur-sm>div classp-6>p classtext-navy-700 font-mono text-sm mb-2>// FOCUS/p>p classtext-slate-200 text-lg font-bold>Cloud & DevOps/p>/div>/div>div classabsolute top-48 right-32 w-72 h-72 bg-gradient-to-br from-azure/20 to-transparent border border-azure/50 backdrop-blur-sm>div classp-6>p classtext-azure font-mono text-sm mb-2>// PASSION/p>p classtext-slate-200 text-lg font-bold>Dev Tools & Automation/p>/div>/div>/div>/div>/div>div classbottom-12 left-6 right-6 lg:left-8 lg:right-8 styleopacity:0;transform:translateY(50px)>div classflex justify-between items-center border-t border-slate-400/20 pt-6>div classflex gap-6>a hrefhttps://github.com/ckearl target_blank relnoopener noreferrer classgroup flex items-center gap-2 text-slate-400 hover:text-electric transition-colors>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 classtext-sm font-mono hidden sm:block>GitHub/span>/a>a hrefhttps://linkedin.com/in/christopher-kearl target_blank relnoopener noreferrer classgroup flex items-center gap-2 text-slate-400 hover:text-electric transition-colors>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 classtext-sm font-mono hidden sm:block>LinkedIn/span>/a>a hrefmailto:ctrkearl@gmail.com classgroup flex items-center gap-2 text-slate-400 hover:text-electric transition-colors>svg xmlnshttp://www.w3.org/2000/svg width20 height20 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 classtext-sm font-mono hidden sm:block>Email/span>/a>/div>div classtext-slate-600 text-sm font-mono>⟳ SCROLL/div>/div>/div>/div>/section>section idabout classpy-32 bg-navy-950 relative overflow-hidden>div classabsolute top-20 right-0 w-96 h-96 bg-navy-700/5 blur-3xl>/div>div classabsolute bottom-20 left-0 w-96 h-96 bg-electric/5 blur-3xl>/div>div classmax-w-7xl mx-auto px-6 lg:px-8 relative z-10>div classmb-16 styleopacity:0;transform:translateY(60px)>div classflex items-center gap-4 mb-6>div classw-16 h-1 bg-electric>/div>span classtext-electric font-mono text-sm uppercase tracking-widest>// WHO I AM/span>/div>h2 classtext-6xl md:text-7xl lg:text-8xl font-black text-slate-50 tracking-tighter>ABOUT/h2>/div>div classgrid lg:grid-cols-2 gap-12>div classspace-y-8 styleopacity:0;transform:translateY(60px)>p classtext-xl md:text-2xl text-slate-200 leading-relaxed>Software Engineer with an MS in Information Systems Management from BYU's Marriott School of Business, specializing in full-stack development, cloud engineering, and compliance automation. Former guitarist/pianist of Ritt Momney with millions of streams across platforms. Fluent in Korean. Passionate about building developer tools, automation systems, and creative solutions at the intersection of engineering and design./p>div classrelative border-2 border-azure/30 bg-gradient-to-br from-azure/10 to-transparent backdrop-blur-sm p-6>div classflex items-start gap-4>div classp-3 bg-azure/10>svg xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-code-xml text-azure flex-shrink-0>path dm18 16 4-4-4-4>/path>path dm6 8-4 4 4 4>/path>path dm14.5 4-5 16>/path>/svg>/div>div>p classtext-azure font-mono text-xs uppercase tracking-wider mb-2>// EDUCATION/p>h3 classtext-xl font-bold text-slate-50 mb-2>Master of Science, Information Systems Management/h3>p classtext-slate-300 font-semibold mb-1>Brigham Young University - Marriott School of Business/p>p classtext-sm text-slate-400 mb-3>Aug 2023 – Apr 2025 (Graduated)!-- --> • GPA: !-- -->3.89 / 4.00 (Program), 3.67 / 4.00 (Overall)/p>div classspace-y-1>p classtext-sm text-slate-400>→ !-- -->Co-President, Association for Information Systems/p>p classtext-sm text-slate-400>→ !-- -->Research Assistant, AI Modeling and API infrastructure/p>/div>/div>/div>/div>/div>div classspace-y-6 styleopacity:0;transform:translateY(60px)>div classborder-2 border-electric bg-navy-900/30 p-6 hover:bg-navy-900/60 transition-colors group cursor-default styleopacity:0;transform:translateX(50px)>div classflex items-start gap-4>div classp-3 bg-electric/10 group-hover:bg-electric/20 transition-colors>svg xmlnshttp://www.w3.org/2000/svg width28 height28 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-music text-electric>path dM9 18V5l12-2v13>/path>circle cx6 cy18 r3>/circle>circle cx18 cy16 r3>/circle>/svg>/div>div>h4 classtext-lg font-bold text-slate-50 mb-2 uppercase tracking-wide>Musician - Ritt Momney/h4>p classtext-slate-300>Former Guitarist/Pianist of indie band with multi-millions of total streams across Spotify, Apple Music, and YouTube/p>/div>/div>/div>div classborder-2 border-navy-700 bg-navy-900/30 p-6 hover:bg-navy-900/60 transition-colors group cursor-default styleopacity:0;transform:translateX(50px)>div classflex items-start gap-4>div classp-3 bg-navy-700/10 group-hover:bg-navy-700/20 transition-colors>svg xmlnshttp://www.w3.org/2000/svg width28 height28 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-globe text-navy-700>circle cx12 cy12 r10>/circle>path dM12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20>/path>path dM2 12h20>/path>/svg>/div>div>h4 classtext-lg font-bold text-slate-50 mb-2 uppercase tracking-wide>Korean Language Fluency/h4>p classtext-slate-300>Fluent speaker through 2 years of service in Busan, South Korea/p>/div>/div>/div>div classborder-2 border-azure bg-navy-900/30 p-6 hover:bg-navy-900/60 transition-colors group cursor-default styleopacity:0;transform:translateX(50px)>div classflex items-start gap-4>div classp-3 bg-azure/10 group-hover:bg-azure/20 transition-colors>svg xmlnshttp://www.w3.org/2000/svg width28 height28 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-award text-azure>path dm15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526>/path>circle cx12 cy8 r6>/circle>/svg>/div>div>h4 classtext-lg font-bold text-slate-50 mb-2 uppercase tracking-wide>Eagle Scout/h4>p classtext-slate-300>Collected and donated toys to Primary Children's Hospital for Eagle Scout project/p>/div>/div>/div>/div>/div>div classmt-20 grid grid-cols-2 md:grid-cols-4 gap-6 styleopacity:0;transform:translateY(30px)>div classtext-center border border-slate-400/20 bg-dark/50 p-6>div classtext-4xl font-black text-electric mb-2>5+/div>div classtext-xs text-slate-400 font-mono uppercase tracking-widest>YEARS CODING/div>/div>div classtext-center border border-slate-400/20 bg-dark/50 p-6>div classtext-4xl font-black text-electric mb-2>20+/div>div classtext-xs text-slate-400 font-mono uppercase tracking-widest>PROJECTS BUILT/div>/div>div classtext-center border border-slate-400/20 bg-dark/50 p-6>div classtext-4xl font-black text-electric mb-2>15+/div>div classtext-xs text-slate-400 font-mono uppercase tracking-widest>TECH STACKS/div>/div>div classtext-center border border-slate-400/20 bg-dark/50 p-6>div classtext-4xl font-black text-electric mb-2>∞/div>div classtext-xs text-slate-400 font-mono uppercase tracking-widest>AMAZING PEOPLE MET/div>/div>/div>/div>/section>section idexperience classpy-32 bg-navy-950 relative overflow-hidden>div classabsolute bottom-0 right-0 w-96 h-96 bg-electric/5 blur-3xl>/div>div classmax-w-7xl mx-auto px-6 lg:px-8 relative z-10>div classmb-16 styleopacity:0;transform:translateY(30px)>div classflex items-center gap-4 mb-6>div classw-16 h-1 bg-navy-700>/div>span classtext-navy-700 font-mono text-sm uppercase tracking-widest>// CAREER PATH/span>/div>h2 classtext-6xl md:text-7xl lg:text-8xl font-black text-slate-50 tracking-tighter>EXPERIENCE/h2>/div>div classspace-y-4>div classborder-2 transition-colors border-navy-700 bg-navy-900 styleopacity:0;transform:translateX(-80px)>button classw-full p-8 text-left flex items-start justify-between gap-4>div classflex-1>div classflex flex-wrap items-center gap-3 mb-2>h3 classtext-2xl md:text-3xl font-black text-slate-50 uppercase>Compliance Automation Software Engineer/h3>span classpx-3 py-1 bg-navy-700 text-dark text-xs font-bold uppercase tracking-wider>Full-time/span>/div>p classtext-navy-700 font-bold text-lg mb-3>Marriott International/p>div classflex flex-wrap gap-4 text-sm text-slate-400>span classflex items-center gap-2>svg xmlnshttp://www.w3.org/2000/svg width16 height16 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-calendar>path dM8 2v4>/path>path dM16 2v4>/path>rect width18 height18 x3 y4 rx2>/rect>path dM3 10h18>/path>/svg>Aug 2024 – Present/span>span classflex items-center gap-2>svg xmlnshttp://www.w3.org/2000/svg width16 height16 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-map-pin>path dM20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0>/path>circle cx12 cy10 r3>/circle>/svg>Bethesda, MD (Remote)/span>/div>/div>div classtransition-transform rotate-90>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 text-navy-700>path dM5 12h14>/path>path dm12 5 7 7-7 7>/path>/svg>/div>/button>div classoverflow-hidden styleheight:auto;opacity:1>div classpx-8 pb-8 space-y-6 border-t border-navy-700/30 pt-6>p classtext-slate-300 text-lg leading-relaxed>Engineering organization-wide compliance and security automation systems as sole software engineer, serving 30+ internal development teams across multi-cloud infrastructure./p>div>h4 classtext-electric font-bold text-sm uppercase tracking-wider mb-3>KEY RESPONSIBILITIES/h4>ul classspace-y-3>li classflex items-start gap-3 text-slate-300>span classtext-navy-700 mt-1 font-bold>▸/span>span>Engineer organization-wide Compliance-ARC API as sole software engineer, providing security/compliance data, cloud service metadata, and vulnerability tracking across multi-cloud infrastructure to 30+ internal development teams/span>/li>li classflex items-start gap-3 text-slate-300>span classtext-navy-700 mt-1 font-bold>▸/span>span>Develop Python automation scripts for security remediation at scale, including the patching of 2,300+ EC2 instances with conditional security group updates based on tags, IP ranges, and ownership criteria/span>/li>/ul>/div>div>h4 classtext-azure font-bold text-sm uppercase tracking-wider mb-3>TECH STACK/h4>div classflex flex-wrap gap-2>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>Python/span>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>FastAPI/span>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>TypeScript/span>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>React/span>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>Next.js/span>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>TailwindCSS/span>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>AWS/span>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>Docker/span>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>Harness/span>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>Terraform/span>/div>/div>/div>/div>/div>div classborder-2 transition-colors border-slate-400/20 bg-dark hover:border-navy-700/50 styleopacity:0;transform:translateX(-80px)>button classw-full p-8 text-left flex items-start justify-between gap-4>div classflex-1>div classflex flex-wrap items-center gap-3 mb-2>h3 classtext-2xl md:text-3xl font-black text-slate-50 uppercase>Graduate Student Fellow/h3>span classpx-3 py-1 bg-navy-700 text-dark text-xs font-bold uppercase tracking-wider>Internship/span>/div>p classtext-navy-700 font-bold text-lg mb-3>Marriott International/p>div classflex flex-wrap gap-4 text-sm text-slate-400>span classflex items-center gap-2>svg xmlnshttp://www.w3.org/2000/svg width16 height16 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-calendar>path dM8 2v4>/path>path dM16 2v4>/path>rect width18 height18 x3 y4 rx2>/rect>path dM3 10h18>/path>/svg>Jun – Aug 2024/span>span classflex items-center gap-2>svg xmlnshttp://www.w3.org/2000/svg width16 height16 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-map-pin>path dM20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0>/path>circle cx12 cy10 r3>/circle>/svg>Bethesda, MD/span>/div>/div>div classtransition-transform >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 text-navy-700>path dM5 12h14>/path>path dm12 5 7 7-7 7>/path>/svg>/div>/button>div classoverflow-hidden styleheight:0px;opacity:0>div classpx-8 pb-8 space-y-6 border-t border-navy-700/30 pt-6>p classtext-slate-300 text-lg leading-relaxed>Developed compliance dashboards and provided critical support during major infrastructure incidents./p>div>h4 classtext-electric font-bold text-sm uppercase tracking-wider mb-3>KEY RESPONSIBILITIES/h4>ul classspace-y-3>li classflex items-start gap-3 text-slate-300>span classtext-navy-700 mt-1 font-bold>▸/span>span>Engineered React dashboard cataloging deployment requirements and L2 controls across AWS, Azure, Oracle, and Alibaba, standardizing NIST compliance documentation and reducing audit preparation time/span>/li>li classflex items-start gap-3 text-slate-300>span classtext-navy-700 mt-1 font-bold>▸/span>span>Restored 20 properties and 39 remote servers within 72 hours during international CrowdStrike outage, enabling transaction and reservation processing for 35,000+ guests/span>/li>/ul>/div>div>h4 classtext-azure font-bold text-sm uppercase tracking-wider mb-3>TECH STACK/h4>div classflex flex-wrap gap-2>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>React/span>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>TypeScript/span>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>AWS/span>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>Azure/span>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>Oracle Cloud/span>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>Alibaba Cloud/span>/div>/div>/div>/div>/div>div classborder-2 transition-colors border-slate-400/20 bg-dark hover:border-navy-700/50 styleopacity:0;transform:translateX(-80px)>button classw-full p-8 text-left flex items-start justify-between gap-4>div classflex-1>div classflex flex-wrap items-center gap-3 mb-2>h3 classtext-2xl md:text-3xl font-black text-slate-50 uppercase>Adjunct Professor (IS 120)/h3>span classpx-3 py-1 bg-navy-700 text-dark text-xs font-bold uppercase tracking-wider>Part-time/span>/div>p classtext-navy-700 font-bold text-lg mb-3>Brigham Young University/p>div classflex flex-wrap gap-4 text-sm text-slate-400>span classflex items-center gap-2>svg xmlnshttp://www.w3.org/2000/svg width16 height16 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-calendar>path dM8 2v4>/path>path dM16 2v4>/path>rect width18 height18 x3 y4 rx2>/rect>path dM3 10h18>/path>/svg>Dec 2023 – May 2025/span>span classflex items-center gap-2>svg xmlnshttp://www.w3.org/2000/svg width16 height16 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-map-pin>path dM20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0>/path>circle cx12 cy10 r3>/circle>/svg>Provo, UT/span>/div>/div>div classtransition-transform >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 text-navy-700>path dM5 12h14>/path>path dm12 5 7 7-7 7>/path>/svg>/div>/button>div classoverflow-hidden styleheight:0px;opacity:0>div classpx-8 pb-8 space-y-6 border-t border-navy-700/30 pt-6>p classtext-slate-300 text-lg leading-relaxed>Restructured entire web development curriculum and taught 60+ students modern industry practices./p>div>h4 classtext-electric font-bold text-sm uppercase tracking-wider mb-3>KEY RESPONSIBILITIES/h4>ul classspace-y-3>li classflex items-start gap-3 text-slate-300>span classtext-navy-700 mt-1 font-bold>▸/span>span>Restructured entire curriculum from scratch, creating course materials (lectures, assignments, and exams) aligned with current industry standards including mobile responsivity, ES6 JavaScript, and REST APIs/span>/li>li classflex items-start gap-3 text-slate-300>span classtext-navy-700 mt-1 font-bold>▸/span>span>Taught 60+ students with live coding demonstrations, achieving 84% satisfaction (5 points above department average)/span>/li>/ul>/div>div>h4 classtext-azure font-bold text-sm uppercase tracking-wider mb-3>TECH STACK/h4>div classflex flex-wrap gap-2>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>HTML5/span>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>CSS/span>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>TailwindCSS/span>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>JavaScript/span>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>REST API/span>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>Git/span>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>AWS API Gateway/span>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>GitHub Classroom/span>/div>/div>/div>/div>/div>div classborder-2 transition-colors border-slate-400/20 bg-dark hover:border-navy-700/50 styleopacity:0;transform:translateX(-80px)>button classw-full p-8 text-left flex items-start justify-between gap-4>div classflex-1>div classflex flex-wrap items-center gap-3 mb-2>h3 classtext-2xl md:text-3xl font-black text-slate-50 uppercase>Data Software Engineer Intern/h3>span classpx-3 py-1 bg-navy-700 text-dark text-xs font-bold uppercase tracking-wider>Internship/span>/div>p classtext-navy-700 font-bold text-lg mb-3>Pattern/p>div classflex flex-wrap gap-4 text-sm text-slate-400>span classflex items-center gap-2>svg xmlnshttp://www.w3.org/2000/svg width16 height16 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-calendar>path dM8 2v4>/path>path dM16 2v4>/path>rect width18 height18 x3 y4 rx2>/rect>path dM3 10h18>/path>/svg>May 2023 – Aug 2023/span>span classflex items-center gap-2>svg xmlnshttp://www.w3.org/2000/svg width16 height16 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-map-pin>path dM20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0>/path>circle cx12 cy10 r3>/circle>/svg>Lehi, UT/span>/div>/div>div classtransition-transform >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 text-navy-700>path dM5 12h14>/path>path dm12 5 7 7-7 7>/path>/svg>/div>/button>div classoverflow-hidden styleheight:0px;opacity:0>div classpx-8 pb-8 space-y-6 border-t border-navy-700/30 pt-6>p classtext-slate-300 text-lg leading-relaxed>Optimized e-commerce analytics systems and improved advertising ROI tracking./p>div>h4 classtext-electric font-bold text-sm uppercase tracking-wider mb-3>KEY RESPONSIBILITIES/h4>ul classspace-y-3>li classflex items-start gap-3 text-slate-300>span classtext-navy-700 mt-1 font-bold>▸/span>span>Developed dynamic search keyword filters to categorize keywords by tracking period, resulting in an aggregate average of $0.50 in savings per advertisement space bid for partners while improving internal ROI analysis/span>/li>li classflex items-start gap-3 text-slate-300>span classtext-navy-700 mt-1 font-bold>▸/span>span>Reduced Amazon ad metrics dashboard load times by ~3 seconds by optimizing SQL generation and access controls/span>/li>/ul>/div>div>h4 classtext-azure font-bold text-sm uppercase tracking-wider mb-3>TECH STACK/h4>div classflex flex-wrap gap-2>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>Ruby/span>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>Rails/span>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>TypeScript/span>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>MySQL/span>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>Snowflake/span>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>React/span>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>Airflow/span>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>Airbrake/span>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>AWS S3/span>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>Postman/span>/div>/div>/div>/div>/div>div classborder-2 transition-colors border-slate-400/20 bg-dark hover:border-navy-700/50 styleopacity:0;transform:translateX(-80px)>button classw-full p-8 text-left flex items-start justify-between gap-4>div classflex-1>div classflex flex-wrap items-center gap-3 mb-2>h3 classtext-2xl md:text-3xl font-black text-slate-50 uppercase>Software Developer/h3>span classpx-3 py-1 bg-navy-700 text-dark text-xs font-bold uppercase tracking-wider>Full-time/span>/div>p classtext-navy-700 font-bold text-lg mb-3>Contour Software Developments/p>div classflex flex-wrap gap-4 text-sm text-slate-400>span classflex items-center gap-2>svg xmlnshttp://www.w3.org/2000/svg width16 height16 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-calendar>path dM8 2v4>/path>path dM16 2v4>/path>rect width18 height18 x3 y4 rx2>/rect>path dM3 10h18>/path>/svg>Aug 2021 – Aug 2022/span>span classflex items-center gap-2>svg xmlnshttp://www.w3.org/2000/svg width16 height16 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-map-pin>path dM20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0>/path>circle cx12 cy10 r3>/circle>/svg>Mesa, AZ (Remote)/span>/div>/div>div classtransition-transform >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 text-navy-700>path dM5 12h14>/path>path dm12 5 7 7-7 7>/path>/svg>/div>/button>div classoverflow-hidden styleheight:0px;opacity:0>div classpx-8 pb-8 space-y-6 border-t border-navy-700/30 pt-6>p classtext-slate-300 text-lg leading-relaxed>Built field operations management platform and delivered workflow automation features./p>div>h4 classtext-electric font-bold text-sm uppercase tracking-wider mb-3>KEY RESPONSIBILITIES/h4>ul classspace-y-3>li classflex items-start gap-3 text-slate-300>span classtext-navy-700 mt-1 font-bold>▸/span>span>Engineered AWS-hosted web application that replaced 40-page paper packets for field teams, saving 15-30 minutes per job across 20+ weekly operations while eliminating manual data entry times and risk of data loss/span>/li>li classflex items-start gap-3 text-slate-300>span classtext-navy-700 mt-1 font-bold>▸/span>span>Presented bimonthly demos to client executives, gathering requirements and delivering workflow automation features/span>/li>/ul>/div>div>h4 classtext-azure font-bold text-sm uppercase tracking-wider mb-3>TECH STACK/h4>div classflex flex-wrap gap-2>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>HTML/span>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>CSS/span>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>REST API/span>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>JSON/XML/span>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>JavaScript/span>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>Bubble.io/span>span classpx-3 py-2 bg-dark border border-azure/30 text-azure text-sm font-mono>AWS S3/span>/div>/div>/div>/div>/div>/div>/div>/section>section idprojects classpy-32 bg-dark relative overflow-hidden>div classabsolute top-0 left-1/4 w-72 h-72 bg-azure/5 blur-3xl>/div>div classmax-w-7xl mx-auto px-6 lg:px-8 relative z-10>div classmb-16 styleopacity:0;transform:translateY(30px)>div classflex items-center gap-4 mb-6>div classw-16 h-1 bg-azure>/div>span classtext-azure font-mono text-sm uppercase tracking-widest>// WORK SHOWCASE/span>/div>h2 classtext-6xl md:text-7xl lg:text-8xl font-black text-slate-50 tracking-tighter mb-8>PROJECTS/h2>div classflex flex-wrap gap-3>button classpx-6 py-3 font-bold text-sm uppercase tracking-wider transition-all border-2 bg-electric text-dark border-electric>All/button>button classpx-6 py-3 font-bold text-sm uppercase tracking-wider transition-all border-2 bg-transparent text-slate-400 border-slate-400/30 hover:border-electric hover:text-electric>Machine Learning/button>button classpx-6 py-3 font-bold text-sm uppercase tracking-wider transition-all border-2 bg-transparent text-slate-400 border-slate-400/30 hover:border-electric hover:text-electric>AI & Automation/button>button classpx-6 py-3 font-bold text-sm uppercase tracking-wider transition-all border-2 bg-transparent text-slate-400 border-slate-400/30 hover:border-electric hover:text-electric>Developer Tools/button>button classpx-6 py-3 font-bold text-sm uppercase tracking-wider transition-all border-2 bg-transparent text-slate-400 border-slate-400/30 hover:border-electric hover:text-electric>Web Development/button>/div>/div>div classgrid md:grid-cols-2 gap-8>div classgroup bg-navy-950 border-2 border-slate-400/20 hover:border-electric overflow-hidden transition-colors styleopacity:0;transform:translateY(80px)>div classrelative aspect-video bg-gradient-to-br from-navy-900 to-dark overflow-hidden>div classabsolute inset-0 flex flex-col items-center justify-center p-8 text-center>div classw-20 h-20 border-4 border-electric/30 mb-6 flex items-center justify-center>svg xmlnshttp://www.w3.org/2000/svg width32 height32 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-arrow-up-right text-electric>path dM7 7h10v10>/path>path dM7 17 17 7>/path>/svg>/div>p classtext-slate-400 font-mono text-sm uppercase tracking-wider>Project Screenshot/p>p classtext-slate-500 text-xs mt-2>KeyCoach/p>/div>div classabsolute top-4 right-4 bg-navy-700 px-4 py-2 text-dark font-bold text-xs uppercase tracking-wider>Machine Learning/div>div classabsolute inset-0 bg-dark/90 flex items-center justify-center gap-4 styleopacity:0>a hrefhttps://github.com/keycoach/keycoach target_blank relnoopener noreferrer classp-4 border-2 border-electric text-electric hover:bg-electric hover:text-dark transition-all>svg xmlnshttp://www.w3.org/2000/svg width24 height24 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>/a>a hrefhttps://keycoa.ch target_blank relnoopener noreferrer classp-4 border-2 border-azure text-azure hover:bg-azure hover:text-dark transition-all>svg xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-external-link>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 classp-8>div classflex items-start justify-between mb-4>h3 classtext-3xl font-black text-slate-50 uppercase tracking-tight>KeyCoach/h3>span classtext-electric font-mono text-sm>2024/span>/div>p classtext-slate-300 mb-6 leading-relaxed>Masters capstone project: A web application using ML5.js hand-tracking to analyze typing finger positioning in real-time. Features a custom 3D-printed camera mirror attachment that reflects the laptop's front camera down to the keyboard, enabling accurate finger tracking during typing exercises./p>div classflex flex-wrap gap-2 mb-4>span classpx-3 py-1 bg-navy-900 text-electric text-xs font-mono border border-electric/30>TypeScript/span>span classpx-3 py-1 bg-navy-900 text-electric text-xs font-mono border border-electric/30>React/span>span classpx-3 py-1 bg-navy-900 text-electric text-xs font-mono border border-electric/30>Next.js/span>span classpx-3 py-1 bg-navy-900 text-electric text-xs font-mono border border-electric/30>ML5.js/span>span classpx-3 py-1 bg-navy-900 text-electric text-xs font-mono border border-electric/30>TensorFlow.js/span>span classpx-3 py-1 bg-navy-900 text-slate-400 text-xs font-mono border border-slate-400/30>+!-- -->3/span>/div>div classpt-4 border-t border-slate-400/20 flex items-center justify-between text-sm>span classtext-slate-500 font-mono>8-person capstone team!-- --> • !-- -->Team Lead & Full-stack Developer/span>div classflex gap-3>a hrefhttps://github.com/keycoach/keycoach target_blank relnoopener noreferrer classtext-slate-500 hover:text-electric transition-colors>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>/a>a hrefhttps://keycoa.ch target_blank relnoopener noreferrer classtext-slate-500 hover:text-azure transition-colors>svg xmlnshttp://www.w3.org/2000/svg width18 height18 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-external-link>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 classgroup bg-navy-950 border-2 border-slate-400/20 hover:border-electric overflow-hidden transition-colors styleopacity:0;transform:translateY(80px)>div classrelative aspect-video bg-gradient-to-br from-navy-900 to-dark overflow-hidden>div classabsolute inset-0 flex flex-col items-center justify-center p-8 text-center>div classw-20 h-20 border-4 border-electric/30 mb-6 flex items-center justify-center>svg xmlnshttp://www.w3.org/2000/svg width32 height32 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-arrow-up-right text-electric>path dM7 7h10v10>/path>path dM7 17 17 7>/path>/svg>/div>p classtext-slate-400 font-mono text-sm uppercase tracking-wider>Project Screenshot/p>p classtext-slate-500 text-xs mt-2>Lecture Transcriber/p>/div>div classabsolute top-4 right-4 bg-navy-700 px-4 py-2 text-dark font-bold text-xs uppercase tracking-wider>AI & Automation/div>div classabsolute inset-0 bg-dark/90 flex items-center justify-center gap-4 styleopacity:0>a hrefhttps://github.com/ckearl/lecture-transcriber target_blank relnoopener noreferrer classp-4 border-2 border-electric text-electric hover:bg-electric hover:text-dark transition-all>svg xmlnshttp://www.w3.org/2000/svg width24 height24 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>/a>/div>/div>div classp-8>div classflex items-start justify-between mb-4>h3 classtext-3xl font-black text-slate-50 uppercase tracking-tight>Lecture Transcriber/h3>span classtext-electric font-mono text-sm>2025/span>/div>p classtext-slate-300 mb-6 leading-relaxed>Full-stack lecture transcription platform that automatically processes MBA class recordings using OpenAI Whisper for transcription and Google Gemini for AI-powered study materials generation./p>div classflex flex-wrap gap-2 mb-4>span classpx-3 py-1 bg-navy-900 text-electric text-xs font-mono border border-electric/30>Python/span>span classpx-3 py-1 bg-navy-900 text-electric text-xs font-mono border border-electric/30>Next.js/span>span classpx-3 py-1 bg-navy-900 text-electric text-xs font-mono border border-electric/30>TypeScript/span>span classpx-3 py-1 bg-navy-900 text-electric text-xs font-mono border border-electric/30>OpenAI Whisper API/span>span classpx-3 py-1 bg-navy-900 text-electric text-xs font-mono border border-electric/30>Google Gemini API/span>span classpx-3 py-1 bg-navy-900 text-slate-400 text-xs font-mono border border-slate-400/30>+!-- -->3/span>/div>div classpt-4 border-t border-slate-400/20 flex items-center justify-between text-sm>span classtext-slate-500 font-mono>Solo!-- --> • !-- -->Full-stack Developer/span>div classflex gap-3>a hrefhttps://github.com/ckearl/lecture-transcriber target_blank relnoopener noreferrer classtext-slate-500 hover:text-electric transition-colors>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>/a>/div>/div>/div>/div>div classgroup bg-navy-950 border-2 border-slate-400/20 hover:border-electric overflow-hidden transition-colors styleopacity:0;transform:translateY(80px)>div classrelative aspect-video bg-gradient-to-br from-navy-900 to-dark overflow-hidden>div classabsolute inset-0 flex flex-col items-center justify-center p-8 text-center>div classw-20 h-20 border-4 border-electric/30 mb-6 flex items-center justify-center>svg xmlnshttp://www.w3.org/2000/svg width32 height32 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-arrow-up-right text-electric>path dM7 7h10v10>/path>path dM7 17 17 7>/path>/svg>/div>p classtext-slate-400 font-mono text-sm uppercase tracking-wider>Project Screenshot/p>p classtext-slate-500 text-xs mt-2>Kearl/p>/div>div classabsolute top-4 right-4 bg-navy-700 px-4 py-2 text-dark font-bold text-xs uppercase tracking-wider>Developer Tools/div>div classabsolute inset-0 bg-dark/90 flex items-center justify-center gap-4 styleopacity:0>a hrefhttps://github.com/ckearl/kearl target_blank relnoopener noreferrer classp-4 border-2 border-electric text-electric hover:bg-electric hover:text-dark transition-all>svg xmlnshttp://www.w3.org/2000/svg width24 height24 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>/a>/div>/div>div classp-8>div classflex items-start justify-between mb-4>h3 classtext-3xl font-black text-slate-50 uppercase tracking-tight>Kearl/h3>span classtext-electric font-mono text-sm>2025/span>/div>p classtext-slate-300 mb-6 leading-relaxed>A developer-friendly HTTP client built in Go that improves upon curl with interactive JSON exploration, intelligent caching, auto-retry with exponential backoff, and first-class GraphQL support./p>div classflex flex-wrap gap-2 mb-4>span classpx-3 py-1 bg-navy-900 text-electric text-xs font-mono border border-electric/30>Go/span>span classpx-3 py-1 bg-navy-900 text-electric text-xs font-mono border border-electric/30>SQLite/span>span classpx-3 py-1 bg-navy-900 text-electric text-xs font-mono border border-electric/30>GraphQL/span>span classpx-3 py-1 bg-navy-900 text-electric text-xs font-mono border border-electric/30>REST APIs/span>span classpx-3 py-1 bg-navy-900 text-electric text-xs font-mono border border-electric/30>Cobra/span>span classpx-3 py-1 bg-navy-900 text-slate-400 text-xs font-mono border border-slate-400/30>+!-- -->5/span>/div>div classpt-4 border-t border-slate-400/20 flex items-center justify-between text-sm>span classtext-slate-500 font-mono>Solo!-- --> • !-- -->Creator & Developer/span>div classflex gap-3>a hrefhttps://github.com/ckearl/kearl target_blank relnoopener noreferrer classtext-slate-500 hover:text-electric transition-colors>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>/a>/div>/div>/div>/div>div classgroup bg-navy-950 border-2 border-slate-400/20 hover:border-electric overflow-hidden transition-colors styleopacity:0;transform:translateY(80px)>div classrelative aspect-video bg-gradient-to-br from-navy-900 to-dark overflow-hidden>div classabsolute inset-0 flex flex-col items-center justify-center p-8 text-center>div classw-20 h-20 border-4 border-electric/30 mb-6 flex items-center justify-center>svg xmlnshttp://www.w3.org/2000/svg width32 height32 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-arrow-up-right text-electric>path dM7 7h10v10>/path>path dM7 17 17 7>/path>/svg>/div>p classtext-slate-400 font-mono text-sm uppercase tracking-wider>Project Screenshot/p>p classtext-slate-500 text-xs mt-2>senahpark.com/p>/div>div classabsolute top-4 right-4 bg-navy-700 px-4 py-2 text-dark font-bold text-xs uppercase tracking-wider>Web Development/div>div classabsolute inset-0 bg-dark/90 flex items-center justify-center gap-4 styleopacity:0>a hrefhttps://github.com/ckearl/senahpark.com target_blank relnoopener noreferrer classp-4 border-2 border-electric text-electric hover:bg-electric hover:text-dark transition-all>svg xmlnshttp://www.w3.org/2000/svg width24 height24 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>/a>a hrefhttps://senahpark.com target_blank relnoopener noreferrer classp-4 border-2 border-azure text-azure hover:bg-azure hover:text-dark transition-all>svg xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-external-link>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 classp-8>div classflex items-start justify-between mb-4>h3 classtext-3xl font-black text-slate-50 uppercase tracking-tight>senahpark.com/h3>span classtext-electric font-mono text-sm>2025/span>/div>p classtext-slate-300 mb-6 leading-relaxed>A modern, responsive portfolio website with an integrated lecture transcription platform. Features smooth animations, real-time audio playback with synchronized transcripts, and AI-generated study materials./p>div classflex flex-wrap gap-2 mb-4>span classpx-3 py-1 bg-navy-900 text-electric text-xs font-mono border border-electric/30>Next.js/span>span classpx-3 py-1 bg-navy-900 text-electric text-xs font-mono border border-electric/30>TypeScript/span>span classpx-3 py-1 bg-navy-900 text-electric text-xs font-mono border border-electric/30>React/span>span classpx-3 py-1 bg-navy-900 text-electric text-xs font-mono border border-electric/30>TailwindCSS/span>span classpx-3 py-1 bg-navy-900 text-electric text-xs font-mono border border-electric/30>Framer Motion/span>span classpx-3 py-1 bg-navy-900 text-slate-400 text-xs font-mono border border-slate-400/30>+!-- -->3/span>/div>div classpt-4 border-t border-slate-400/20 flex items-center justify-between text-sm>span classtext-slate-500 font-mono>Solo!-- --> • !-- -->Full-stack Developer/span>div classflex gap-3>a hrefhttps://github.com/ckearl/senahpark.com target_blank relnoopener noreferrer classtext-slate-500 hover:text-electric transition-colors>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>/a>a hrefhttps://senahpark.com target_blank relnoopener noreferrer classtext-slate-500 hover:text-azure transition-colors>svg xmlnshttp://www.w3.org/2000/svg width18 height18 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-external-link>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-16 text-center styleopacity:0>a hrefhttps://github.com/ckearl target_blank relnoopener noreferrer classinline-flex items-center gap-3 px-8 py-4 border-2 border-slate-50 text-slate-50 font-bold text-lg uppercase tracking-wider hover:bg-slate-50 hover:text-dark transition-all group>svg xmlnshttp://www.w3.org/2000/svg width24 height24 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>VIEW ALL ON GITHUBsvg xmlnshttp://www.w3.org/2000/svg width20 height20 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-arrow-up-right group-hover:translate-x-1 group-hover:-translate-y-1 transition-transform>path dM7 7h10v10>/path>path dM7 17 17 7>/path>/svg>/a>/div>/div>/section>section idskills classpy-32 bg-dark relative overflow-hidden>div classabsolute top-1/2 right-1/4 w-96 h-96 bg-azure/5 blur-3xl>/div>div classmax-w-7xl mx-auto px-6 lg:px-8 relative z-10>div classmb-16>div classflex items-center gap-4 mb-6>div classw-16 h-1 bg-electric>/div>span classtext-electric font-mono text-sm uppercase tracking-widest>// TECHNICAL ARSENAL/span>/div>h2 classtext-6xl md:text-7xl lg:text-8xl font-black text-slate-50 tracking-tighter>SKILLS/h2>/div>div classspace-y-12>div>h3 classtext-2xl md:text-3xl font-black text-slate-50 uppercase mb-6 flex items-center gap-4 styleopacity:0;transform:translateY(30px)>span classtext-electric>////span>Languages/h3>div classgrid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-6 gap-3>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>TypeScript/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>Python/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>JavaScript/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>R/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>Go/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>Swift/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>Ruby/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>Rust/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>C#/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>C++/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>SQL/span>/div>/div>/div>div>h3 classtext-2xl md:text-3xl font-black text-slate-50 uppercase mb-6 flex items-center gap-4 styleopacity:0;transform:translateY(30px)>span classtext-electric>////span>Frontend/h3>div classgrid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-6 gap-3>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>React/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>Next.js/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>TailwindCSS/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>Framer Motion/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>SwiftUI/span>/div>/div>/div>div>h3 classtext-2xl md:text-3xl font-black text-slate-50 uppercase mb-6 flex items-center gap-4 styleopacity:0;transform:translateY(30px)>span classtext-electric>////span>Backend/h3>div classgrid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-6 gap-3>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>Node.js/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>FastAPI/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>Django/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>Rails/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>Express/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>ASP.NET/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>GraphQL/span>/div>/div>/div>div>h3 classtext-2xl md:text-3xl font-black text-slate-50 uppercase mb-6 flex items-center gap-4 styleopacity:0;transform:translateY(30px)>span classtext-electric>////span>Cloud & DevOps/h3>div classgrid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-6 gap-3>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>AWS/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>Docker/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>Terraform/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>Harness/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>Kubernetes/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>Azure/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>GCP/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>GitHub Actions/span>/div>/div>/div>div>h3 classtext-2xl md:text-3xl font-black text-slate-50 uppercase mb-6 flex items-center gap-4 styleopacity:0;transform:translateY(30px)>span classtext-electric>////span>Databases/h3>div classgrid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-6 gap-3>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>MySQL/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>PostgreSQL/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>MongoDB/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>Snowflake/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>Supabase/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>Firebase/span>/div>/div>/div>div>h3 classtext-2xl md:text-3xl font-black text-slate-50 uppercase mb-6 flex items-center gap-4 styleopacity:0;transform:translateY(30px)>span classtext-electric>////span>Tools/h3>div classgrid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-6 gap-3>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>Vim/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>Git/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>Figma/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>Postman/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>JIRA/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>Airflow/span>/div>div classrelative border-2 border-slate-400/30 bg-navy-950 p-4 text-center group cursor-default overflow-hidden styleopacity:0;transform:translateX(300px)>div classabsolute inset-0 bg-slate-50 scale-0 group-hover:scale-150 transition-transform duration-500 ease-out styletransform-origin:0% 100%>/div>span classrelative z-10 text-slate-300 group-hover:text-dark font-semibold text-sm transition-colors duration-300>VS Code/span>/div>/div>/div>/div>div classmt-20>h3 classtext-2xl md:text-3xl font-black text-slate-50 uppercase mb-6 flex items-center gap-4>span classtext-azure>////span>CERTIFICATIONS/h3>div classgrid md:grid-cols-2 gap-6>div classborder-2 border-azure/30 bg-navy-950 p-6 hover:border-azure hover:bg-navy-900 transition-all>div classflex items-start gap-4>div classp-3 bg-azure/10>svg xmlnshttp://www.w3.org/2000/svg width28 height28 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-award text-azure>path dm15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526>/path>circle cx12 cy8 r6>/circle>/svg>/div>div classflex-1>h4 classfont-black text-lg text-slate-50 mb-1 uppercase>AWS Certified Cloud Practitioner (CCP)/h4>p classtext-slate-400 text-sm mb-1>Amazon Web Services/p>p classtext-azure text-xs font-mono>May 2024/p>/div>/div>/div>div classborder-2 border-azure/30 bg-navy-950 p-6 hover:border-azure hover:bg-navy-900 transition-all>div classflex items-start gap-4>div classp-3 bg-azure/10>svg xmlnshttp://www.w3.org/2000/svg width28 height28 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-award text-azure>path dm15.477 12.89 1.515 8.526a.5.5 0 0 1-.81.47l-3.58-2.687a1 1 0 0 0-1.197 0l-3.586 2.686a.5.5 0 0 1-.81-.469l1.514-8.526>/path>circle cx12 cy8 r6>/circle>/svg>/div>div classflex-1>h4 classfont-black text-lg text-slate-50 mb-1 uppercase>Professional Scrum Master I (PSM I)/h4>p classtext-slate-400 text-sm mb-1>Scrum.org/p>p classtext-azure text-xs font-mono>Oct 2023/p>/div>/div>/div>/div>/div>div classmt-12 border-l-4 border-navy-700 pl-6 py-4>p classtext-slate-400 font-mono text-sm>span classtext-navy-700 font-bold>NOTE:/span> All skills listed represent hands-on production experience and active project work. Constantly learning and expanding the toolkit./p>/div>/div>/section>footer classbg-dark border-t-2 border-electric/20 py-16>div classmax-w-7xl mx-auto px-6 lg:px-8>div classgrid md:grid-cols-3 gap-12 mb-12>div>h3 classtext-3xl font-black text-slate-50 mb-4 tracking-tighter>span classtext-electric>C/span>K/h3>p classtext-slate-400 leading-relaxed mb-6>Software Engineer crafting elegant solutions at the intersection of technology and design./p>div classflex gap-4>a hrefhttps://github.com/ckearl target_blank relnoopener noreferrer classp-3 border-2 border-electric/30 text-electric hover:bg-electric/10 hover:border-electric transition-all>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>/a>a hrefhttps://linkedin.com/in/christopher-kearl target_blank relnoopener noreferrer classp-3 border-2 border-azure/30 text-azure hover:bg-azure/10 hover:border-azure transition-all>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>/a>a hrefmailto:ctrkearl@gmail.com classp-3 border-2 border-navy-700/30 text-navy-700 hover:bg-navy-700/10 hover:border-navy-700 transition-all>svg xmlnshttp://www.w3.org/2000/svg width20 height20 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>/a>/div>/div>div>h4 classtext-sm font-black text-slate-50 uppercase tracking-wider mb-4>QUICK LINKS/h4>ul classspace-y-2>li>a href#about classtext-slate-400 hover:text-electric transition-colors text-sm font-mono>// !-- -->ABOUT/a>/li>li>a href#experience classtext-slate-400 hover:text-electric transition-colors text-sm font-mono>// !-- -->WORK/a>/li>li>a href#projects classtext-slate-400 hover:text-electric transition-colors text-sm font-mono>// !-- -->PROJECTS/a>/li>li>a href#skills classtext-slate-400 hover:text-electric transition-colors text-sm font-mono>// !-- -->SKILLS/a>/li>li>a href#contact classtext-slate-400 hover:text-electric transition-colors text-sm font-mono>// !-- -->CONTACT/a>/li>/ul>/div>div>h4 classtext-sm font-black text-slate-50 uppercase tracking-wider mb-4>CONTACT INFO/h4>ul classspace-y-3 text-sm>li>span classtext-slate-500 font-mono>EMAIL:/span>br/>a hrefmailto:ctrkearl@gmail.com classtext-slate-300 hover:text-electric transition-colors>ctrkearl@gmail.com/a>/li>li>span classtext-slate-500 font-mono>PHONE:/span>br/>a hreftel:(801) 809-1905 classtext-slate-300 hover:text-azure transition-colors>(801) 809-1905/a>/li>li>span classtext-slate-500 font-mono>LOCATION:/span>br/>span classtext-slate-300>Provo, UT/span>/li>/ul>/div>/div>div classpt-8 border-t border-slate-400/20 flex flex-col md:flex-row justify-between items-center gap-4>div classtext-sm text-slate-500 font-mono text-center md:text-left>span classtext-electric>©/span> !-- -->2025!-- --> !-- -->Christopher Kearl!-- --> • Built with!-- --> span classtext-navy-700>Next.js/span> &!-- --> span classtext-azure>TypeScript/span>/div>button classgroup border-2 border-electric/30 p-3 hover:border-electric hover:bg-electric/10 transition-all>svg xmlnshttp://www.w3.org/2000/svg width20 height20 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-arrow-up text-electric group-hover:scale-110 transition-transform>path dm5 12 7-7 7 7>/path>path dM12 19V5>/path>/svg>/button>/div>/div>/footer>/main>!--$-->!--/$-->script src/_next/static/chunks/webpack-deb6909806d66786.js id_R_ async>/script>script>(self.__next_fself.__next_f||).push(0)/script>script>self.__next_f.push(1,1:\$Sreact.fragment\\n2:I6174,\177\,\static/chunks/app/layout-e9dbfffe61774390.js\,\ThemeProvider\\n3:I9766,,\\\n4:I8924,,\\\n5:I5088,\994\,\static/chunks/994-a086591100a37090.js\,\974\,\static/chunks/app/page-a9930e8f08e32933.js\,\default\\n6:I1602,\994\,\static/chunks/994-a086591100a37090.js\,\974\,\static/chunks/app/page-a9930e8f08e32933.js\,\default\\n7:I53,\994\,\static/chunks/994-a086591100a37090.js\,\974\,\static/chunks/app/page-a9930e8f08e32933.js\,\default\\n8:I1582,\994\,\static/chunks/994-a086591100a37090.js\,\974\,\static/chunks/app/page-a9930e8f08e32933.js\,\default\\n9:I9218,\994\,\static/chunks/994-a086591100a37090.js\,\974\,\static/chunks/app/page-a9930e8f08e32933.js\,\default\\na:I6552,\994\,\static/chunks/994-a086591100a37090.js\,\974\,\static/chunks/app/page-a9930e8f08e32933.js\,\default\\nb:I8743,\994\,\static/chunks/994-a086591100a37090.js\,\974\,\static/chunks/app/page-a9930e8f08e32933.js\,\default\\nc:I4431,,\OutletBoundary\\ne:I5278,,\AsyncMetadataOutlet\\n10:I4431,,\ViewportBoundary\\n12:I4431,,\MetadataBoundary\\n13:\$Sreact.suspense\\n15:I7150,,\\\n:HL\/_next/static/media/93f479601ee12b01-s.p.woff2\,\font\,{\crossOrigin\:\\,\type\:\font/woff2\}\n:HL\/_next/static/media/e4af272ccee01ff0-s.p.woff2\,\font\,{\crossOrigin\:\\,\type\:\font/woff2\}\n:HL\/_next/static/css/8a742fcbf759d031.css\,\style\\n)/script>script>self.__next_f.push(1,0:{\P\:null,\b\:\S6LWZkSqhdF-l7QzssksX\,\p\:\\,\c\:\\,\\,\i\:false,\f\:\\,{\children\:\__PAGE__\,{}},\$undefined\,\$undefined\,true,\\,\$\,\$1\,\c\,{\children\:\$\,\link\,\0\,{\rel\:\stylesheet\,\href\:\/_next/static/css/8a742fcbf759d031.css\,\precedence\:\next\,\crossOrigin\:\$undefined\,\nonce\:\$undefined\},\$\,\html\,null,{\lang\:\en\,\suppressHydrationWarning\:true,\children\:\$\,\body\,null,{\className\:\__variable_f367f3 __variable_9a8899 font-sans antialiased\,\children\:\$\,\$L2\,null,{\attribute\:\class\,\defaultTheme\:\dark\,\enableSystem\:true,\disableTransitionOnChange\:true,\children\:\$\,\$L3\,null,{\parallelRouterKey\:\children\,\error\:\$undefined\,\errorStyles\:\$undefined\,\errorScripts\:\$undefined\,\template\:\$\,\$L4\,null,{},\templateStyles\:\$undefined\,\templateScripts\:\$undefined\,\notFound\:\$\,\title\,null,{\children\:\404: This page could not be found.\},\$\,\div\,null,{\style\:{\fontFamily\:\system-ui,\\\Segoe UI\\\,Roboto,Helvetica,Arial,sans-serif,\\\Apple Color Emoji\\\,\\\Segoe UI Emoji\\\\,\height\:\100vh\,\textAlign\:\center\,\display\:\flex\,\flexDirection\:\column\,\alignItems\:\center\,\justifyContent\:\center\},\children\:\$\,\div\,null,{\children\:\$\,\style\,null,{\dangerouslySetInnerHTML\:{\__html\:\body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\}},\$\,\h1\,null,{\className\:\next-error-h1\,\style\:{\display\:\inline-block\,\margin\:\0 20px 0 0\,\padding\:\0 23px 0 0\,\fontSize\:24,\fontWeight\:500,\verticalAlign\:\top\,\lineHeight\:\49px\},\children\:404},\$\,\div\,null,{\style\:{\display\:\inline-block\},\children\:\$\,\h2\,null,{\style\:{\fontSize\:14,\fontWeight\:400,\lineHeight\:\49px\,\margin\:0},\children\:\This page could not be found.\}}}},,\forbidden\:\$undefined\,\unauthorized\:\$undefined\}}}}},{\children\:\__PAGE__\,\$\,\$1\,\c\,{\children\:\$\,\main\,null,{\className\:\min-h-screen\,\children\:\$\,\$L5\,null,{},\$\,\$L6\,null,{},\$\,\$L7\,null,{},\$\,\$L8\,null,{},\$\,\$L9\,null,{},\$\,\$La\,null,{},\$\,\$Lb\,null,{}},null,\$\,\$Lc\,null,{\children\:\$Ld\,\$\,\$Le\,null,{\promise\:\$@f\}}},{},null,false},null,false,\$\,\$1\,\h\,{\children\:null,\$\,\$L10\,null,{\children\:\$L11\},\$\,\meta\,null,{\name\:\next-size-adjust\,\content\:\\},\$\,\$L12\,null,{\children\:\$\,\div\,null,{\hidden\:true,\children\:\$\,\$13\,null,{\fallback\:null,\children\:\$L14\}}}},false,\m\:\$undefined\,\G\:\$15\,,\s\:false,\S\:true}\n)/script>script>self.__next_f.push(1,11:\$\,\meta\,\0\,{\charSet\:\utf-8\},\$\,\meta\,\1\,{\name\:\viewport\,\content\:\widthdevice-width, initial-scale1\}\nd:null\n)/script>script>self.__next_f.push(1,f:{\metadata\:\$\,\title\,\0\,{\children\:\Christopher Kearl | Software Engineer \u0026 Developer\},\$\,\meta\,\1\,{\name\:\description\,\content\:\Software Engineer specializing in full-stack development, cloud engineering, and compliance automation. Former musician with Ritt Momney. MS in Information Systems Management from BYU.\},\$\,\meta\,\2\,{\name\:\author\,\content\:\Christopher Kearl\},\$\,\meta\,\3\,{\name\:\keywords\,\content\:\Christopher Kearl,Software Engineer,Full-stack Developer,TypeScript,React,Next.js,Python,AWS,Cloud Engineering,Ritt Momney\},\$\,\meta\,\4\,{\property\:\og:title\,\content\:\Christopher Kearl | Software Engineer \u0026 Developer\},\$\,\meta\,\5\,{\property\:\og:description\,\content\:\Software Engineer specializing in full-stack development, cloud engineering, and compliance automation.\},\$\,\meta\,\6\,{\property\:\og:url\,\content\:\https://ckearl.com\},\$\,\meta\,\7\,{\property\:\og:site_name\,\content\:\Christopher Kearl Portfolio\},\$\,\meta\,\8\,{\property\:\og:locale\,\content\:\en_US\},\$\,\meta\,\9\,{\property\:\og:type\,\content\:\website\},\$\,\meta\,\10\,{\name\:\twitter:card\,\content\:\summary_large_image\},\$\,\meta\,\11\,{\name\:\twitter:title\,\content\:\Christopher Kearl | Software Engineer \u0026 Developer\},\$\,\meta\,\12\,{\name\:\twitter:description\,\content\:\Software Engineer specializing in full-stack development, cloud engineering, and compliance automation.\},\error\:null,\digest\:\$undefined\}\n)/script>script>self.__next_f.push(1,14:\$f:metadata\\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
]