PageSourceSearch

https://kitze.io/_next/static/chunks/3xd2zjcivzbla.js

js kitze.io collected 2026-10-01 13:04:30 UTC 64,914 bytes, 1 lines download raw bytes

1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,842960,e=>{"use strict";var t=e.i(128182),r=e.i(177332),a=e.i(898374),n=e.i(43738),i=e.i(744934),s=e.i(373066),o=e.i(446918);let l=({product:e})=>{let r=(0,s.withBlogUtm)(e.url,"in_article_ad",e.slug);return(0,t.jsxs)("aside",{role:"complementary","aria-label":`Product by Kitze: ${e.name}`,className:"not-prose my-10 overflow-hidden rounded-2xl border border-amber-200/80 bg-amber-50/70 dark:border-amber-500/25 dark:bg-amber-500/[0.07]",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 border-b border-amber-200/70 bg-amber-100/50 px-5 py-2 dark:border-amber-500/20 dark:bg-amber-500/10",children:[(0,t.jsx)("span",{className:"text-amber-500 dark:text-amber-400",children:"·"}),(0,t.jsx)("span",{className:"text-[11px] font-bold uppercase tracking-widest text-amber-700/90 dark:text-amber-300/90",children:"Product · built by Kitze"})]}),(0,t.jsxs)("a",{href:r,target:"_blank",rel:"noopener noreferrer","data-product":e.slug,"data-product-name":e.name,"data-placement":"in_article_ad",className:"group flex flex-col gap-4 p-5 sm:flex-row sm:items-center",children:[(0,t.jsx)(o.ProductLogo,{name:e.name,logo:e.logo,icon:e.icon,size:48,className:"transition-transform duration-300 group-hover:scale-105"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("h4",{className:"text-lg font-bold tracking-tight text-zinc-900 dark:text-zinc-100",children:e.name}),!e.logo&&(0,t.jsx)("span",{className:"text-base",children:e.emoji})]}),(0,t.jsx)("p",{className:"mt-0.5 text-sm leading-relaxed text-zinc-600 dark:text-zinc-300",children:e.tagline})]}),(0,t.jsxs)("span",{className:"inline-flex shrink-0 items-center gap-1.5 self-start rounded-full bg-zinc-900 px-4 py-2 text-sm font-bold text-white transition-colors group-hover:bg-amber-600 sm:self-center dark:bg-zinc-100 dark:text-zinc-950 dark:group-hover:bg-amber-400",children:["Try ",e.name,(0,t.jsx)(i.ArrowUpRight,{className:"h-4 w-4 transition-transform duration-300 group-hover:-translate-y-0.5 group-hover:translate-x-0.5"})]})]})]})};var c=e.i(426255),d=e.i(185092),u=e.i(497551);let h=({product:e})=>{let r=(0,s.withBlogUtm)(e.url,"article_footer",e.slug);return(0,t.jsxs)("a",{href:r,target:"_blank",rel:"noopener noreferrer","data-product":e.slug,"data-product-name":e.name,"data-placement":"article_footer",className:"group flex items-start gap-4 roun
1ded-2xl border border-zinc-200 bg-white p-4 transition-all duration-300 hover:-translate-y-0.5 hover:border-zinc-900 hover:shadow-lg dark:border-zinc-800 dark:bg-zinc-900/60 dark:hover:border-zinc-500",children:[(0,t.jsx)(o.ProductLogo,{name:e.name,logo:e.logo,icon:e.icon,size:48,className:"transition-transform duration-300 group-hover:scale-105"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("h4",{className:"flex items-center gap-1.5 text-base font-bold tracking-tight text-zinc-900 dark:text-zinc-100",children:[(0,t.jsx)("span",{className:"truncate",children:e.name}),!e.logo&&(0,t.jsx)("span",{className:"text-sm",children:e.emoji}),(0,t.jsx)(i.ArrowUpRight,{className:"ml-auto h-4 w-4 shrink-0 text-zinc-400 transition-all duration-300 group-hover:-translate-y-0.5 group-hover:translate-x-0.5 group-hover:text-amber-600 dark:group-hover:text-amber-400"})]}),(0,t.jsx)("p",{className:"mt-1 line-clamp-2 text-sm leading-snug text-zinc-600 dark:text-zinc-400",children:e.tagline})]})]})},m=()=>(0,t.jsxs)("div",{className:"flex items-start gap-4 roun
1ded-2xl border border-zinc-200 p-4 dark:border-zinc-800",children:[(0,t.jsx)("div",{className:"size-12 shrink-0 animate-pulse rounded-xl bg-zinc-100 dark:bg-zinc-800"}),(0,t.jsxs)("div",{className:"flex-1 space-y-2 pt-1",children:[(0,t.jsx)("div",{className:"h-4 w-24 animate-pulse rounded bg-zinc-100 dark:bg-zinc-800"}),(0,t.jsx)("div",{className:"h-3 w-full animate-pulse rounded bg-zinc-100 dark:bg-zinc-800"})]})]}),p=({products:e})=>{let{loading:r,unavailable:n}=(0,a.usePublicProducts)(),i=(0,a.useShowcaseProducts)();return(0,t.jsxs)("section",{"aria-label":"More products built by Kitze",className:"not-prose mt-14 border-t border-zinc-200 pt-10 dark:border-zinc-800",children:[(0,t.jsxs)("div",{className:"mb-6 flex items-end justify-between gap-4",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,t.jsx)("h3",{className:"text-2xl font-bold tracking-tight text-zinc-900 dark:text-zinc-100",children:"Products I've built"}),(0,t.jsx)("p",{className:"text-sm text-zinc-500 dark:text-zinc-400",children:"Browsers, Mac apps and tools for developers, creators, and anyone trying to stay focused."})]}),i.length>e.length&&(0,t.jsxs)(c.default,{href:"/#products",className:"hidden shrink-0 items-center gap-1.5 text-sm font-semibold text-zinc-900 transition-colors hover:text-amber-600 sm:inline-flex dark:text-zinc-100 dark:hover:text-amber-400",children:["See all ",i.length,(0,t.jsx)(d.ArrowRight,{className:"h-4 w-4"})]})]}),e.length>0?(0,t.jsx)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3",children:e.map(e=>(0,t.jsx)(h,{product:e},e.slug))}):r?(0,t.jsx)("div",{role:"status","aria-label":"Loading products",className:"grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3",children:Array.from({length:6},(e,r)=>(0,t.jsx)(m,{},r))}):(0,t.jsxs)("p",{className:"text-sm text-zinc-500 dark:text-zinc-400",children:[n?"Products are temporarily unavailable. ":"No public products to show. ",(0,t.jsx)("a",{className:"underline",href:u.GLINK_PROFILE_URL,children:"See everything on Glink"})]}),i.length>e.length&&(0,t.jsxs)(c.default,{href:"/#products",className:"mt-6 inline-flex items-center gap-1.5 text-sm font-semibold text-zinc-900 transition-colors hover:text-amber-600 sm:hidden dark:text-zinc-100 dark:hover:text-amber-400",children:["See all ",i.length," products",(0,t.jsx)(d.ArrowRight,{className:"h-4 w-4"})]})]})};var g=e.i(221255);function f({sponsor:e}){return(0,t.jsxs)("a",{href:e.url,target:"_blank",rel:"sponsored noopener noreferrer","aria-label":`Visit ${e.name} (sponsored)`,title:e.description,className:"group flex min-w-0 items-center gap-4 roun
1ded-xl border border-zinc-200 bg-white p-4 transition-colors hover:border-zinc-400 dark:border-zinc-800 dark:bg-zinc-950 dark:hover:border-zinc-600",children:[(0,t.jsx)("div",{className:"flex size-16 shrink-0 items-center justify-center overflow-hidden rounded-lg bg-zinc-100 dark:bg-zinc-900",children:e.imageUrl?(0,t.jsx)("img",{src:e.imageUrl,alt:"",loading:"lazy",className:"h-full w-full object-contain p-2"}):(0,t.jsx)("span",{"aria-hidden":"true",className:"text-2xl font-bold text-zinc-500 dark:text-zinc-400",children:e.name.slice(0,1).toUpperCase()})}),(0,t.jsxs)("div",{className:"min-w-0",children:[(0,t.jsx)("h3",{className:"truncate text-base font-semibold text-zinc-900 group-hover:underline dark:text-zinc-100",children:e.name}),(0,t.jsx)("p",{className:"line-clamp-2 text-sm leading-snug text-zinc-500 dark:text-zinc-400",children:e.description})]})]})}var b=e.i(370328);async function x(e,t){let r=await e("/api/sponsors",{cache:"no-store",credentials:"omit",signal:t});if(!r.ok)throw Error(`Sponsor catalogue returned ${r.status}`);return b.publicSponsorsResponse.parse(await r.json()).sponsors}let y=function(){let[e,a]=(0,r.useState)({status:"loading"});(0,r.useEffect)(()=>{let e=new AbortController;return x(fetch,e.signal).then(e=>a({status:"ready",sponsors:e})).catch(()=>{e.signal.aborted||a({status:"unavailable"})}),()=>e.abort()},[]);let n="ready"===e.status?e.sponsors:[];return(0,t.jsxs)("section",{"aria-label":"Sponsors","data-testid":"post-sponsors",className:"not-prose mt-12 mb-10 border-t border-zinc-200 pt-10 dark:border-zinc-800",children:[(0,t.jsxs)("div",{className:"mb-6 flex items-end justify-between gap-4",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,t.jsx)("h3",{className:"text-2xl font-bold tracking-tight text-zinc-900 dark:text-zinc-100",children:"Sponsors"}),(0,t.jsx)("p",{className:"text-sm text-zinc-500 dark:text-zinc-400",children:"The brands keeping these posts free and my open-source work going."})]}),(0,t.jsxs)(c.default,{href:"/sponsors",className:"hidden shrink-0 items-center gap-1.5 text-sm font-semibold text-zinc-900 transition-colors hover:text-amber-600 sm:inline-flex dark:text-zinc-100 dark:hover:text-amber-400",children:["Become a sponsor",(0,t.jsx)(d.ArrowRight,{className:"h-4 w-4"})]})]}),(0,t.jsxs)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:["loading"===e.status&&(0,t.jsxs)("div",{role:"status","aria-label":"Loading sponsors",className:"flex min-h-[88px] items-center gap-4 roun
1ded-xl border border-zinc-200 p-4 dark:border-zinc-800",children:[(0,t.jsx)("div",{className:"size-16 shrink-0 animate-pulse rounded-lg bg-zinc-100 dark:bg-zinc-800"}),(0,t.jsxs)("div",{className:"flex-1 space-y-2",children:[(0,t.jsx)("div",{className:"h-4 w-28 animate-pulse rounded bg-zinc-100 dark:bg-zinc-800"}),(0,t.jsx)("div",{className:"h-3 w-full animate-pulse rounded bg-zinc-100 dark:bg-zinc-800"})]})]}),n.map(e=>(0,t.jsx)(f,{sponsor:e},e.id)),(0,t.jsxs)(c.default,{href:"/sponsors",className:"group flex min-h-[88px] items-center gap-4 rounded-xl border border-dashed border-zinc-300 p-4 text-left transition-colors hover:border-zinc-500 dark:border-zinc-700 dark:hover:border-zinc-500",children:[(0,t.jsx)("span",{className:"flex size-16 shrink-0 items-center justify-center rounded-lg bg-zinc-100 text-zinc-500 transition-colors group-hover:text-zinc-900 dark:bg-zinc-900 dark:group-hover:text-zinc-100",children:(0,t.jsx)(g.Plus,{className:"size-5","aria-hidden":"true"})}),(0,t.jsxs)("span",{className:"min-w-0",children:[(0,t.jsx)("span",{className:"block text-base font-semibold text-zinc-900 dark:text-zinc-100",children:0===n.length?"Be the first sponsor":"Your brand here"}),(0,t.jsx)("span",{className:"block text-sm leading-snug text-zinc-500 dark:text-zinc-400",children:"Your logo under every post, plus a shout-out to 102k+ followers on X."})]})]})]})]})},w=["sizzy","supermac","benji","mindy","sotto","zerotoshipped","dmx","gifs","glink","perkz","k67","tinkerer","tubely","justwrite","passlock"],v=["sizzy","supermac"],k={"stream-deck-for-free":["sotto","dmx","benji"],"multiple-monitors-macos":["sizzy","sotto","benji"],"saddest-just-ship-it-story-ever":["zerotoshipped","benji","tinkerer"],"github-stars-wont-pay-your-rent":["zerotoshipped","tinkerer","sizzy"],"gpt3-is-the-beginning-of-the-end":["sotto","zerotoshipped","tinkerer"],"new-way-youtube":["tubely","benji","dmx"]},j={sizzy:["responsive","browser","devices","monitor","screen","css","frontend","web dev","webdev","design","chrome","layout"],zerotoshipped:["ship","saas","boilerplate","launch","startup","stripe","paddle","payment","subscription","indie"],tinkerer:["indie","maker","community","side project","build in public","hacker"],tubely:["youtube","video","channel","creator","vlog","plex"],justwrite:["writing","write","distraction","blog post","essay","focus"],sotto:["voice","dictation","transcrib","speech","automation","keyboard maestro","shortcut","macos","gpt"," ai "],benji:["habit","productivity","pomodoro","planner","todo","tracking","routine"],dmx:["twitter","doomscroll","social media","feed","addict"],passlock:["password","security","screen time","friction"],supermac:["launcher","raycast","alfred","snippet","hotkey","keyboard maestro","macos","mac app"],mindy:["browser","tabs","mindful","distraction","focus"],gifs:["gif","meme","reaction"],glink:["feedback","roadmap","changelog","users"],perkz:["github","private repo","open source","license","discord"],k67:["agent","claude","codex","cursor","vibe coding","t3"]},z=(e,t,r,a=6,n=v)=>{let i;return(i=[...n,...((e,t)=>{let r=k[e];if(r)return r;let a=` ${e} ${t} `.toLowerCase(),n=w.map(e=>{let t=(j[e]??[]).reduce((e,t)=>e+ +!!a.includes(t),0);return{slug:e,score:t}}).sort((e,t)=>t.score-e.score).filter(e=>e.score>0).map(e=>e.slug);if(n.length>0)return n;let i=(e=>{let t=0;for(let r=0;r<e.length;r++)t=(t<<5)-t+e.charCodeAt(r)|0;return Math.abs(t)})(e)%w.length;return[...w.slice(i),...w.slice(0,i)]})(e,t).map(e=>"zerotoshipped"===e?"zero-to-shipped":e),...w.map(e=>"zerotoshipped"===e?"zero-to-shipped":e),...r.map(e=>e.slug)]).filter((e,t)=>i.indexOf(e)===t).map(e=>r.find(t=>t.slug===e)).filter(e=>!!e).slice(0,a)},N=({slug:e,content:i})=>{let s=(0,a.useShowcaseProducts)(),{segments:o,adProducts:c,showcaseProducts:d}=(0,r.useMemo)(()=>{let t=(e=>{let t=e.split("\n"),r=[],a=[],n=!1,i="",s=()=>{if(0===a.length)return;let e=a.join("\n");if(a=[],""!==e.trim()){let t;r.push({text:e,type:(t=e.replace(/^\s+/,""),/^(```|~~~)/.test(t)?"code":/^#{1,6}\s/.test(t)?"heading":/^(-{3,}|\*{3,}|_{3,})\s*$/.test(e.trim())?"hr":/^>\s?/.test(t)?"quote":/^([-*+]\s|\d+\.\s)/.test(t)?"list":/^!\[/.test(t)?"image":"paragraph")})}};for(let e of t){let t=e.match(/^\s*(```|~~~)/);if(t){let r=t[1];n?e.trim().startsWith(i)?(a.push(e),n=!1,s()):a.push(e):(s(),n=!0,i=r,a.push(e));continue}if(n){a.push(e);continue}if(""===e.trim()){s();continue}a.push(e)}return s(),r})(i),r=[0,...(e=>{let t=e.length;if(t<3)return 2===t?[1]:[];let r=[];for(let a=1;a<t;a++)"heading"!==e[a-1].type&&r.push(a);if(0===r.length){let e=Math.max(1,Math.round(t/3)),r=Math.min(t-1,Math.round(2*t/3));return r>e?[e,r]:[e]}let a=(e,t)=>t.reduce((t,r)=>Math.abs(r-e)<Math.abs(t-e)?r:t,t[0]),n=a(Math.round(.34*t),r),i=r.filter(e=>e>n),s=null;return i.length>0&&(s=a(Math.round(.68*t),i))===n&&(s=null),s?[n,s]:[n]})(t),t.length],a=[];for(let e=0;e<r.length-1;e++){let n=t.slice(r[e],r[e+1]);a.push(n.map(e=>e.text).join("\n\n"))}return{segments:a.filter(e=>e.trim().length>0),adProducts:z(e,i,s,2,[]),showcaseProducts:z(e,i,s)}},[e,i,s]);return(0,t.jsxs)("div",{className:"w-full",children:[o.map((e,a)=>{let i=a===o.length-1?void 0:c[a%Math.max(c.length,1)];return(0,t.jsxs)(r.default.Fragment,{children:[(0,t.jsx)(n.default,{children:e}),i?(0,t.jsx)(l,{product:i}):null]},a)}),(0,t.jsx)(p,{products:d}),(0,t.jsx)(y,{})]})};e.s(["PostBody",0,N,"default",0,N],842960)},225830,e=>{"use strict";var t=e.i(128182),r=e.i(426255),a=e.i(534084),n=e.i(177332);let i={StreamWithGuest:"Stream With Guest",GamingStream:"Gaming Stream",TechReview:"Tech Review",DevRap:"Dev Rap",Dev:"Web Development",Startup:"Startup",Productivity:"Productivity",Motivational:"Motivational"},s=({badges:e=[]})=>(0,t.jsx)("div",{className:"flex flex-row flex-wrap items-center gap-4",children:e.map(({badge:e})=>(i[e],(0,t.jsxs)("span",{className:"flex flex-col items-center justify-center text-gray-700 dark:text-zinc-300 font-semibold rounded text-xs h-6",children:["#",e]},e)))});var o=e.i(837773);e.s(["PostHero",0,function({slug:e,title:i,badges:l,humanDate:c,backHref:d,backLabel:u="Back to posts",metaImage:h,metaImageUrl:m}){let p=h?.url??m??null;return(0,t.jsx)(n.ViewTransition,{name:`post-${e}`,children:(0,t.jsxs)("div",{className:"w-full space-y-6",children:[d&&(0,t.jsxs)(r.default,{href:d,className:"inline-flex items-center gap-2 text-sm font-medium text-gray-500 transition hover:text-gray-900 dark:text-zinc-500 dark:hover:text-zinc-100",children:[(0,t.jsx)(a.ArrowLeft,{className:"h-4 w-4"}),u]}),(0,t.jsxs)("div",{className:"space-y-5 vertical w-full",children:[c&&(0,t.jsxs)("p",{className:"text-sm text-gray-600 dark:text-zinc-400",children:[c," ago"]}),(0,t.jsx)(n.ViewTransition,{name:`post-${e}-title`,children:(0,t.jsx)("h1",{className:"!text-3xl !font-medium text-foreground md:!text-4xl",children:i})}),(0,t.jsx)(s,{badges:l})]}),p&&(0,t.jsx)(n.ViewTransition,{name:`post-${e}-image`,children:(0,t.jsx)("div",{className:"overflow-hidden rounded-2xl border border-gray-200 bg-gray-50 shadow-sm dark:border-zinc-800 dark:bg-zinc-900/50",children:(0,t.jsx)(o.default,{src:p,alt:i,className:"h-full w-full object-cover",loading:"lazy"})})})]})})}],225830)},837773,e=>{"use strict";var t=e.i(128182),r=e.i(177332),a=e.i(281598);e.s(["default",0,({src:e,alt:n,className:i="",loading:s="lazy",onLoad:o,onError:l,rootMargin:c="100px"})=>{let[d,u]=(0,r.useState)(!1),[h,m]=(0,r.useState)(!1),[p,g]=(0,r.useState)(!1),[f,b]=(0,r.useState)("eager"===s),x=(0,r.useRef)(null);return(0,r.useEffect)(()=>
1{if("eager"===s||!x.current)return;let e=new IntersectionObserver(t=>{t.forEach(t=>{t.isIntersecting&&(b(!0),e.disconnect())})},{rootMargin:c});return e.observe(x.current),()=>{e.disconnect()}},[s,c]),(0,r.useEffect)(()=>{u(!1),m(!1),g(!1)},[e]),(0,r.useEffect)(()=>{if(d&&!h){let e=setTimeout(()=>{m(!0)},50);return()=>clearTimeout(e)}},[d,h]),(0,t.jsxs)("div",{ref:x,className:"relative w-full h-full overflow-hidden",children:[!d&&!p&&(0,t.jsx)("div",{className:"absolute inset-0 bg-gray-200 dark:bg-zinc-800 animate-pulse"}),p&&(0,t.jsx)("div",{className:"absolute inset-0 bg-gray-100 dark:bg-zinc-900 flex items-center justify-center",children:(0,t.jsx)("svg",{className:"w-12 h-12 text-gray-400 dark:text-zinc-600",fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,t.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.5,d:"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"})})}),f&&(0,t.jsx)("img",{src:e,alt:n,onLoad:()=>{u(!0),o?.()},onError:()=>{g(!0),l?.()},className:(0,a.cn)("w-full h-full transition-all ease-out",!d&&"opacity-0",d&&!h&&"opacity-100 blur-md duration-100",h&&"opacity-100 blur-0 duration-500",i)})]})}])},866190,e=>{"use strict";e.i(128182),e.i(913582),e.s(["getUniversalImageUrl",0,(e={})=>{let{metaImage:t,metaImageUrl:r,imageUrl:a,image:n}=e;if(t){if(t.url)return t.url;let{image:e,imageUrl:r}=t;return e?e.url:r}return n?n.url:r||a}])},317972,e=>{"use strict";var t=e.i(128182),r=e.i(177332);let a=(0,r.createContext)(null),n={didCatch:!1,error:null};class i extends r.Component{constructor(e){super(e),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=n}static getDerivedStateFromError(e){return{didCatch:!0,error:e}}resetErrorBoundary(){let{error:e}=this.state;if(null!==e){for(var t,r,a=arguments.length,i=Array(a),s=0;s<a;s++)i[s]=arguments[s];null==(t=(r=this.props).onReset)||t.call(r,{args:i,reason:"imperative-api"}),this.setState(n)}}componentDidCatch(e,t){var r,a;null==(r=(a=this.props).onError)||r.call(a,e,t)}componentDidUpdate(e,t){let{didCatch:r}=this.state,{resetKeys:a}=this.props;if(r&&null!==t.error&&function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return e.length!==t.length||e.some((e,r)=>!Object.is(e,t[r]))}(e.resetKeys,a)){var i,s;null==(i=(s=this.props).onReset)||i.call(s,{next:a,prev:e.resetKeys,reason:"keys"}),this.setState(n)}}render(){let{children:e,fallbackRender:t,FallbackComponent:n,fallback:i}=this.props,{didCatch:s,error:o}=this.state,l=e;if(s){let e={error:o,resetErrorBoundary:this.resetErrorBoundary};if("function"==typeof t)l=t(e);else if(n)l=(0,r.createElement)(n,e);else if(void 0!==i)l=i;else throw o}return(0,r.createElement)(a.Provider,{value:{didCatch:s,error:o,resetErrorBoundary:this.resetErrorBoundary}},l)}}let s=({error:e})=>(0,t.jsxs)("div",{className:"p-4 text-red-500 bg-red-50 rounded-lg",children:["Invalid YouTube URL format: ",e.message]}),o=({url:e})=>{if(!e)return null;try{let r=(e=>{let t=e.match(/(?:youtube\.com\/(?:[^\/]+\/.+\/|(?:v|e(?:mbed)?)\/|.*[?&]v=)|youtu\.be\/)([^"&?\/\s]{11})/);if(t)return t[1];let r=e.match(/youtu\.be\/([^"&?\/\s]{11})/);if(r)return r[1];let a=e.match(/youtube\.com\/embed\/([^"&?\/\s]{11})/);if(a)return a[1];throw Error(e)})(e);return(0,t.jsx)("div",{className:"relative w-full pt-[56.25%]",children:(0,t.jsx)("iframe",{className:"absolute top-0 left-0 w-full h-full rounded-lg",src:`https://youtube.com/embed/${r}`,title:"YouTube video",allowFullScreen:!0})})}catch(r){return console.warn("Error parsing YouTube URL:",r),(0,t.jsxs)("div",{className:"p-4 text-red-500 bg-red-50 rounded-lg",children:["Invalid YouTube URL format: ",e]})}};e.s(["default",0,({url:e})=>(0,t.jsx)(i,{FallbackComponent:s,children:(0,t.jsx)(o,{url:e})})],317972)},703552,e=>{"use strict";var t=e.i(128182);let r=(0,e.i(321269).default)(()=>e.A(517405).then(e=>e.Comments),{loadableGenerated:{modules:[387828]},ssr:!1,loading:()=>(0,t.jsx)("p",{role:"status",children:"Loading comments…"})});e.s(["CommentsIsland",0,function({articleId:e}){return(0,t.jsx)("section",{id:"comments",className:"space-y-4 border-t pt-6",children:(0,t.jsx)(r,{articleId:e})})}])},213840,e=>{"use strict";var t=e.i(128182),r=e.i(177332);let a=Array.from({length:40},(e,t)=>({width:(7*t+3)%4==0?2:1,opacity:(13*t+7)%5==0?.5:1}));e.s(["RestaurantVariant6",0,({restaurant:e})=>{let n=r.default.useMemo(()=>Math.floor(1e4*Math.random()).toString().padStart(4,"0"),[]),i=r.default.useMemo(()=>`${Math.floor(12*Math.random())+1}:${Math.floor(60*Math.random()).toString().padStart(2,"0")} PM`,[]);return(0,t.jsx)("div",{className:"relative w-full max-w-[450px]! mx-auto py-12 px-4",children:(0,t.jsxs)("div",{className:"relative font-mono text-xs bg-white text-black transform -rotate-1 w-full isolate",style:{filter:"drop-shadow(0 4px 6px rgba(0,0,0,0.1))"},children:[(0,t.jsx)("div",{className:"absolute -top-3 left-0 right-0 h-6 bg-white w-full",style:{maskImage:"conic-gradient(from 135deg at top, transparent 45deg, black 45deg) repeat-x top left",WebkitMaskImage:"conic-gradient(from 135deg at top, transparent 45deg, black 45deg)",maskSize:"16px 16px",WebkitMaskSize:"16px 16px",maskRepeat:"repeat-x",WebkitMaskRepeat:"repeat-x"}}),(0,t.jsxs)("div",{className:"flex px-8 py-6 pb-8 bg-white",children:[(0,t.jsxs)("div",{className:"w-[60%] pr-4 flex flex-col",children:[(0,t.jsxs)("div",{className:"text-center mb-4 pb-3 border-b border-dashed border-black/30",children:[(0,t.jsx)("h3",{className:"text-xl font-bold uppercase tracking-widest mb-1 leading-tight break-words",children:e.name}),(0,t.jsx)("div",{className:"text-[10px] text-black/60 uppercase tracking-wider",children:e.location})]}),(0,t.jsxs)("div",{className:"flex justify-between text-[10px] text-black/50 mb-4 pb-2 border-b border-dotted border-black/20",children:[(0,t.jsxs)("span",{children:["DATE: ",new Date().toLocaleDateString()]}),(0,t.jsxs)("span",{children:["TIME: ",i]})]}),(0,t.jsxs)("div",{className:"space-y-2 mb-4 text-xs",children:[(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{children:"CUISINE"}),(0,t.jsx)("span",{className:"font-bold",children:e.cuisine||"FOOD"})]}),e.rating&&(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{children:"RATING"}),(0,t.jsxs)("span",{className:"font-bold",children:[e.rating,".0/5.0"]})]}),(0,t.jsxs)("div",{className:"flex justify-between",children:[(0,t.jsx)("span",{children:"SERVICE"}),(0,t.jsx)("span",{className:"font-bold",children:"EXCELLENT"})]})]}),(0,t.jsx)("div",{className:"border-t border-dashed border-black/30 my-3"}),(0,t.jsxs)("div",{className:"text-xs text-black/80 mb-4 leading-relaxed font-medium",children:['"',e.comment||"Great experience.",'"']}),(0,t.jsxs)("div",{className:"mt-auto pt-3 border-t border-dashed border-black/30 flex flex-col items-center",children:[(0,t.jsxs)("div",{className:"text-[8px] uppercase tracking-widest opacity-50 mb-1",children:["#",n]}),(0,t.jsx)("div",{className:"h-8 flex items-stretch justify-center gap-[2px] w-full max-w-[180px] overflow-hidden bg-white mix-blend-multiply",children:a.map((e,r)=>(0,t.jsx)("div",{className:"bg-black",style:{width:`${e.width}px`,opacity:.9}},r))}),(0,t.jsxs)("div",{className:"flex justify-between w-full max-w-[180px] text-[8px] font-mono tracking-[0.5em] mt-0.5 opacity-60",children:[(0,t.jsx)("span",{children:n.slice(0,2)}),(0,t.jsx)("span",{children:n.slice(2)})]})]})]}),(0,t.jsx)("div",{className:"w-[40%]"})]}),(0,t.jsx)("div",{className:"absolute -bottom-3 left-0 right-0 h-6 bg-white w-full",style:{maskImage:"conic-gradient(from -45deg at bottom, transparent 45deg, black 45deg) repeat-x bottom left",WebkitMaskImage:"conic-gradient(from -45deg at bottom, transparent 45deg, black 45deg)",maskSize:"16px 16px",WebkitMaskSize:"16px 16px",maskRepeat:"repeat-x",WebkitMaskRepeat:"repeat-x"}}),(0,t.jsxs)("div",{className:"absolute top-1/2 -translate-y-1/2 -right-16 w-80 z-20 transform rotate-3 transition-all duration-300 hover:rotate-0 hover:scale-105 hover:z-30 group cursor-pointer shadow-2xl bg-white p-3 pb-10 border border-gray-200",children:[(0,t.jsx)("div",{className:"absolute -top-4 left-1/2 -translate-x-1/2 w-8 h-16 z-30 drop-shadow-sm pointer-events-none",children:(0,t.jsxs)("svg",{width:"100%",height:"100%",viewBox:"0 0 30 60",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,t.jsx)("path",{d:"M8 45 V 12 C 8 6 16 6 16 12 V 40",stroke:"#444",strokeWidth:"2.5",strokeLinecap:"round"}),(0,t.jsx)("path",{d:"M22 40 V 12 C 22 3 6 3 6 12 V 50 C 6 56 24 56 24 50 V 15",stroke:"#777",strokeWidth:"2.5",strokeLinecap:"round"})]})}),(0,t.jsxs)("div",{className:"aspect-square w-full bg-zinc-100 relative overflow-hidden",children:[(0,t.jsx)("img",{src:"https://images.unsplash.com/photo-1559339352-11d035aa65de?ixlib=rb-4.0.3&auto=format&fit=crop&w=600&q=80",alt:"Food",className:"w-full h-full object-cover filter grayscale contrast-[1.2] brightness-110 transition-all duration-500 group-hover:grayscale-0 group-hover:contrast-100"}),(0,t.jsx)("div",{className:"absolute inset-0 bg-gradient-to-b from-black/10 to-transparent pointer-events-none group-hover:opacity-0 transition-opacity"})]}),(0,t.jsx)("div",{className:"absolute bottom-3 left-0 right-0 text-center",children:(0,t.jsx)("span",{className:"font-handwriting text-zinc-400 text-lg -rotate-1",style:{fontFamily:'"Comic Sans MS", cursive'},children:"Yum!"})})]})]})})}])},913582,e=>{"use strict";var t=e.i(128182),r=e.i(177332),a=e.i(7284);e.s(["Badge",0,({children:e,colorScheme:r="gray",className:a="",...n})=>(0,t.jsx)("span",{className:`inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium ${{gray:"bg-gray-100 text-gray-800 dark:bg-zinc-800 dark:text-zinc-100",red:"bg-red-100 text-red-800 dark:bg-red-900/30 dark:text-red-300",green:"bg-green-100 text-green-800 dark:bg-green-900/30 dark:text-green-300",blue:"bg-gray-100 text-gray-800 dark:bg-zinc-800 dark:text-zinc-100",purple:"bg-gray-100 text-gray-800 dark:bg-zinc-800 dark:text-zinc-100"}[r]} ${a}`,...n,children:e}),"Box",0,({children:e,className:r="",...a})=>(0,t.jsx)("div",{className:r,...a,children:e}),"Breadcrumb",0,({children:e,className:n="",color:i,fontWeight:s,separator:o="/",...l})=>{let[c]=r.default.useState(()=>r.default.Children.toArray(e));return(0,t.jsx)("nav",{className:(0,a.default)("flex items-center",i&&`text-${i}`,n),style:{fontWeight:s},...l,children:(0,t.jsx)("ol",{className:"flex items-center",children:c.map((e,a)=>(0,t.jsxs)(r.default.Fragment,{children:[e,a<c.length-1&&(0,t.jsx)("span",{className:"mx-2",children:o})]},a))})})},"BreadcrumbItem",0,({children:e,className:r="",isCurrentPage:n=!1,...i})=>(0,t.jsx)("li",{className:(0,a.default)("inline-flex items-center",n?"cursor-default":"hover:text-gray-700",r),...i,children:e}),"Button",0,({children:e,colorScheme:r="gray",size:a="md",className:n="",...i})=>(0,t.jsx)("button",{className:`rounded-md font-medium transition-colors ${{sm:"px-2 py-1 text-sm",md:"px-4 py-2",lg:"px-6 py-3 text-lg"}[a]} ${{gray:"bg-gray-900 hover:bg-gray-800 text-white dark:bg-zinc-100 dark:hover:bg-zinc-200 dark:text-zinc-900",blue:"bg-gray-900 hover:bg-gray-800 text-white dark:bg-zinc-100 dark:hover:bg-zinc-200 dark:text-zinc-900",purple:"bg-gray-900 hover:bg-gray-800 text-white dark:bg-zinc-100 dark:hover:bg-zinc-200 dark:text-zinc-900"}[r]} ${n}`,...i,children:e}),"Divider",0,({className:e="",orientation:r="horizontal"})=>(0,t.jsx)("hr",{className:`${{horizontal:"w-full h-px",vertical:"h-full w-px"}[r]} bg-gray-200 border-0 ${e}`}),"Heading",0,({children:e,size:r="md",className:a="",...n})=>(0,t.jsx)("h2",{className:`font-bold ${{sm:"text-lg",md:"text-xl",lg:"text-2xl",xl:"text-3xl"}[r]} ${a}`,...n,children:e}),"Image",0,e=>{let{src:n,fallbackSrc:i,alt:s="",className:o="",width:l,height:c,loading:d="lazy",onError:u,...h}=e,[m,p]=r.default.useState(n);return r.default.useEffect(()=>{p(n)},[n]),(0,t.jsx)("img",{src:m,alt:s,className:(0,a.default)("max-w-full h-auto",o),width:l,height:c,loading:d,onError:e=>{i&&p(i),u?.(e)},...h})}
1,"Text",0,({children:e,className:r="",fontSize:a,color:n,...i})=>(0,t.jsx)("p",{className:`${r} ${n?`text-${n}`:""}`,style:{fontSize:a},...i,children:e})])},497551,e=>{"use strict";var t=e.i(552731);t.z.object({username:t.z.literal("kitze"),createdProjects:t.z.array(t.z.object({slug:t.z.string().regex(/^[a-zA-Z0-9_-]+$/),name:t.z.string().min(1),description:t.z.string().nullable().optional(),emoji:t.z.string().nullable().optional(),profilePinned:t.z.boolean().optional(),updatedAt:t.z.iso.datetime(),visibility:t.z.string().optional()}))}),e.s(["GLINK_PROFILE_URL",0,"https://glink.so/kitze"])},957364,e=>{"use strict";var t=e.i(160947),r=e.i(26284);function a(e){return e.city===e.country?e.city:`${e.city}, ${e.country}`}e.s(["getAllTalks",0,function(){return[...t.allTalks].sort((e,t)=>{let r=new Date(t.date??t.createdAt).getTime()-new Date(e.date??e.createdAt).getTime();return 0!==r?r:(e.sortOrder??50)-(t.sortOrder??50)})},"getAppearancesByTalkSlug",0,function(e){return r.allConferenceAppearances.filter(t=>t.talkSlug===e).map(e=>({...e,location:a(e)}))},"getConferenceAppearanceLocation",0,a])},331819,e=>{"use strict";var t=e.i(128182),r=e.i(177332),a=e.i(140147);e.s(["default",0,({post:e,children:n})=>{let i=(0,r.useMemo)(()=>({post:e}),[e]);return(0,t.jsx)(a.PostContext.Provider,{value:i,children:n})}])},585458,(e,t,r)=>{e.e,t.exports=function(){"use strict";var e="millisecond",t="second",r="minute",a="hour",n="week",i="month",s="quarter",o="year",l="date",c="Invalid Date",d=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,u=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,h=function(e,t,r){var a=String(e);return!a||a.length>=t?e:""+Array(t+1-a.length).join(r)+e},m="en",p={};p[m]={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],r=e%100;return"["+e+(t[(r-20)%10]||t[r]||t[0])+"]"}};var g="$isDayjsObject",f=function(e){return e instanceof w||!(!e||!e[g])},b=function e(t,r,a){var n;if(!t)return m;if("string"==typeof t){var i=t.toLowerCase();p[i]&&(n=i),r&&(p[i]=r,n=i);var s=t.split("-");if(!n&&s.length>1)return e(s[0])}else{var o=t.name;p[o]=t,n=o}return!a&&n&&(m=n),n||!a&&m},x=function(e,t){if(f(e))return e.clone();var r="object"==typeof t?t:{};return r.date=e,r.args=arguments,new w(r)},y={s:h,z:function(e){var t=-e.utcOffset(),r=Math.abs(t);return(t<=0?"+":"-")+h(Math.floor(r/60),2,"0")+":"+h(r%60,2,"0")},m:function e(t,r){if(t.date()<r.date())return-e(r,t);var a=12*(r.year()-t.year())+(r.month()-t.month()),n=t.clone().add(a,i),s=r-n<0,o=t.clone().add(a+(s?-1:1),i);return+(-(a+(r-n)/(s?n-o:o-n))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(c){return({M:i,y:o,w:n,d:"day",D:l,h:a,m:r,s:t,ms:e,Q:s})[c]||String(c||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}};y.l=b,y.i=f,y.w=function(e,t){return x(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var w=function(){function h(e){this.$L=b(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[g]=!0}var m=h.prototype;return m.parse=function(e){this.$d=function(e){var t=e.date,r=e.utc;if(null===t)return new Date(NaN);if(y.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var a=t.match(d);if(a){var n=a[2]-1||0,i=(a[7]||"0").substring(0,3);return r?new Date(Date.UTC(a[1],n,a[3]||1,a[4]||0,a[5]||0,a[6]||0,i)):new Date(a[1],n,a[3]||1,a[4]||0,a[5]||0,a[6]||0,i)}}return new Date(t)}(e),this.init()},m.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},m.$utils=function(){return y},m.isValid=function(){return this.$d.toString()!==c},m.isSame=function(e,t){var r=x(e);return this.startOf(t)<=r&&r<=this.endOf(t)},m.isAfter=function(e,t){return x(e)<this.startOf(t)},m.isBefore=function(e,t){return this.endOf(t)<x(e)},m.$g=function(e,t,r){return y.u(e)?this[t]:this.set(r,e)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(e,s){var c=this,d=!!y.u(s)||s,u=y.p(e),h=function(e,t){var r=y.w(c.$u?Date.UTC(c.$y,t,e):new Date(c.$y,t,e),c);return d?r:r.endOf("day")},m=function(e,t){return y.w(c.toDate()[e].apply(c.toDate("s"),(d?[0,0,0,0]:[23,59,59,999]).slice(t)),c
1)},p=this.$W,g=this.$M,f=this.$D,b="set"+(this.$u?"UTC":"");switch(u){case o:return d?h(1,0):h(31,11);case i:return d?h(1,g):h(0,g+1);case n:var x=this.$locale().weekStart||0,w=(p<x?p+7:p)-x;return h(d?f-w:f+(6-w),g);case"day":case l:return m(b+"Hours",0);case a:return m(b+"Minutes",1);case r:return m(b+"Seconds",2);case t:return m(b+"Milliseconds",3);default:return this.clone()}},m.endOf=function(e){return this.startOf(e,!1)},m.$set=function(n,s){var c,d=y.p(n),u="set"+(this.$u?"UTC":""),h=((c={}).day=u+"Date",c[l]=u+"Date",c[i]=u+"Month",c[o]=u+"FullYear",c[a]=u+"Hours",c[r]=u+"Minutes",c[t]=u+"Seconds",c[e]=u+"Milliseconds",c)[d],m="day"===d?this.$D+(s-this.$W):s;if(d===i||d===o){var p=this.clone().set(l,1);p.$d[h](m),p.init(),this.$d=p.set(l,Math.min(this.$D,p.daysInMonth())).$d}else h&&this.$d[h](m);return this.init(),this},m.set=function(e,t){return this.clone().$set(e,t)},m.get=function(e){return this[y.p(e)]()},m.add=function(e,s){var l,c=this;e=Number(e);var d=y.p(s),u=function(t){var r=x(c);return y.w(r.date(r.date()+Math.round(t*e)),c)};if(d===i)return this.set(i,this.$M+e);if(d===o)return this.set(o,this.$y+e);if("day"===d)return u(1);if(d===n)return u(7);var h=((l={})[r]=6e4,l[a]=36e5,l[t]=1e3,l)[d]||1,m=this.$d.getTime()+e*h;return y.w(m,this)},m.subtract=function(e,t){return this.add(-1*e,t)},m.format=function(e){var t=this,r=this.$locale();if(!this.isValid())return r.invalidDate||c;var a=e||"YYYY-MM-DDTHH:mm:ssZ",n=y.z(this),i=this.$H,s=this.$m,o=this.$M,l=r.weekdays,d=r.months,h=r.meridiem,m=function(e,r,n,i){return e&&(e[r]||e(t,a))||n[r].slice(0,i)},p=function(e){return y.s(i%12||12,e,"0")},g=h||function(e,t,r){var a=e<12?"AM":"PM";return r?a.toLowerCase():a};return a.replace(u,function(e,a){return a||function(e){switch(e){case"YY":return String(t.$y).slice(-2);case"YYYY":return y.s(t.$y,4,"0");case"M":return o+1;case"MM":return y.s(o+1,2,"0");case"MMM":return m(r.monthsShort,o,d,3);case"MMMM":return m(d,o);case"D":return t.$D;case"DD":return y.s(t.$D,2,"0");case"d":return String(t.$W);case"dd":return m(r.weekdaysMin,t.$W,l,2);case"ddd":return m(r.weekdaysShort,t.$W,l,3);case"dddd":return l[t.$W];case"H":return String(i);case"HH":return y.s(i,2,"0");case"h":return p(1);case"hh":return p(2);case"a":return g(i,s,!0);case"A":return g(i,s,!1);case"m":return String(s);case"mm":return y.s(s,2,"0");case"s":return String(t.$s);case"ss":return y.s(t.$s,2,"0");case"SSS":return y.s(t.$ms,3,"0");case"Z":return n}return null}(e)||n.replace(":","")})},m.utcOffset=function(){return-(15*Math.round(this.$d.getTimezoneOffset()/15))},m.diff=function(e,l,c){var d,u=this,h=y.p(l),m=x(e),p=(m.utcOffset()-this.utcOffset())*6e4,g=this-m,f=function(){return y.m(u,m)};switch(h){case o:d=f()/12;break;case i:d=f();break;case s:d=f()/3;break;case n:d=(g-p)/6048e5;break;case"day":d=(g-p)/864e5;break;case a:d=g/36e5;break;case r:d=g/6e4;break;case t:d=g/1e3;break;default:d=g}return c?d:y.a(d)},m.daysInMonth=function(){return this.endOf(i).$D},m.$locale=function(){return p[this.$L]},m.locale=function(e,t){if(!e)return this.$L;var r=this.clone(),a=b(e,t,!0);return a&&(r.$L=a),r},m.clone=function(){return y.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},h}(),v=w.prototype;return x.prototype=v,[["$ms",e],["$s",t],["$m",r],["$H",a],["$W","day"],["$M",i],["$y",o],["$D",l]].forEach(function(e){v[e[1]]=function(t){return this.$g(t,e[0],e[1])}}),x.extend=function(e,t){return e.$i||(e(t,w,x),e.$i=!0),x},x.locale=b,x.isDayjs=f,x.unix=function(e){return x(1e3*e)},x.en=p[m],x.Ls=p,x.p={},x}()},534084,e=>{"use strict";let t=(0,e.i(10431).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",0,t],534084)},185092,e=>{"use strict";let t=(0,e.i(10431).default)("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);e.s(["ArrowRight",0,t],185092)},744934,e=>{"use strict";let t=(0,e.i(10431).default)("arrow-up-right",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);e.s(["ArrowUpRight",0,t],744934)},554826,e=>{"use strict";let t=(0,e.i(10431).default)("message-circle",[["path",{d:"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",key:"1sd12s"}]]);e.s(["MessageCircle",0,t],554826)},221255,e=>{"use strict";let t=(0,e.i(10431).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);
1e.s(["Plus",0,t],221255)},128646,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var a={bindSnapshot:function(){return c},createAsyncLocalStorage:function(){return l},createSnapshot:function(){return d}};for(var n in a)Object.defineProperty(r,n,{enumerable:!0,get:a[n]});let i=Object.defineProperty(Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available"),"__NEXT_ERROR_CODE",{value:"E504",enumerable:!1,configurable:!0});class s{disable(){throw i}getStore(){}run(){throw i}exit(){throw i}enterWith(){throw i}static bind(e){return e}}let o="u">typeof globalThis&&globalThis.AsyncLocalStorage;function l(){return o?new o:new s}function c(e){return o?o.bind(e):s.bind(e)}function d(){return o?o.snapshot():function(e,...t){return e(...t)}}},736244,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"workAsyncStorageInstance",{enumerable:!0,get:function(){return a}});let a=(0,e.r(128646).createAsyncLocalStorage)()},552292,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"workAsyncStorage",{enumerable:!0,get:function(){return a.workAsyncStorageInstance}});let a=e.r(736244)},333860,(e,t,r)=>{"use strict";function a(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"encodeURIPath",{enumerable:!0,get:function(){return a}})},974672,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"BailoutToCSR",{enumerable:!0,get:function(){return n}});let a=e.r(637354);function n({reason:e,children:t}){if("u"<typeof window)throw Object.defineProperty(new a.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return t}},944364,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"PreloadChunks",{enumerable:!0,get:function(){return l}});let a=e.r(128182),n=e.r(748743),i=e.r(552292),s=e.r(333860),o=e.r(898701);function l({moduleIds:e}){if("u">typeof window)return null;let t=i.workAsyncStorage.getStore();if(void 0===t)return null;let r=[];if(t.reactLoadableManifest&&e){let a=t.reactLoadableManifest;for(let t of e){if(!a[t])continue;let e=a[t].files;r.push(...e)}}if(0===r.length)return null;let c=(0,o.getAssetTokenQuery)();return(0,a.jsx)(a.Fragment,{children:r.map(e=>{let r=`${t.assetPrefix}/_next/${(0,s.encodeURIPath)(e)}${c}`;return e.endsWith(".css")?(0,a.jsx)("link",{precedence:"dynamic",href:r,rel:"stylesheet",as:"style",nonce:t.nonce},e):((0,n.preload)(r,{as:"script",fetchPriority:"low",nonce:t.nonce}),null)})})}},319524,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return c}});let a=e.r(128182),n=e.r(177332),i=e.r(974672),s=e.r(944364);function o(e){return{default:e&&"default"in e?e.default:e}}let l={loader:()=>Promise.resolve(o(()=>null)),loading:null,ssr:!0},c=function(e){let t={...l,...e},r=(0,n.lazy)(()=>t.loader().then(o)),c=t.loading;function d(e){let o=c?(0,a.jsx)(c,{isLoading:!0,pastDelay:!0,error:null}):null,l=!t.ssr||!!t.loading,d=l?n.Suspense:n.Fragment,u=t.ssr?(0,a.jsxs)(a.Fragment,{children:["u"<typeof window?(0,a.jsx)(s.PreloadChunks,{moduleIds:t.modules}):null,(0,a.jsx)(r,{...e})]}):(0,a.jsx)(i.BailoutToCSR,{reason:"next/dynamic",children:(0,a.jsx)(r,{...e})});return(0,a.jsx)(d,{...l?{fallback:o}:{},children:u})}return d.displayName="LoadableComponent",d}},321269,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"default",{enumerable:!0,get:function(){return n}});let a=e.r(836437)._(e.r(319524));function n(e,t){let r={};"function"==typeof e&&(r.loader=e);let n={...r,...t};return(0,a.default)({...n,modules:n.loadableGenerated?.modules})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},35305,(e,t,r)=>{"use strict";
1t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},561227,(e,t,r)=>{"use strict";var a=e.r(35305);function n(){}function i(){}i.resetWarningCache=n,t.exports=function(){function e(e,t,r,n,i,s){if(s!==a){var o=Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw o.name="Invariant Violation",o}}function t(){return e}e.isRequired=e;var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:n};return r.PropTypes=r,r}},304153,(e,t,r)=>{e.i(531763),t.exports=e.r(561227)()},26284,e=>{"use strict";e.s(["allConferenceAppearances",0,[{title:"Agent Conf",slug:"agent-conf-2026",talkSlug:"unannounced-talk",city:"Warsaw",country:"Poland",flag:"🇵🇱",date:"2026-09-17",url:"https://www.agent.sh/",description:"Speaking at Agent Conf 2026 with a new talk to be announced",content:"",_meta:{filePath:"agent-conf-2026.md",fileName:"agent-conf-2026.md",directory:".",extension:"md",path:"agent-conf-2026"}},{title:"AI Engineer Europe",slug:"ai-engineer-europe-2026",talkSlug:"vibe-coding",city:"London",country:"UK",flag:"🇬🇧",date:"2026-04-09",url:"https://www.ai.engineer/europe/2026",description:"Closing keynote at AI Engineer Europe 2026 in London",content:"",_meta:{filePath:"ai-engineer-europe-2026.md",fileName:"ai-engineer-europe-2026.md",directory:".",extension:"md",path:"ai-engineer-europe-2026"}},{title:"AI Engineer Code Summit",slug:"ai-engineer-nyc-2025",talkSlug:"vibe-coding",city:"New York City",country:"USA",flag:"🇺🇸",date:"2025-11-19",url:"https://aiengineer.nyc",description:"Gave my talk 'From Vibe Coding to Vibe Engineering' at AI Engineer NYC 2025",content:"",_meta:{filePath:"ai-engineer-nyc-2025.md",fileName:"ai-engineer-nyc-2025.md",directory:".",extension:"md",path:"ai-engineer-nyc-2025"}},{title:"AI Engineer Paris",slug:"ai-engineer-paris-2026",talkSlug:"unannounced-talk",city:"Paris",country:"France",flag:"🇫🇷",date:"2026-09-23",url:"https://www.ai.engineer/paris/2026",description:"Speaking at AI Engineer Paris 2026 with a new talk to be announced",content:"",_meta:{filePath:"ai-engineer-paris-2026.md",fileName:"ai-engineer-paris-2026.md",directory:".",extension:"md",path:"ai-engineer-paris-2026"}},{title:"AI Engineer Singapore",slug:"ai-engineer-singapore-2026",talkSlug:"vibe-coding",city:"Singapore",country:"Singapore",flag:"🇸🇬",date:"2026-05-15",url:"https://www.ai.engineer/singapore",content:"",_meta:{filePath:"ai-engineer-singapore-2026.md",fileName:"ai-engineer-singapore-2026.md",directory:".",extension:"md",path:"ai-engineer-singapore-2026"}},{title:"CityJS Athens",slug:"cityjs-athens-2026",talkSlug:"unannounced-talk",city:"Athens",country:"Greece",flag:"🇬🇷",date:"2026-10-21",url:"https://athens.cityjsconf.org/",description:"Speaking at CityJS Athens 2026 with a new talk to be announced",content:"",_meta:{filePath:"cityjs-athens-2026.md",fileName:"cityjs-athens-2026.md",directory:".",extension:"md",path:"cityjs-athens-2026"}},{title:"CityJS London",slug:"cityjs-london-2026",talkSlug:"vibe-coding",city:"London",country:"UK",flag:"🇬🇧",date:"2026-04-17",url:"https://london.cityjsconf.org/",content:"",_meta:{filePath:"cityjs-london-2026.md",fileName:"cityjs-london-2026.md",directory:".",extension:"md",path:"cityjs-london-2026"}},{title:"Front Conference",slug:"front-conference-zurich-2026",talkSlug:"vibe-coding",city:"Zurich",country:"Switzerland",flag:"🇨🇭",date:"2026-02-27",url:"https://frontconference.com/",description:"Giving my talk 'From Vibe Coding to Vibe Engineering' at Front Conference Zurich 2026",content:"",_meta:{filePath:"front-conference-zurich-2026.md",fileName:"front-conference-zurich-2026.md",directory:".",extension:"md",path:"front-conference-zurich-2026"}},{title:"Infobip Shift",slug:"infobip-shift-2025",talkSlug:"vibe-coding",city:"Zadar",country:"Croatia",flag:"🇭🇷",date:"2025-09-15",url:"https://shift.infobip.com",content:"",_meta:{filePath:"infobip-shift-2
1025.md",fileName:"infobip-shift-2025.md",directory:".",extension:"md",path:"infobip-shift-2025"}},{title:"Infobip Shift",slug:"infobip-shift-2026",talkSlug:"unannounced-talk",city:"Zadar",country:"Croatia",flag:"🇭🇷",date:"2026-09-13",url:"https://shift.infobip.com/",description:"Speaking at Infobip Shift 2026 with a new talk to be announced",content:"",_meta:{filePath:"infobip-shift-2026.md",fileName:"infobip-shift-2026.md",directory:".",extension:"md",path:"infobip-shift-2026"}},{title:"Laracon US",slug:"laracon-us-2026",talkSlug:"vibe-coding",city:"Boston",country:"USA",flag:"🇺🇸",date:"2026-07-28",url:"https://laracon.us/",description:"Giving 'From Vibe Coding to Vibe Engineering' at Laracon US 2026",content:"",_meta:{filePath:"laracon-us-2026.md",fileName:"laracon-us-2026.md",directory:".",extension:"md",path:"laracon-us-2026"}},{title:"React Alicante",slug:"react-alicante-2025",talkSlug:"vibe-coding",city:"Alicante",country:"Spain",flag:"🇪🇸",date:"2025-09-28",url:"https://reactalicante.es",content:"",_meta:{filePath:"react-alicante-2025.md",fileName:"react-alicante-2025.md",directory:".",extension:"md",path:"react-alicante-2025"}},{title:"React Day Berlin",slug:"react-day-berlin-2025",talkSlug:"vibe-coding",city:"Berlin",country:"Germany",flag:"🇩🇪",date:"2025-12-04",url:"https://reactday.berlin",content:"",_meta:{filePath:"react-day-berlin-2025.md",fileName:"react-day-berlin-2025.md",directory:".",extension:"md",path:"react-day-berlin-2025"}},{title:"React Day Berlin",slug:"react-day-berlin-2026",talkSlug:"unannounced-talk",city:"Berlin",country:"Germany",flag:"🇩🇪",date:"2026-12-04",url:"https://reactday.berlin/",description:"Speaking at React Day Berlin 2026 with a new talk to be announced",content:"",_meta:{filePath:"react-day-berlin-2026.md",fileName:"react-day-berlin-2026.md",directory:".",extension:"md",path:"react-day-berlin-2026"}},{title:"React Native London",slug:"react-native-london-2025",talkSlug:"vibe-coding",city:"London",country:"UK",flag:"🇬🇧",date:"2025-11-15",url:"https://reactnativelondon.com",content:"",_meta:{filePath:"react-native-london-2025.md",fileName:"react-native-london-2025.md",directory:".",extension:"md",path:"react-native-london-2025"}},{title:"React Paris",slug:"react-paris-2026",talkSlug:"vibe-coding",city:"Paris",country:"France",flag:"🇫🇷",date:"2026-03-25",url:"https://react.paris",content:"",_meta:{filePath:"react-paris-2026.md",fileName:"react-paris-2026.md",directory:".",extension:"md",path:"react-paris-2026"}},{title:"React Summit",slug:"react-summit-2026",talkSlug:"vibe-coding",city:"Amsterdam",country:"Netherlands",flag:"🇳🇱",date:"2026-06-12",url:"https://reactsummit.com",content:"",_meta:{filePath:"react-summit-2026.md",fileName:"react-summit-2026.md",directory:".",extension:"md",path:"react-summit-2026"}},{title:"Vibe Conf",slug:"vibe-conf-2026",talkSlug:"vibe-coding",city:"Gdynia",country:"Poland",flag:"🇵🇱",date:"2026-04-20",url:"https://vibeconf.pl/",description:"Speaking about building software with AI at Vibe Conf in Gdynia",content:"",_meta:{filePath:"vibe-conf-2026.md",fileName:"vibe-conf-2026.md",directory:".",extension:"md",path:"vibe-conf-2026"}}]],26284)},160947,e=>{"use strict";e.s(["allTalks",0,[{title:"AI is Definitely Not Going to Take Your Job",slug:"ai-not-taking-job",description:"A satirical look at AI's impact on developer jobs, delivered with humor and real insights about how AI is changing the software industry.",links:[],recordings:{featured:{id:"JctKpN3hgnk",title:"AI is Definitely Not Going to Take Your Job",url:"https://www.youtube.com/watch?v=JctKpN3hgnk",views:97,event:"Infobip Shift",location:"Zadar, Croatia"},appearances:[]},tweets:[],createdAt:"2024-09-01T10:00:00Z",date:"2024-09-01",isCurrent:!1,sortOrder:100,metaImageUrl:"https://img.youtube.com/vi/JctKpN3hgnk/maxresdefault.jpg",content:"A satirical look at AI's impact on developer jobs, delivered with humor and real insights about how AI is changing the software industry.",_meta:{filePath:"ai-not-taking-job.md",fileName:"ai-not-taking-job.md",directory:".",extension:"md",path:"ai-not-taking-job"}},{title:"The exciting future of React",slug:"exciting-future-of-react",description:"A look at the upcoming features in React and what they mean for the future of frontend development.",links:[],recordings:{featured:{id:"x0L0RXLxi_0",title:"The exciting future of React",url:"https://www.youtube.com/watch?v=x0L0RXLxi_0",views:2233,event:"Frontend Developer Love",location:"Amsterdam, Netherlands"},appearances:[{id:"QCxkMypvC9Y",title:"The new React",url:"https://www.youtube.com/watch?v=QCxkMypvC9Y",views:350,event:"Agent Conf",location:"Dornbirn, Austria"}]},tweets:[],createdAt:"2024-12-16T10:00:00Z",date:"2019-01-01",isCurrent:!1,sortOrder:101,metaImageUrl:"https://img.youtube.com/vi/x0L0RXLxi_0/maxresdefault.jpg",content:"A look at the upcoming features in React and what they mean for the future of frontend development.",_meta:{filePath:"exciting-future-of-react.md",fileName:"exciting-future-of-react.md",directory:".",extension:"md",path:"exciting-future-of-react"}},{title:"GitHub stars won't pay your rent",slug:"gh-stars",description:"Kitze shares his journey as the founder of Sizzy, from an open-source project to a paid product. He talks about the challenges he faced, tough decisions he made, and his struggle with an existential crisis. Attendees will gain insight into the complexities of building a successful product and the importance of self-care.",links:[],recordings:{featured:{id:"e8X2Qhw4ooQ",title:"Github stars won't pay your rent",url:"https://www.youtube.com/watch?v=e8X2Qhw4ooQ",views:769,event:"React Alicante",location:"Alicante, Spain"},appearances:[{id:"-MBKGL4XPlw",title:"GitHub stars won't pay your rent",url:"https://www.youtube.com/watch?v=-MBKGL4XPlw",views:608,event:"Infobip Shift 2022",location:"Zadar, Croatia"},{id:"ZHWFv7iqPNc",title:"GitHub stars won't pay your rent",url:"https://www.youtube.com/watch?v=ZHWFv7iqPNc",views:287,event:"Kongres Next.js 2024",location:"Warsaw, Poland"}]},tweets:["https://twitter.com/danieljcafonso/status/1575753374661648384","https://twitter.com/SanchezCaDev/status/1575758592539389952","https://twitter.com/At
1ilaFassina/status/1575749270384566272","https://twitter.com/Frame2571/status/1575757050692325377","https://twitter.com/conchaasensio/status/1575757623802351617","https://twitter.com/InfobipShift/status/1571801467417141249","https://twitter.com/InfobipShift/status/1571802021904228352","https://twitter.com/flybayer/status/1571793624433823745","https://twitter.com/beaussan/status/1571803991511801856","https://twitter.com/BrozovicBruno/status/1571793896916635648","https://twitter.com/Infobip/status/1571797794767179781","https://twitter.com/Infobip/status/1571796859726827522","https://twitter.com/ricmac/status/1572877429953417219","https://twitter.com/InfobipShift/status/1572829075718258689","https://twitter.com/netokracija/status/1572178021641261056","https://twitter.com/Dominus_Kelvin/status/1572676123749937155","https://twitter.com/InfobipShift/status/1571799922835333122","https://twitter.com/danieljcafonso/status/1575746736550809602"],createdAt:"2023-02-23T12:48:16.089918+00:00",date:"2019-01-01",isCurrent:!1,sortOrder:50,metaImage:{url:"https://zekit-images.hel1.your-objectstorage.com/kitze-blog/images/talks/oQ6u6PgYQYCmS1R9XSla.jpg"},content:"Kitze shares his journey as the founder of Sizzy, from an open-source project to a paid product. He talks about the challenges he faced, tough decisions he made, and his struggle with an existential crisis. Attendees will gain insight into the complexities of building a successful product and the importance of self-care.",_meta:{filePath:"gh-stars.md",fileName:"gh-stars.md",directory:".",extension:"md",path:"gh-stars"}},{title:"Navigating the hype driven world of frontend dev without going insane",slug:"hype-driven-frontend",description:"Focus on the right things, reduce FOMO, start enjoying web development.",links:[],recordings:{featured:{id:"QZ6aC6G0ufg",title:"Navigating the Hype-Driven Frontend Development World Without Going Insane",url:"https://www.youtube.com/watch?v=QZ6aC6G0ufg",views:7248,event:"React Berlin Meetup",location:"Berlin, Germany"},appearances:[{id:"u2WtILkz0fI",title:"Navigating the Hype-Driven Frontend Development World Without Going Insane",url:"https://www.youtube.com/watch?v=u2WtILkz0fI",views:7246,event:"React Amsterdam",location:"Amsterdam, Netherlands"},{id:"_kVxXV0TQ7M",title:"Navigating the hype-driven frontend development world without going insane",url:"https://www.youtube.com/watch?v=_kVxXV0TQ7M",views:5559,event:"React Alicante",location:"Alicante, Spain"},{id:"usH0QXrbfGg",title:"Navigating the Hype Driven Frontend Development World",url:"https://www.youtube.com/watch?v=usH0QXrbfGg",views:3139,event:"React Live 2019",location:"Amsterdam, Netherlands"},{id:"E-TRB28KMMQ",title:"Navigating the hype-driven world of frontend development without going crazy",url:"https://www.youtube.com/watch?v=E-TRB28KMMQ",views:195,event:"GrUSP",location:"Italy"},{id:"2TfkvkuSTy8",title:"Navigating the hype-driven world of frontend development without going crazy",url:"https://www.youtube.com/watch?v=2TfkvkuSTy8",views:113,event:"Dev Con",location:"Romania"},{id:"R_2q5LZzF9M",title:"Navigating the hype-driven world of frontend development without going crazy",url:"https://www.youtube.com/watch?v=R_2q5LZzF9M",views:62,event:"Making Software",location:"Online"},{id:"p7Xl4AOx6UA",title:"Navigating the Hype Driven Frontend Development World Without Going Insane",url:"https://www.youtube.com/watch?v=p7Xl4AOx6UA",views:48,event:"DevBreak 2019",location:"Paris, France"}]},tweets:[],createdAt:"2020-04-11T00:36:18.058142+00:00",date:"2018-01-01",isCurrent:!1,sortOrder:50,metaImageUrl:"https://www.kitze.io/fixed-meta/hype-driven-frontend.jpg",content:"Focus on the right things, reduce FOMO, start enjoying web development.",_meta:{filePath:"hype-driven-frontend.md",fileName:"hype-driven-frontend.md",directory:".",extension:"md",path:"hype-driven-frontend"}},{title:"But, you're not Facebook",slug:"not-facebook",description:"Stop solving problems that are already solved or problems that don't exist. You don't work for Facebook.",links:[],recordings:{featured:{id:"VKiCjqO4Dpk",title:"But... You're Not Facebook",url:"https://www.youtube.com/watch?v=VKiCjqO4Dpk",views:5426,event:"Infobip Shift 2021",location:"Zadar, Croatia"},appearances:[{id:"dgZPsxAyiyE",title:"But... you're not Facebook",url:"https://www.youtube.com/watch?v=dgZPsxAyiyE",views:829,event:"DevBreak 2021",location:"Paris, France"}]},tweets:["https://twitter.com/milansusnjar_/status/1435186520785399809?s=20","https://twitter.com/schrepfler/status/1435190146303922177?s=20","https://twitter.com/anja_popoviic/status/1435346472749445123?s=20","https://twitter.com/ricardgo404/status/1435182441220673538?s=20","https://twitter.com/antonioperic/status/1435184353341059073?s=20","https://twitter.com/vblazenka/status/1435199656368148482?s=20","https://twitter.com/MrDonZea/status/1435233617626681352?s=20","https://twitter.com/blay
1hem/status/1230200780965191681","https://twitter.com/blayhem/status/1230200780965191681","https://twitter.com/obritoluis/status/1230473475216879616","https://twitter.com/robcornerstra/status/1230281391683907584","https://twitter.com/abeldotam/status/1230394352746270722","https://twitter.com/cap_b_b/status/1230454622298480642","https://twitter.com/TheMaxoor/status/1230584584611520519","https://twitter.com/jakeprins_nl/status/1230149941852545030","https://twitter.com/LeBenLeBen/status/1230103190919680005","https://twitter.com/didiercatz/status/1230137940543668225","https://twitter.com/tretton37/status/1230121143304151040","https://twitter.com/dmorosinotto/status/1230121571139932161","https://twitter.com/riccardop87/status/1230259898006548483","https://twitter.com/D3vMr/status/1230121433902256134","https://twitter.com/xPhantomNL/status/1230119882617954309","https://twitter.com/Carwack/status/1230106930426908672","https://twitter.com/ambrookhuis/status/1230131756822650880","https://twitter.com/riccardop87/status/1230277477441900547","https://twitter.com/noudadrichem/status/1230102370417348611"],createdAt:"2020-04-11T00:36:38.834155+00:00",date:"2017-01-01",isCurrent:!1,sortOrder:50,metaImageUrl:"https://www.kitze.io/fixed-meta/not-facebook.jpg",content:"Stop solving problems that are already solved or problems that don't exist. You don't work for Facebook.",_meta:{filePath:"not-facebook.md",fileName:"not-facebook.md",directory:".",extension:"md",path:"not-facebook"}},{title:"State management in a GraphQL era",slug:"state-management-graphql-era",description:"Now that GraphQL takes care of managing the data in our apps, is an external state-management library even needed?",links:[],recordings:{featured:{id:"Q54YDGC_t3Y",title:"React State Management In a GraphQL Era",url:"https://www.youtube.com/watch?v=Q54YDGC_t3Y",views:32933,event:"React Amsterdam",location:"Amsterdam, Netherlands"},appearances:[{id:"BCXne2Hb8wQ",title:"React State Management In a GraphQL Era",url:"https://www.youtube.com/watch?v=BCXne2Hb8wQ",views:3449,event:"React Berlin Meetup",location:"Berlin, Germany"},{id:"zDgHiRuIAZ4",title:"React state management in a GraphQL era",url:"https://www.youtube.com/watch?v=zDgHiRuIAZ4",views:1331,event:"Agent Conf",location:"Dornbirn, Austria"},{id:"Nu1BpnkPXxo",title:"State management in a GraphQL era",url:"https://www.youtube.com/watch?v=Nu1BpnkPXxo",views:826,event:"dotJS 2017",location:"Paris, France"},{id:"ukYQBsFoFmk",title:"React State Management In a GraphQL Era",url:"https://www.youtube.com/watch?v=ukYQBsFoFmk",views:745,event:"Frontend Con 2018",location:"Warsaw, Poland"},{id:"LskQM9M9ZYQ",title:"State management in a GraphQL era",url:"https://www.youtube.com/watch?v=LskQM9M9ZYQ",views:356,event:"Devoxx",location:"Belgium"},{id:"HM1o3s3-zUk",title:"React state management in a GraphQL era",url:"https://www.youtube.com/watch?v=HM1o3s3-zUk",views:58,event:"ReactJS Day 2017",location:"Verona, Italy"}]},tweets:[],createdAt:"2020-04-11T00:36:30.245983+00:00",date:"2016-01-01",isCurrent:!1,sortOrder:50,metaImage:{url:"https://zekit-images.hel1.your-objectstorage.com/kitze-blog/images/talks/RY6Db6AT8C0rz3KNV7VA.jpg"},content:"Now that GraphQL takes care of managing the data in our apps, is an external state-management library even needed?",_meta:{filePath:"state-management-graphql-era.md",fileName:"state-management-graphql-era.md",directory:".",extension:"md",path:"state-management-graphql-era"}},{title:"Unannounced Talk",slug:"unannounced-talk",description:"Talk details to be announced.",links:[],tweets:[],createdAt:"2026-07-17T00:00:00Z",date:"2026-09-13",isCurrent:!1,sortOrder:50,content:"Talk details to be announced.",_meta:{filePath:"unannounced-talk.md",fileName:"unannounced-talk.md",directory:".",extension:"md",path:"unannounced-talk"}},{title:"From Vibe Coding to Vibe Engineering",slug:"vibe-coding",description:"Web development has always moved in cycles of hype, from frameworks to tooling. With the rise of large language models, we're entering a new era of 'vibe coding,' where developers shape software through collaboration with AI rather than syntax. This talk explores what that means for the future of coding, especially in frontend development, and how it echoes the past while redefining what comes next.",links:[],recordings:{featured:{id:"JV-wY5pxXLo",title:"From 
1Vibe Coding To Vibe Engineering",url:"https://www.youtube.com/watch?v=JV-wY5pxXLo",views:27044,event:"AI Engineer World's Fair",location:"San Francisco, USA"},appearances:[{id:"4EX2REUXBfU",title:"Navigating the World of AI Development Without Going Insane",url:"https://www.youtube.com/watch?v=4EX2REUXBfU",views:10,event:"Infobip Shift 2024",location:"Zadar, Croatia"}]},tweets:["1992074218494963890","1991918404371132849","1991920471693234389","1991918623863250990","1991924155433078844","1991926161350492463","1991941313999372413","1991965080095989838","1974453823017271340","1974421758695674328","1974424381154853092","1974424549635826120","1835975617394638938","1974809452315320486","1835983483165884575","manual-dm-raymond","2000632781609791863","2000293796349948100","2000579156615074209","2000565314501894504","2000552106730885283","2000597705744429534","2000532868460875784","2000577036218241429","2000504042590818797","2000603212165054562","2000984835343700414","2000987146061275488","2000938349490790911","2000920085368857019","2000902252140355828","2000741416415183088","2000719375544860791","2000708396605948040","2000669712477254108","2000657654746935351","2000607759897862307","2000526760341832186","2000327038759231607","2000327300433457153","2000317504678510817","2000312598441717962","2000307314361000222","2000256525089333494","2001183534296531251","2001269449668587551"],createdAt:"2024-03-17T10:00:00Z",date:"2024-03-17",isCurrent:!0,sortOrder:50,metaImageUrl:"https://zekit-images.hel1.your-objectstorage.com/kitze-blog/images/talks/cmge1wf189wpb07unyeyhbah3.jpg",metaImage:{url:"https://zekit-images.hel1.your-objectstorage.com/kitze-blog/images/talks/cmge1wf189wpb07unyeyhbah3.jpg"},content:'Web development has always moved in cycles of hype, from frameworks to tooling. With the rise of large language models, we\'re entering a new era of "vibe coding," where developers shape software through collaboration with AI rather than syntax. This talk explores what that means for the future of coding, especially in frontend development, and how it echoes the past while redefining what comes next.',_meta:{filePath:"vibe-coding.md",fileName:"vibe-coding.md",directory:".",extension:"md",path:"vibe-coding"}}]],160947)},370328,e=>{"use strict";var t=e.i(552731);let r=t.z.url().max(2048).refine(e=>{let t=new URL(e);return"https:"===t.protocol&&!t.username&&!t.password&&t.hostname.includes(".")},"Use a public HTTPS website URL without credentials."),a=t.z.enum(["monthly","yearly"]);t.z.object({description:t.z.string().trim().min(5).max(160),email:t.z.email().max(320),imageUrl:r.nullable().optional(),interval:a.default("monthly"),name:t.z.string().trim().min(2).max(60),url:r}).strict(),t.z.object({email:t.z.email().max(320)}).strict();let n=t.z.object({description:t.z.string(),id:t.z.string(),imageUrl:t.z.string().nullable(),name:t.z.string(),sponsored:t.z.literal(!0),url:t.z.string()}).strict(),i=t.z.object({amountCents:t.z.number().int().positive(),interval:t.z.enum(["month","year"]),label:t.z.string()}).strict(),s=t.z.object({checkout:t.z.string(),plans:t.z.object({monthly:i,yearly:i}),sponsors:t.z.array(n)}).strict(),o={monthly:{amountCents:14900,interval:"month",label:"$149/month"},yearly:{amountCents:99900,interval:"year",label:"$999/year"}};e.s(["SPONSOR_PLANS",0,o,"publicSponsorsResponse",0,s,"sponsorPrice",0,function(e){return o[e].label}
1])}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.