(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[797],{3307:function(e,n,t){(window.__NEXT_P=window.__NEXT_P||[]).push(["/frontend-engineering",function(){return t(6151)}])},4051:function(e,n,t){"use strict";t.d(n,{Mf:function(){return j},t:function(){return p},NR:function(){return y},b_:function(){return B},W_:function(){return u},dW:function(){return P}});var a=t(5893),i=t(7294),s=t(1664),r=t.n(s),o=t(2267),l=t.n(o),c=t(3967),d=t.n(c),u=e=>{let{activePage:n}=e,[t,s]=(0,i.useState)(!1);return(0,a.jsxs)("nav",{className:d()(l().navigationContainer,{[l().open]:t}),children:[(0,a.jsx)("div",{className:l().hamburger,onClick:()=>{s(e=>!e)},children:(0,a.jsx)("div",{className:d()(l().closeButton,{[l().open]:t})})}),(0,a.jsx)("ul",{className:d()(l().navigation,{[l().open]:t}),children:Object.entries({Home:"/",Consulting:"/consulting","Frontend Engineering":"/frontend-engineering","Find Me":"/find-me","Get Started":"/get-started","Small Business Package":"/get-started-pro"}).map(e=>{let[t,i]=e;return(0,a.jsx)("li",{className:d()({[l().active]:n===t}),children:(0,a.jsx)(r(),{href:i,children:t})},t)})})]})},m=t(3556),h=t(412),_=t.n(h),p=()=>{let[e,n]=(0,m.cI)("mkgwdpzg"),[t,s]=(0,i.useState)({email:"",phone:"",message:""}),r=e=>{let{name:n,value:t}=e.target;s(e=>({...e,[n]:t}))};return e.succeeded?(0,a.jsx)("p",{children:"Thank you! Your message has been submitted."}):(0,a.jsx)("div",{className:_().contact,children:(0,a.jsxs)("form",{onSubmit:n,children:[(0,a.jsxs)("div",{className:_().inputGroup,children:[(0,a.jsxs)("div",{className:_().input,children:[(0,a.jsx)("label",{htmlFor:"email",children:"Email:"}),(0,a.jsx)("input",{required:!0,id:"email",name:"email",type:"email",value:t.email,onChange:r})]}),(0,a.jsxs)("div",{className:_().input,children:[(0,a.jsx)("label",{htmlFor:"phone",children:"Phone:"}),(0,a.jsx)("input",{id:"phone",name:"phone",type:"tel",value:t.phone,onChange:r})]})]}),(0,a.jsxs)("div",{className:"body",children:[(0,a.jsx)("label",{htmlFor:"message",children:"Your message:"}),(0,a.jsx)("textarea",{required:!0,id:"message",name:"message",value:t.message,onChange:r})]}),(0,a.jsx)("button",{type:"submit",disabled:e.submitting,children:"Send"}),e.errors&&(0,a.jsx)("div",{className:"error",children:(0,a.jsx)("p",{children:"There was an error submitting your form. Please try again."})})]})})},f=t(5507),g=t.n(f);let x=e=>{if(!e)return null;let n=e.replace(/\D/g,"").match(/^(\d{3})(\d{3})(\d{4})$/);return n?"(".concat(n[1],") ").concat(n[2],"-").concat(n[3]):e};var j=e=>{let{actionRequired:n=!1}=e,[t,s]=(0,i.useState)(!n),[r,o]=(0,i.useState)(!1),[l,c]=(0,i.useState)(!1),[u,m]=(0,i.useState)(null),[h,_]=(0,i.useState)(null),[p,f]=(0,i.useState)(null),j=()=>{o(!0),setTimeout(()=>{o(!1),s(!0)},200)};return((0,i.useEffect)(()=>{c(!0),m("Benjamin"),_("benisjust@gmail.com"),f("4154056172")},[]),l)?(0,a.jsxs)("div",{className:g().card,children:[n?(0,a.jsx)("button",{onClick:()=>j(),className:d()(g().revealButton,{[g().disabled]:t||r}),children:"Show Contact Info"}):null,(0,a.jsx)("div",{className:"loading"}),(0,a.jsxs)("div",{className:g().info,children:[(0,a.jsx)("div",{className:g().left,children:(0,a.jsx)("div",{className:g().avatar})}),(0,a.jsxs)("div",{className:g().right,children:[(0,a.jsx)("div",{className:d()(g().detail,g().name,{[g().hidden]:!t}),children:t?u:"Jon Doe"}),(0,a.jsx)("div",{className:d()(g().detail,g().email,{[g().hidden]:!t}),children:t?(0,a.jsx)("a",{href:"mailto:".concat(h),className:g().link,children:h}):"example@email.com"}),(0,a.jsx)("div",{className:d()(g().detail,g().phone,{[g().hidden]:!t}),children:t?(0,a.jsx)("a",{href:"tel:".concat(p),className:g().link,children:x(p)}):"xxx-xxx-xxxx"})]})]})]}):null},C=t(7013),b=t(8816),v=t(1142),N=t.n(v),y=e=>{let{children:n}=e,[t,s]=(0,i.useState)(!1),r=()=>s(!1);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{onClick:()=>s(!0),className:N().trigger,children:n}),(0,a.jsx)(C.Z,{open:t,onClose:r,children:(0,a.jsxs)(b.Z,{className:N().modal,children:[(0,a.jsx)("button",{onClick:r,className:N().closeButton,children:"Close"}),(0,a.jsx)("div",{className:N().content,children:(0,a.jsx)(p,{})})]})})]})},w=t(6934),E=t.n(w),P=()=>(0,a.jsx)("div",{className:d()(E().portfolioCard,E().message,E().right,E().classic),children:(0,a.jsxs)("ul",{className:E().columns,children:[(0,a.jsx)("li",{children:(0,a.jsx)(r(),{href:"/portfolio/playstv",className:d()(E().website,E().playsTv)})}),(0,a.jsx)("li",{children:(0,a.jsx)(r(),{href:"/portfolio/lattice-engines",className:d()(E().website,E().latticeEngines)})}),(0,a.jsx)("li",{children:(0,a.jsx)(r(),{href:"/portfolio/harley505",className:d()(E().website,E().harley505)})}),(0,a.jsx)("li",{children:(0,a.jsx)(r(),{href:"/testimonials",className:d()(E().website,E().noOutline,E().testimonials)})})]})}),F=t(7882),S=t.n(F);let k=e=>{let{expanded:n,transitionDuration:t,children:a}=e,s=(0,i.useRef)(null),r=(0,i.useRef)(!0);return(0,i.useLayoutEffect)(()=>{let e=s.current;e&&!n&&(e.style.display="none")},[n]),(0,i.useEffect)(()=>{let e=s.current;if(e&&n){if(r.current)return;e.style.display="",e.style.opacity="0",e.offsetHeight,e.style.transition="opacity ".concat(t,"ms ease"),requestAnimationFrame(()=>{e.style.opacity="1"});let n=window.setTimeout(()=>{e.style.opacity="",e.style.transition=""},t);return()=>window.clearTimeout(n)}},[n,t]),(0,i.useEffect)(()=>{r.current=!1},[]),(0,i.cloneElement)(a,{ref:s})};var B=e=>{let{expandLabel:n="Expand",collapseLabel:t="Collapse",children:s,transitionDuration:r=300,initialExpanded:o=!1}=e,[l,c]=(0,i.useState)(o),u=i.Children.map(s,e=>i.isValidElement(e)?(0,a.jsx)(k,{expanded:l,transitionDuration:r,children:e}):e);return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:d()(S().expandButton,{[S().expanded]:l}),children:(0,a.jsx)("button",{onClick:()=>{c(e=>!e)},children:l?t:n})}),u]})}},6151:function(e,n,t){"use strict";t.r(n);var a=t(5893);t(7294);var i=t(9008),s=t.n(i),r=t(4051);n.default=()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(s(),{children:[(0,a.jsx)("title",{children:"Frontend Engineering at the End of the World"}),(0,a.jsx)("meta",{name:"description",content:"Frontend engineering consulting for startups, product teams, and businesses. Optimize performance, scale your architecture, and improve development workflows."}),(0,a.jsx)("meta",{name:"keywords",content:"frontend engineering consulting, UI architecture consulting, scalable frontend development, web performance optimization, React consulting, Angular to React migration, frontend best practices, component-based UI design, technical strategy for product teams, frontend performance optimization"})]}),(0,a.jsxs)("section",{id:"frontend-engineering-up",children:[(0,a.jsx)(r.W_,{activePage:"Frontend Engineering"}),(0,a.jsxs)("h1",{children:[(0,a.jsx)("em",{children:"Frontend Engineering"})," ",(0,a.jsx)("em",{children:"Consulting"})," – Scalable, Performant, and Maintainable UI Solutions"]}),(0,a.jsxs)("h2",{children:["Get expert frontend strategy, architecture guidance, and technical leadership to help your team build better, faster, and more scalable web applications.",(0,a.jsx)("p",{children:"A strong frontend isn't just about writing code – it's about creating a system that's scalable, efficient, and maintainable over time. Poor architecture choices lead to slow performance, code bloat, and developer inefficiency, making it harder to iterate and scale."}),(0,a.jsx)("p",{children:"I help engineering teams, product leaders, and startups optimize their frontend stack, ensuring faster development, better user experiences, and long-term stability."})]}),(0,a.jsx)("div",{className:"cta",children:(0,a.jsx)("div",{className:"content",children:(0,a.jsx)(r.NR,{children:"Contact me for a free consultation to learn more"})})}),(0,a.jsx)("h3",{children:"For Engineering Teams"}),(0,a.jsxs)("ul",{className:"highlights long",children:[(0,a.jsx)("li",{children:"Optimize frontend architecture for better performance and scalability."}),(0,a.jsx)("li",{children:"Implement best practices for componentization, state management, and maintainable code."}),(0,a.jsx)("li",{children:"Reduce technical debt and improve process for faster releases."})]}),(0,a.jsx)("h3",{children:"For Product Leaders & Founders"}),(0,a.jsxs)("ul",{className:"highlights long",children:[(0,a.jsx)("li",{children:"Get frontend strategy & technical leadership without needing a full-time hire."}),(0,a.jsx)("li",{children:"Ensure frontend decisions align with business goals and UX needs."}),(0,a.jsx)("li",{children:"Identify bottlenecks, inefficiencies, and architectural risks before they become costly."})]}),(0,a.jsx)("h3",{children:"For New & Legacy Projects"}),(0,a.jsxs)("ul",{className:"highlights long",children:[(0,a.jsx)("li",{children:"Migrate from Wordpress to JAM stack, Angular to React, React to Next.js, or other modern frameworks."}),(0,a.jsx)("li",{children:"Build scalable UI design systems for consistent and maintainable development."}),(0,a.jsx)("li",{children:"Improve performance, accessibility, and frontend best practices."})]})]}),(0,a.jsx)("section",{id:"frontend-engineering-down",children:(0,a.jsxs)("h1",{children:["The End of",(0,a.jsx)("br",{}),"the World",(0,a.jsx)("br",{}),"Development"]})})]})},5507:function(e){e.exports={card:"ContactCard_card__CiJZL",info:"ContactCard_info__nUzMf",left:"ContactCard_left__x5tVS",right:"ContactCard_right__ITt_a",avatar:"ContactCard_avatar__YK3LV",detail:"ContactCard_detail__gF9uU",hidden:"ContactCard_hidden__7fP5n",name:"ContactCard_name__6duvN",phone:"ContactCard_phone__y6ty_",email:"ContactCard_email__EpAtS",revealButton:"ContactCard_revealButton__fAOjC",disabled:"ContactCard_disabled__iVGC3"}},412:function(e){e.exports={contact:"ContactForm_contact__6dbbl",disabled:"ContactForm_disabled__A8tPX",inputGroup:"ContactForm_inputGroup__F6Bid",input:"ContactForm_input__gPUh4"}},1142:function(e){e.exports={modal:"ContactModal_modal__KRJGC",content:"ContactModal_content__eGlAq",trigger:"ContactModal_trigger__Mtddq",closeButton:"ContactModal_closeButton__rOlQL",disabled:"ContactModal_disabled__mVYoJ"}},7882:function(e){e.exports={expandButton:"ExpandalbeWrapper_expandButton__1wSLB",expanded:"ExpandalbeWrapper_expanded__OoBGz"}},2267:function(e){e.exports={navigationContainer:"Navigation_navigationContainer__A8U2S",hamburger:"Navigation_hamburger__pa5Tp",navigation:"Navigation_navigation__oP3Tz",active:"Navigation_active__kQT4n",open:"Navigation_open__psYbE",closeButton:"Navigation_closeButton__KtHBS"}},6934:function(e){e.exports={portfolioCard:"PortfolioCard_portfolioCard__OQ2XU",message:"PortfolioCard_message__pcX8_",classic:"PortfolioCard_classic__XBxBQ",right:"PortfolioCard_right__5i73l",left:"PortfolioCard_left__PK1NZ",imessage:"PortfolioCard_imessage__HBzyH",dark:"PortfolioCard_dark__NNXYS",website:"PortfolioCard_website__KdSHx",columns:"PortfolioCard_columns__EH7Lo",noOutline:"PortfolioCard_noOutline__p7reT",playsTv:"PortfolioCard_playsTv__xFS81",latticeEngines:"PortfolioCard_latticeEngines__INFtS",harley505:"PortfolioCard_harley505__diCFb",testimonials:"PortfolioCard_testimonials__tCzDG"}}},function(e){e.O(0,[431,888,774,179],function(){return e(e.s=3307)}),_N_E=e.O()}]);