[{"data":1,"prerenderedAt":1817},["ShallowReactive",2],{"navigation":3,"content-/writing/i-will-not-log-into-your-vibe-coded-app":1424,"related-/writing/i-will-not-log-into-your-vibe-coded-app":1629,"content-query-uoTkX1GLqV":1688},[4,7,952,1143,1412,1415,1418,1421],{"title":5,"_path":6},"About","/about",{"title":8,"_path":9,"children":10},"Videos","/videos",[11,30,123,142,194,195,225,286,389,415,437,780],{"title":12,"_path":13,"children":14},"Alive And Kicking","/videos/alive-and-kicking",[15,18,21,24,27],{"title":16,"_path":17},"The story behind Alive and kicking","/videos/alive-and-kicking/000-hhpitreyobi",{"title":19,"_path":20},"72 hours in Austin, TX","/videos/alive-and-kicking/001-mvq-_s20ndk",{"title":22,"_path":23},"Vue.js guitar karaoke: how I built it","/videos/alive-and-kicking/002-m0mrligs6i0",{"title":25,"_path":26},"Tim Benniks - A Vue into Rock & Roll part 2 - Vuejs Amsterdam 2024","/videos/alive-and-kicking/003-p3pm_0p8lz4",{"title":28,"_path":29},"Tim Benniks - Alive and Kicking. A Vue into Rock& Roll! - Vuejs Amsterdam 2023","/videos/alive-and-kicking/004-4m4tij0z20",{"title":31,"_path":32,"children":33},"Contentstack","/videos/contentstack",[34,37,40,43,46,49,52,55,58,61,64,67,70,73,76,79,82,84,87,90,93,96,99,102,105,108,111,114,117,120],{"title":35,"_path":36},"Kickstart: Getting started with Contentstack Edge and Nuxt SSR","/videos/contentstack/000-uvqdbcxlipm",{"title":38,"_path":39},"Kickstart: Getting started with Contentstack Edge and Nuxt","/videos/contentstack/001-4kx5n8crpsi",{"title":41,"_path":42},"Bootstrap a Kickstart in under one minute with the CLI","/videos/contentstack/002-yntedayvmzm",{"title":44,"_path":45},"Contentstack Edge - Platform overview","/videos/contentstack/003-2u6da719nh0",{"title":47,"_path":48},"Kickstart: Getting started with Contentstack Edge and Next SSR","/videos/contentstack/004-1o4ya8laxlo",{"title":50,"_path":51},"Kickstart: Getting started with Contentstack Edge and Next SSG","/videos/contentstack/005-bowxbuqxfji",{"title":53,"_path":54},"Kickstart:Getting started with Next Middleware","/videos/contentstack/006-w8eudhea1ja",{"title":56,"_path":57},"Kickstart: Getting started with Contentstack Edge and Next GraphQL","/videos/contentstack/007-bczlgkd64g8",{"title":59,"_path":60},"Kickstart: Getting started with Contentstack Edge and Next","/videos/contentstack/008-xdjeuqr2usa",{"title":62,"_path":63},"Command Line Magic with Arke!","/videos/contentstack/009-m_xqi2xwwmy",{"title":65,"_path":66},"Contentstack Automate Magic: Markdown pages to entries","/videos/contentstack/010-eqridz0n81q",{"title":68,"_path":69},"Cache Priming Magic!","/videos/contentstack/011-j9npo_ba2po",{"title":71,"_path":72},"Contentstack Helpers: Endpoints","/videos/contentstack/012-h2dxe06mkd8",{"title":74,"_path":75},"Data & Insights: Mapping Audiences to Personalize","/videos/contentstack/013-r5gq3u8myvm",{"title":77,"_path":78},"Data & Insights: Exploring the Audience Insights App","/videos/contentstack/014-rbbswown6s",{"title":80,"_path":81},"Data & Insights: how to add the tag","/videos/contentstack/015-vfmm-bj_juk",{"title":38,"_path":83},"/videos/contentstack/016-gninm9si1ly",{"title":85,"_path":86},"Middleware Magic: Personalize and Visual builder in a complex setup","/videos/contentstack/017-i3go_cpxwgu",{"title":88,"_path":89},"Contentstack Live Preview with your own middleware","/videos/contentstack/018-fuy908j4cse",{"title":91,"_path":92},"Live stream🔴 Just Automate It!","/videos/contentstack/019-khev1dhs-ay",{"title":94,"_path":95},"Live stream🔴 A journey into the rich text editor w/ Lo & Tim","/videos/contentstack/020-siwf0naybsk",{"title":97,"_path":98},"Contentstack Implementation guide: Next 15","/videos/contentstack/021-px0b811rz3q",{"title":100,"_path":101},"Live stream🔴 Tour de Live Preview","/videos/contentstack/022-9vyysyv67qe",{"title":103,"_path":104},"Create a new stack and fill it with content via the CLI","/videos/contentstack/023-2dqheuo7uh4",{"title":106,"_path":107},"Contentstack Live Preview under the hood","/videos/contentstack/024-_xeu7q_op9a",{"title":109,"_path":110},"Contentstack Personalization for developers","/videos/contentstack/025-5o4yhtm5qba",{"title":112,"_path":113},"Data modelling best practises for visual builders","/videos/contentstack/026-qdd9uwwjna",{"title":115,"_path":116},"Contentstack Visual Builder for developers","/videos/contentstack/027-ni3mmmbfsfm",{"title":118,"_path":119},"Learn how to set up a simple PIM with Contenstack","/videos/contentstack/028-2fbm2t9cq8s",{"title":121,"_path":122},"Live stream🔴 Multi stack content type sync using Automate","/videos/contentstack/029-bhzrts_x9yu",{"title":124,"_path":125,"children":126},"Headless Creator","/videos/headless-creator",[127,130,133,136,139],{"title":128,"_path":129},"CDOBC 5: Transitioning from DXP to DXC","/videos/headless-creator/000-m8on6zkr7q4",{"title":131,"_path":132},"CDOBC Lesson 4: The DXP Tech Stack Overview","/videos/headless-creator/001-smbq8aoa4jm",{"title":134,"_path":135},"CDOBC Lesson 3: Separation of Concerns","/videos/headless-creator/002-sx5fbtcnrsg",{"title":137,"_path":138},"CDOBC Lesson 2: Intro to DXP - The DXP Dilemma","/videos/headless-creator/003-eybdyoihn1g",{"title":140,"_path":141},"CDOBC Lesson 1: Intro to DXP: Defining Digital Experience Platform","/videos/headless-creator/004-hshm8hlopka",{"title":143,"_path":144,"children":145},"Hygraph","/videos/hygraph",[146,149,152,155,158,161,164,167,170,173,176,179,182,185,188,191],{"title":147,"_path":148},"CMS Showdown: Do you need a page builder or a data modeler?","/videos/hygraph/000-xkz1cpc5j3o",{"title":150,"_path":151},"Hygraph's perfect use case","/videos/hygraph/001-gfjk7hxlcg0",{"title":153,"_path":154},"The simplest way to connect Hygraph to NuxtJS","/videos/hygraph/002-m8qftvizsmw",{"title":156,"_path":157},"The simplest way to connect Hygraph to Astro","/videos/hygraph/003-aahu9x5wajy",{"title":159,"_path":160},"The simplest way to connect Hygraph to Next.js","/videos/hygraph/004-fksw0bfbtdo",{"title":162,"_path":163},"How to connect Commercetools and Hygraph","/videos/hygraph/005-x8tb3li6dg0",{"title":165,"_path":166},"How to add a remote REST source to Hygraph","/videos/hygraph/006-zredqavtow4",{"title":168,"_path":169},"How to add a remote GraphQL source to Hygraph","/videos/hygraph/007-aydykxckkfe",{"title":171,"_path":172},"CMS Feature ninja: set up a GraphQL where clause on any field","/videos/hygraph/008-axq-jo8hmzq",{"title":174,"_path":175},"Headless commerce with #Nuxt and #Tailwind.","/videos/hygraph/009-e9jxm4h4a48",{"title":177,"_path":178},"Creating an Enterprise News starter with Next.js and Hygraph CMS","/videos/hygraph/010-hs1imxycyqg",{"title":180,"_path":181},"Coupling for a decoupling: Best practices for building a composable architecture | Datrycs x Hygraph","/videos/hygraph/011-snhzgplvm8o",{"title":183,"_path":184},"Set up headless CMS localization in 6 mins","/videos/hygraph/012-8_ttkblpdpm",{"title":186,"_path":187},"How to use Nuxt 3 with Hygraph and GraphQL","/videos/hygraph/013-keqn1rt8fwq",{"title":189,"_path":190},"How to add any REST source to Hygraph headless CMS","/videos/hygraph/014-nphsqsol3xc",{"title":192,"_path":193},"🌶️ Hot takes ahead: let's talk industry buzzwords (MACH, Composable, DXC, DXP)","/videos/hygraph/015-exzp3okqtxk",{"title":8,"_path":9},{"title":196,"_path":197,"children":198},"Live Contentstack","/videos/live-contentstack",[199,202,205,208,211,213,215,217,219,221,223],{"title":200,"_path":201},"Small group demo: Intro to Agent OS","/videos/live-contentstack/000-wt7tiq2e70a",{"title":203,"_path":204},"Small group workshop: Visual Builder setup for any stack","/videos/live-contentstack/001-73lwjwpkbd4",{"title":206,"_path":207},"Reimagine possible with Contentstack Edge with Tim Benniks & Victor Monsch","/videos/live-contentstack/002-2j9ehfjb-0m",{"title":209,"_path":210},"Exploring the possibilities: Contentstack free accounts!","/videos/live-contentstack/003-q7gnw4px4yo",{"title":62,"_path":212},"/videos/live-contentstack/004-m_xqi2xwwmy",{"title":68,"_path":214},"/videos/live-contentstack/005-j9npo_ba2po",{"title":85,"_path":216},"/videos/live-contentstack/006-i3go_cpxwgu",{"title":91,"_path":218},"/videos/live-contentstack/007-khev1dhs-ay",{"title":94,"_path":220},"/videos/live-contentstack/008-siwf0naybsk",{"title":100,"_path":222},"/videos/live-contentstack/009-9vyysyv67qe",{"title":121,"_path":224},"/videos/live-contentstack/010-bhzrts_x9yu",{"title":226,"_path":227,"children":228},"Live Hygraph","/videos/live-hygraph",[229,232,235,238,241,244,247,250,253,256,259,262,265,268,271,274,277,280,283],{"title":230,"_path":231},"How to personalize e-commerce with Relewise and Hygraph","/videos/live-hygraph/000-3dnlyhins6w",{"title":233,"_path":234},"Adding serverside rendering to Astro with Tim Benniks & Bryan Robinson","/videos/live-hygraph/001-auqie6tox40",{"title":236,"_path":237},"Exploring the Composable Commerce Accelerator by datrycs","/videos/live-hygraph/002-nokidin2gd8",{"title":239,"_path":240},"Exploring the latest Svelte stuff while connecting Hygraph CMS w/ Scott Spence","/videos/live-hygraph/003-eydstedp-v4",{"title":242,"_path":243},"How to integrate Cloudinary with headless CMS w/ Colby Fayock","/videos/live-hygraph/004-_iah2t5g02o",{"title":245,"_path":246},"Combining WordPress with Headless CMS","/videos/live-hygraph/005-fy_w2yousbo",{"title":248,"_path":249},"Exploring localisation & translation with headless CMS","/videos/live-hygraph/006-jgx1dytflvq",{"title":251,"_path":252},"Customizing Hygraph data with external services","/videos/live-hygraph/007-ombpixxx-3e",{"title":254,"_path":255},"Exploring the Hygraph Asset Manager","/videos/live-hygraph/008-ht-scjkem9q",{"title":257,"_path":258},"Hygraph Studio Launch - Workshop: Hygraph Asset Management","/videos/live-hygraph/009-qegf6rerifw",{"title":260,"_path":261},"Hygraph Studio Launch - DevX: Performance Gains","/videos/live-hygraph/010-etie3zygone",{"title":263,"_path":264},"How to build a live-voting experience with Hygraph, Nuxt and Supabase","/videos/live-hygraph/011-phcxh2m7ozm",{"title":266,"_path":267},"Building Content Models for Devs and Editors w/ Lo & Bryan","/videos/live-hygraph/012-pzc527rz7es",{"title":269,"_path":270},"Bryan teaches Tim Next.js with GraphQL and Hygraph","/videos/live-hygraph/013-t00uxbjsdum",{"title":272,"_path":273},"Pagination with Astro and Hygraph","/videos/live-hygraph/014-o_dvlrwpebk",{"title":275,"_path":276},"How to use Rich Text in a Headless CMS","/videos/live-hygraph/015-vrrzgly1n5c",{"title":278,"_path":279},"Add multi-tenancy to a Headless CMS","/videos/live-hygraph/016-m5xamvlqh1g",{"title":281,"_path":282},"Programmatically import data into the Hygraph Headless CMS","/videos/live-hygraph/017-jc09s5zmw_k",{"title":284,"_path":285},"Building an e-commerce site with Hygraph and Astro","/videos/live-hygraph/018-aietljmxmxm",{"title":287,"_path":288,"children":289},"Live Uniform","/videos/live-uniform",[290,293,296,299,302,305,308,311,314,317,320,323,326,329,332,335,338,341,344,347,350,353,356,359,362,365,368,371,374,377,380,383,386],{"title":291,"_path":292},"Uniform Product Meetup","/videos/live-uniform/000-5qx4fmkkh_m",{"title":294,"_path":295},"Jamstack Fridays with T&T | Jamstack and beyond with Alex Shyba","/videos/live-uniform/001-zdqk9zql3za",{"title":297,"_path":298},"Product Meetup #2: Interesting usecases with Adam Lamarre","/videos/live-uniform/002-tngn1e4hefi",{"title":300,"_path":301},"Personalizing Storyblok with Uniform and Nuxt.js","/videos/live-uniform/003-vkfasdfduf8",{"title":303,"_path":304},"Page compositions in Next.js with Uniform Canvas and the Jamstack","/videos/live-uniform/004-baibxsoagdw",{"title":306,"_path":307},"A Uniform Canvas use case deep-dive","/videos/live-uniform/005-rv4wzkhjp7k",{"title":309,"_path":310},"The Modern Digital Pipeline - The future of Jamstack is composable","/videos/live-uniform/006-r2lwjmehkmo",{"title":312,"_path":313},"Composable without Compromise w/ Natalia Venditto","/videos/live-uniform/007-7-ebcqip9ec",{"title":315,"_path":316},"Unpack the Stack w/ Daniel Roe","/videos/live-uniform/008-1h0jr_vbz7m",{"title":318,"_path":319},"Composable without Compromise w/ Matt Webb","/videos/live-uniform/009-sitbljdtbjy",{"title":321,"_path":322},"Unpack the Stack w/ Colby Fayock","/videos/live-uniform/010-rbjccl9qate",{"title":324,"_path":325},"Composable without Compromise w/ Casper Rasmussen","/videos/live-uniform/011-yjc8gvarvge",{"title":327,"_path":328},"Unpack the Stack w/ Brittney Postma","/videos/live-uniform/012-6ek_bv2yrf8",{"title":330,"_path":331},"Composable without Compromise w/ Filip Rakowski","/videos/live-uniform/013-trisovjcivw",{"title":333,"_path":334},"Unpack the Stack w/ Tomek Juranek","/videos/live-uniform/014-0xsg-apdt6c",{"title":336,"_path":337},"Composable without Compromise w/ Dom Selvon","/videos/live-uniform/015-hsirsjtqgs8",{"title":339,"_path":340},"Unpack the stack with Sybren Willemot & Jonathan Bakebwa","/videos/live-uniform/016-uuhul0tpezy",{"title":342,"_path":343},"Unpack the stack: next.js app directory with Steven Tey","/videos/live-uniform/017-8ju8znzjoh4",{"title":345,"_path":346},"Unpack the stack with Elian Van Cutsem","/videos/live-uniform/018-wmacanhmrsi",{"title":348,"_path":349},"Unpack the Stack with Marc Backes","/videos/live-uniform/019-axqvbrv_xc8",{"title":351,"_path":352},"Unpack the stack with William Imoh","/videos/live-uniform/020-gmh8pm-nvl0",{"title":354,"_path":355},"Unpack the stack: Leveraging a unified UI with Mitosis in a Composable Architecture using Uniform","/videos/live-uniform/021-5r8_kiqjk6c",{"title":357,"_path":358},"Unpack the Stack w/ Lucie from Prismic","/videos/live-uniform/022-hveoqtpoimk",{"title":360,"_path":361},"Unpack the Stack: End to end testing with playright  w/ Debbie O'Brien from Microsoft","/videos/live-uniform/023-skuvyvd-njg",{"title":363,"_path":364},"Unpack the Stack w/ Harshil from Contentful","/videos/live-uniform/024-mnkxtbb3_vw",{"title":366,"_path":367},"Introducing: Mesh + Component Starter Kit with Richard and Tim","/videos/live-uniform/025-hmtwfhon2o",{"title":369,"_path":370},"Composable without Compromise w/ Jonas Ulrich","/videos/live-uniform/026-dvqvxggnp5q",{"title":372,"_path":373},"Composable without Compromise: Team Diversity for success with Jasmin Guthmann","/videos/live-uniform/027-vfeieragxac",{"title":375,"_path":376},"Ultimate makeover. Make an existing Sitecore solution modern and composable","/videos/live-uniform/028-ekut1koa2n8",{"title":378,"_path":379},"How the RFP process has improved with composable architectures","/videos/live-uniform/029-opklvtnkncs",{"title":381,"_path":382},"Composable CMS evaluation:  Delivery APIs and CDNs","/videos/live-uniform/030-m-kkuomzg88",{"title":384,"_path":385},"What legacy? Migration tactics for monolith to composable","/videos/live-uniform/031-jvgiaotcerq",{"title":387,"_path":388},"Composable CMS evaluation: SDK frameworks","/videos/live-uniform/032-isxyi-5do5o",{"title":390,"_path":391,"children":392},"Misc Streams","/videos/misc-streams",[393,396,399,402,405,407,409,412],{"title":394,"_path":395},"The Dare Dialogues - S01E06: PR Married with DevRel","/videos/misc-streams/000-uq4ufq0ypt4",{"title":397,"_path":398},"The Dare Dialogues - S01E03: Making Waves","/videos/misc-streams/001-1tjmq5b0fmc",{"title":400,"_path":401},"The Dare Dialogues - S01E02: Mount Stupid","/videos/misc-streams/002-tvpdzpl2pvm",{"title":403,"_path":404},"Customer Story: How to Create AI Videos for B2B Content Marketing","/videos/misc-streams/003-rjjyhwso1gg",{"title":384,"_path":406},"/videos/misc-streams/004-jvgiaotcerq",{"title":375,"_path":408},"/videos/misc-streams/005-ekut1koa2n8",{"title":410,"_path":411},"Tim Tries: TresJS with Alvaro Sabu","/videos/misc-streams/006-d8ahncxgryg",{"title":413,"_path":414},"Keyboard Madness with Janos Kehl and Konstantin Bifert","/videos/misc-streams/007-umfrj32jle0",{"title":416,"_path":417,"children":418},"Mp","/videos/mp",[419,422,425,428,431,434],{"title":420,"_path":421},"Vue.js Amsterdam 2024","/videos/mp/000-ubgzoawmqlw",{"title":423,"_path":424},"Vue.js Amsterdam Vlog 2023","/videos/mp/001-zx6_fi0sdmy",{"title":426,"_path":427},"JSWorld Conference 2023 Vlog","/videos/mp/002-d4rai10p9m4",{"title":429,"_path":430},"Vlog - Vue.js Amsterdam 2022 conference vibes and interviews","/videos/mp/003-tmf2wzntooa",{"title":432,"_path":433},"JSWorld Conference 2022 - Vlog","/videos/mp/004-xhbwuk0qlue",{"title":435,"_path":436},"Vue.js Roadtrip Barcelona - Vlog","/videos/mp/005-2e_kk9mqrwm",{"title":438,"_path":439,"children":440},"Tim","/videos/tim",[441,444,447,450,453,456,458,461,464,467,470,473,476,479,482,485,488,491,494,497,500,503,506,508,510,513,516,519,522,525,528,531,534,537,540,543,546,549,552,555,558,561,564,567,570,573,576,579,582,585,588,591,594,597,600,603,606,609,612,615,618,621,624,627,630,633,636,639,642,645,648,651,654,657,660,663,666,669,672,675,678,681,684,687,690,693,696,699,702,705,708,711,714,717,720,723,726,729,732,735,738,741,744,747,750,753,756,759,762,765,768,771,774,777],{"title":442,"_path":443},"Tim Benniks - Automate all the things. AI, Nuxt, Countentstack, Clouidinary, and more.","/videos/tim/000-7nhbd9ankqg",{"title":445,"_path":446},"Transforming DevRel with AI: Doorbell DevRel Explained","/videos/tim/000-svuvhp4t0xq",{"title":448,"_path":449},"Traditional Developer Relations died in 2024","/videos/tim/001-wup0w-bqrr0",{"title":451,"_path":452},"The rant-to-blogpost pipeline with AI","/videos/tim/002-ualpjk4ousa",{"title":454,"_path":455},"The fastest site I ever built","/videos/tim/003-f6wjicjsjo0",{"title":19,"_path":457},"/videos/tim/004-mvq-_s20ndk",{"title":459,"_path":460},"The Jake Ward Interview. The power of developer advocacy with Data Protocol","/videos/tim/005-vex0ktitib4",{"title":462,"_path":463},"How to do Developer Relations in 2024","/videos/tim/006-196iqp-lhlw",{"title":465,"_path":466},"Cloudinary's hidden magic: AI image manipulation in the URL","/videos/tim/007-yutf3yvsdco",{"title":468,"_path":469},"HeyGen AI: Transform Your Sales Productivity with Personalized Video Outreach","/videos/tim/008-iip2anhietg",{"title":471,"_path":472},"How To Make The Best AI Avatar With Heygen","/videos/tim/009-_wrtdvv37y0",{"title":474,"_path":475},"How to tell if you're becoming a senior dev","/videos/tim/010-j7jsa49zqja",{"title":477,"_path":478},"Hygraph Content Federation FTW","/videos/tim/011-ed1tipzxzr8",{"title":480,"_path":481},"Tim Tries caisy CMS: the best CMS for agencies?","/videos/tim/012-3tbdmf1pwe",{"title":483,"_path":484},"The best Nuxt 3 GraphQL setup","/videos/tim/013-q282biqyj6a",{"title":486,"_path":487},"Browser Client Hints are awesome!","/videos/tim/014-h3rlwn27ga8",{"title":489,"_path":490},"This is Headless 2.0","/videos/tim/015-ergktbs0woe",{"title":492,"_path":493},"Nuxt 3: Learn about Pinia setup and basics","/videos/tim/016-zscc8-0-dis",{"title":495,"_path":496},"I cloned myself with AI to create more content","/videos/tim/017-zn2zxyvw4hy",{"title":498,"_path":499},"Vue.js Live London 2023 Vlog","/videos/tim/018-dyq17r5c9-s",{"title":501,"_path":502},"AI audio for content creators","/videos/tim/019-oq050_ytylk",{"title":504,"_path":505},"I joined the Supasquad ambassadors program at Supabase!","/videos/tim/020-rwrzovc5oc4",{"title":22,"_path":507},"/videos/tim/021-m0mrligs6i0",{"title":16,"_path":509},"/videos/tim/022-hhpitreyobi",{"title":511,"_path":512},"I fell back in love with Sitecore","/videos/tim/023-e64eyulaomk",{"title":514,"_path":515},"JamstackConf talk: DXC, the modern tech stack","/videos/tim/024-xetyke98mp0",{"title":517,"_path":518},"Turbo Tutorial | Vue 3: Learn how to make a composable","/videos/tim/025-0xo0bnzquf4",{"title":520,"_path":521},"Turbo Tutorial | Nuxt 3: How to add client only components","/videos/tim/026-cwkjy7raony",{"title":523,"_path":524},"Turbo Tutorial | Nuxt 3: Query from an internal Nuxt API route","/videos/tim/027-lsf2rhzsykg",{"title":526,"_path":527},"Turbo Tutorial | Nuxt 3: How to use Vue components in Nuxt Content v2","/videos/tim/028-mg0fevwnue0",{"title":529,"_path":530},"Turbo Tutorial | Learn about responsive image basics","/videos/tim/029-npse6yqqzki",{"title":532,"_path":533},"Turbo Tutorial | Nuxt 3: Head management","/videos/tim/030-rh6hjo9xk-o",{"title":535,"_path":536},"Turbo Tutorial | Nuxt 3: schema org","/videos/tim/031-rth3oikjp2k",{"title":538,"_path":539},"Turbo Tutorial | Nuxt 3: Query from an external API + read more","/videos/tim/032-zad7s01lfic",{"title":541,"_path":542},"Turbo Tutorial | Nuxt 3: Learn about hybrid rendering","/videos/tim/033-5i1zqfu6xtw",{"title":544,"_path":545},"Turbo Tutorial | Nuxt 3: Pick & Transform","/videos/tim/034-d33ynlhvhxm",{"title":547,"_path":548},"Tim Tries Medusajs the open source Shopify alternative","/videos/tim/035-c1jduhsh1ae",{"title":550,"_path":551},"How I film videos in my new studio. A content creator's dream.","/videos/tim/036-8z1npig-ya",{"title":553,"_path":554},"The State of Vue in 2022 with Monterail's Szymon Licau","/videos/tim/037-8wxdfixxktw",{"title":556,"_path":557},"Tim Tries Nuxt 3 & Algolia with Jakub Andrzejewski","/videos/tim/038-yzh1l740tno",{"title":559,"_path":560},"How to buy gear for content creation in 2022","/videos/tim/039-mdzkgc1pgbc",{"title":562,"_path":563},"I built my own YouTube studio 2022","/videos/tim/040-dli7uzzddx8",{"title":565,"_path":566},"Cable management for Nuxt 3","/videos/tim/041-ry60wvg0fzq",{"title":568,"_path":569},"My top 5 favourite Nuxt 3 features","/videos/tim/042-ek-hhozlfvg",{"title":571,"_path":572},"Vlog: DevBreak21 what an amazing conference experience!","/videos/tim/043-kn5u4ahcs_0",{"title":574,"_path":575},"Make your website even faster with Astro!","/videos/tim/044-o8m4cs3o4ii",{"title":577,"_path":578},"Vlog: I'm building my own studio!","/videos/tim/045-xba15vr-kfy",{"title":580,"_path":581},"Nuxt vs Next: the battle of the Images","/videos/tim/046-lpk392g10ou",{"title":583,"_path":584},"The Ultimate Guide to Responsive Images","/videos/tim/047-uxjgt2_mf90",{"title":586,"_path":587},"Tim Tries: Storyblok. One of the best headless content editing experiences","/videos/tim/048-d0ra_m3jlsy",{"title":589,"_path":590},"Tim Tries: Algolia Crawler Plugin for Netlify","/videos/tim/049-7jk6nyalhuc",{"title":592,"_path":593},"Apple M1 with Tailwind JIT and Vite is faster than my brain","/videos/tim/050-su22r2w3wea",{"title":595,"_path":596},"Unboxing the new M1 Mac Mini for Video editing and programming.","/videos/tim/051-6ub_k4uvz20",{"title":598,"_path":599},"Core Web Vitals explained with Ishan Anand | e01","/videos/tim/052-ec7pvgy8xsq",{"title":601,"_path":602},"DevRel Roundtable episode 2: Debbie O'brien and Lucie Haberer","/videos/tim/053-lsxu_q-8rrc",{"title":604,"_path":605},"The Modern DXP: How JAMstack will change the world","/videos/tim/054-yezaod1sddg",{"title":607,"_path":608},"Nuxt in depth: make your website faster by removing google analytics. Still get metrics!","/videos/tim/055-dv5mlxbrti8",{"title":610,"_path":611},"I have a new job at a Silicon Valley Startup!","/videos/tim/056-hcthe5pwhvm",{"title":613,"_path":614},"An Interview with Ishan Anand (CTO) and Mark Brocado (VP of Engineering) from Moovweb","/videos/tim/057-zd7qkgd8ix8",{"title":616,"_path":617},"2020 The best year of my career","/videos/tim/058-bhffzm6n3tw",{"title":619,"_path":620},"How to build your online persona","/videos/tim/059-s1od1u-itka",{"title":622,"_path":623},"How to record yourself guide","/videos/tim/060-rm_bameopiy",{"title":625,"_path":626},"Interview with Alex Shyba co-founder of Uniform","/videos/tim/061-db5jjbwg-zm",{"title":628,"_path":629},"How to reduce bundle sizes in Nuxt","/videos/tim/062-iykkwy8k2d4",{"title":631,"_path":632},"Interview with Evan You","/videos/tim/063-nr_aohhgl3s",{"title":634,"_path":635},"Easy dynamic routes in your Nuxt sitemap","/videos/tim/064-oxjhew-10aq",{"title":637,"_path":638},"Webpack 5 module federation and more","/videos/tim/065-zxz9mojtwh8",{"title":640,"_path":641},"DevRel Roundtable episode 1: Tessa Mero and Domitrius Clark","/videos/tim/066-xiz2p0zlbd8",{"title":643,"_path":644},"Magical combination to build a modern website","/videos/tim/067-v5aobiirud4",{"title":646,"_path":647},"Hi! 👋 I'm Tim and I'm a content creator!","/videos/tim/068-jtghl7ggoas",{"title":649,"_path":650},"Tim Tries: Chakra UI with Jonathan Bakebwa","/videos/tim/069-96xypbh-hyo",{"title":652,"_path":653},"Tim Tries: TailwindCSS with Alexander Lichter","/videos/tim/070-0vdfegtjdcg",{"title":655,"_path":656},"Tim's Vlog: How to be a successful leader","/videos/tim/071-mcyeoin1s48",{"title":658,"_path":659},"Vue.js Global talk: Introducing Vite & Vitepress","/videos/tim/072-gojckw5ih7e",{"title":661,"_path":662},"A developers guide to low carbon websites","/videos/tim/073-ewlegish6dw",{"title":664,"_path":665},"Tim's vlog: Career advice for developers","/videos/tim/074-auzzgmyn0z4",{"title":667,"_path":668},"Tim Tries: Figma, Zeplin and Storybook. Mind is blown...","/videos/tim/075-zuht0g3zpyw",{"title":670,"_path":671},"Vue.js Global Conference: An interview with Anthony Gore","/videos/tim/076-madbxcbsvqo",{"title":673,"_path":674},"Vue.js Global Conference: An interview with Eduardo San Martin Morote","/videos/tim/077-uufbfcipaly",{"title":676,"_path":677},"Webpack tutorial: Create a config from scratch","/videos/tim/078-fyuvqruzevy",{"title":679,"_path":680},"Vue.js Global conference: An interview with Gift Egwuenu","/videos/tim/079-tlbstgzcyyy",{"title":682,"_path":683},"Vue.js Global conference: An interview with Filip Rakowski","/videos/tim/080-brmxytpulm4",{"title":685,"_path":686},"Vue.js Global conference: An interview with Debbie O'Brien","/videos/tim/081-ibkgryfpuds",{"title":688,"_path":689},"Vue.js Global conference: An interview with Maria Lamardo","/videos/tim/082-2mfsb5ulhks",{"title":691,"_path":692},"Azure functions revisited for v3. Conclusion: AWESOME","/videos/tim/083-d0jk7hyu1ai",{"title":694,"_path":695},"Tutorial: How to build a Gridsome Source Plugin","/videos/tim/084-v50mhzzffaa",{"title":697,"_path":698},"My audio setup 2020","/videos/tim/085-pu8f59x14-y",{"title":700,"_path":701},"Tim Tries: Azure Static Web Apps","/videos/tim/086-a54ifas8rts",{"title":703,"_path":704},"Tutorial: Vue 3 composition API and Vite to recreate TikTok","/videos/tim/087-ggaoxqtc7ke",{"title":706,"_path":707},"Tim Tries: Slice Machine by Nuxt and Prismic","/videos/tim/088-bpjjxxqycdi",{"title":709,"_path":710},"An Interview with Scott Tolinski from Level up Tutorials","/videos/tim/089-zpq_gqmit5y",{"title":712,"_path":713},"Lazy Loading Images with Prismic and Vue.js","/videos/tim/090-5jaypm6gx1o",{"title":715,"_path":716},"An Interview with Jen Looper from Microsoft","/videos/tim/091-cf5_pit-ai",{"title":718,"_path":719},"JAMstack with Prismic and Gridsome. Score 100% on Google Page speed!","/videos/tim/092-tqr2eo7tivc",{"title":721,"_path":722},"An interview with Debbie O'brien from Nuxtjs","/videos/tim/093-aw4nl6hgjb0",{"title":724,"_path":725},"Quarantine licks #2 - Folksy Tunes","/videos/tim/094-gxwrzna4udq",{"title":727,"_path":728},"COVID-19 Work from home: how to make your webcam look good","/videos/tim/095-xit7qtmcmik",{"title":730,"_path":731},"Weight loss with Serveless architecture and the JAMstack","/videos/tim/096-bebr8ev2no8",{"title":733,"_path":734},"Quarantine Licks #1 - Acoustic Blues","/videos/tim/097-wlqlclwjorc",{"title":736,"_path":737},"An interview with Tim Benniks from Valtech","/videos/tim/098-zzrqozpc068",{"title":739,"_path":740},"HTTP/2 performance: you still need a bundler!","/videos/tim/099-f5f7n2kc7hq",{"title":742,"_path":743},"An Interview with Una Verhoeven Global Sitecore Architect at Valtech","/videos/tim/100-nw0y6dkx1ku",{"title":745,"_path":746},"An interview with Filip Rakowski from Vue Storefront","/videos/tim/101-vqjp5qfiolg",{"title":748,"_path":749},"[Livestream] Team First - How to lead a team to success in a high pressure environment","/videos/tim/102-ltm7wz0q564",{"title":751,"_path":752},"An interview With Natalia Tepluhina from Gitlab and the Vue.js core team","/videos/tim/103-u5s4dqqlt1o",{"title":754,"_path":755},"Vue.js Amsterdam recap and exciting announcements!","/videos/tim/104-boby5h-r1hc",{"title":757,"_path":758},"An interview with Anastasiya Flynn from Sitecore JSS","/videos/tim/105-pwqvqnnopiy",{"title":760,"_path":761},"An interview with Eduardo from the Vue.js core team","/videos/tim/106-lkiomruiaae",{"title":763,"_path":764},"Webpack basics and core concepts","/videos/tim/107-azqrjdqa_d8",{"title":766,"_path":767},"5 tips to become a better web developer.","/videos/tim/108-wexof1tfi04",{"title":769,"_path":770},"An interview with Maya Shavin: When you have the force, nothing is impossible!","/videos/tim/109-h7qmarrblw8",{"title":772,"_path":773},"Code faster and make less mistakes","/videos/tim/110-liek4kwnsbq",{"title":775,"_path":776},"An Introduction to my YouTube Channel","/videos/tim/111-shtbmwkzwpi",{"title":778,"_path":779},"How to make your webcam look great!","/videos/tim/112-vcf1xfoegwm",{"title":781,"_path":782,"children":783},"Uniform","/videos/uniform",[784,787,790,793,796,799,802,805,808,811,814,817,820,823,826,829,832,835,838,841,844,847,850,853,856,859,862,865,868,871,874,877,880,883,886,889,892,895,898,901,904,907,910,913,916,919,922,925,928,931,934,937,940,943,946,949],{"title":785,"_path":786},"Uniform DXCP: composability with Headless 2.0","/videos/uniform/000-sf8tcv5t9pa",{"title":788,"_path":789},"Uniform Canvas: Dynamic Pages","/videos/uniform/001-vkjwiqlm6_w",{"title":791,"_path":792},"Uniform Canvas: Redirect management","/videos/uniform/002-ndrabg4x6ya",{"title":794,"_path":795},"Uniform Dynamic Pages and Redirects","/videos/uniform/003-hcjlhnrjzpo",{"title":797,"_path":798},"Uniform introduces Component Starter Kit, Mesh updates, and Edgehancers","/videos/uniform/004-qh_ekk7cfzw",{"title":800,"_path":801},"Uniform Canvas: loops","/videos/uniform/005-ffwvyuyzewu",{"title":803,"_path":804},"Uniform Canvas: data types","/videos/uniform/006-zbi8h6-fp5c",{"title":806,"_path":807},"Uniform Canvas: component patterns","/videos/uniform/007-mczgzargim8",{"title":809,"_path":810},"CityJS conference talk: How to sniff out the glue code monster","/videos/uniform/008-rarbrmxkh5i",{"title":812,"_path":813},"Setting up Canvas","/videos/uniform/009-3uyyxncppd8",{"title":815,"_path":816},"Setting up Project map","/videos/uniform/010-krctdwmf9fg",{"title":818,"_path":819},"Getting started with Uniform DXCP - The why and the how","/videos/uniform/011-j0zqlcmtseq",{"title":821,"_path":822},"Work in new ways by integrating Algolia with Uniform’s visual editor","/videos/uniform/012-aoaqo3tlzpw",{"title":824,"_path":825},"Getting Started with Uniform and Algolia","/videos/uniform/013-lfkshonh3oc",{"title":827,"_path":828},"Creating with Canvas by Richard Bausek and Tim Benniks","/videos/uniform/014-t3avobqvwps",{"title":830,"_path":831},"Uniform + Algolia = A Magical Combination","/videos/uniform/015-z_41xoh9w1w",{"title":833,"_path":834},"Uniform and Cloudinary play very well together!","/videos/uniform/016-oqqj-tu-urc",{"title":836,"_path":837},"Nuxt 3 with Content v2 and Uniform is magic","/videos/uniform/017-sy9xkqrxzk8",{"title":839,"_path":840},"Uniform CLI: how to manage your compositions","/videos/uniform/018-e-9ylltykzk",{"title":842,"_path":843},"Up and running with Uniform & Nuxt 3 in three mins!","/videos/uniform/019-hkcxn_r0m54",{"title":845,"_path":846},"Setting up live preview with Uniform and Nuxt 3","/videos/uniform/020-u41omxoadtq",{"title":848,"_path":849},"Uniform MACHathon 2022 - Rage against MACHine's project demo","/videos/uniform/021-h-l_nj5aojs",{"title":851,"_path":852},"MACHathon 2022 entry Rage Against the MACHine","/videos/uniform/022-w4ppzyucowm",{"title":854,"_path":855},"Clearbit + Uniform Context = Super-powered personalization","/videos/uniform/023-ib6dglgf7uc",{"title":857,"_path":858},"The Uniform Content Editing Workflow","/videos/uniform/024-4xykmrzo8ha",{"title":860,"_path":861},"The future of the Jamstack is composable","/videos/uniform/025-4tuixex-iwk",{"title":863,"_path":864},"Progressing through Environments with Uniform","/videos/uniform/026-9q_1wzx_kju",{"title":866,"_path":867},"Uniform Product Meetup: Personalizing content based on user location","/videos/uniform/027-myj-ild_rxk",{"title":869,"_path":870},"Agile Digital Delivery for startups - build a composable DXP for free in ten minutes!","/videos/uniform/028-jdl4a64klrg",{"title":872,"_path":873},"Jamstack Fridays with T&T: Personalization with Uniform Canvas","/videos/uniform/029-fevaivas-ye",{"title":875,"_path":876},"Build a complete commerce storefront with BigCommerce, Tailwind UI and Uniform","/videos/uniform/030-_8gh9oycsus",{"title":878,"_path":879},"New features for Contentful in Uniform Canvas","/videos/uniform/031-vvlwwonsqe8",{"title":881,"_path":882},"Take your BigCommerce store to the next level with faster time to market and personalization","/videos/uniform/032-evmwlfhv8wc",{"title":884,"_path":885},"Uniform Tutorial Series #4: How Personalization Flows in Jamstack","/videos/uniform/033-jjwwwr9uixo",{"title":887,"_path":888},"Uniform Tutorial Series #3: Defining Intents","/videos/uniform/034-gwbkr9ut5-w",{"title":890,"_path":891},"Uniform Tutorial Series #2: Intents & Signals","/videos/uniform/035-0gp_yf4fvo8",{"title":893,"_path":894},"Uniform Tutorial Series #1: Personalization Basics","/videos/uniform/036-_tkrrqdsolk",{"title":896,"_path":897},"Uniform Platform for business users","/videos/uniform/037-pt1p8ixie-k",{"title":899,"_path":900},"Uniform Platform for Developers","/videos/uniform/038-jul6h-3wrnq",{"title":902,"_path":903},"Why is Jamstack so important for the future of DXP","/videos/uniform/039-pdekgezhffi",{"title":905,"_path":906},"The problem of modern DXP (and the solution)","/videos/uniform/040-iaabbjfiiro",{"title":908,"_path":909},"True composability in the modern DXP","/videos/uniform/041-fo9cop0znt0",{"title":911,"_path":912},"Astro FTW! Vue and React can work together in the same app","/videos/uniform/042-surxtza2sa0",{"title":914,"_path":915},"Uniform Personalization Basics for MACHathon contenders","/videos/uniform/043-wontid8zkf0",{"title":917,"_path":918},"Product Meetup: Uniform for Sitecore 5 is out!","/videos/uniform/044-itk9sgw0n7u",{"title":920,"_path":921},"Personalize Jamstack websites with Uniform for Kentico Kontent","/videos/uniform/045-hdupegqtjrm",{"title":923,"_path":924},"Jamstack Fridays with T&T: Next auth and Firebase","/videos/uniform/046-6jkekhxmmaq",{"title":926,"_path":927},"Jamstack Friday with T&T: Netlify Forms & Google sheets with Next.js","/videos/uniform/047-h3y_jnbtrom",{"title":929,"_path":930},"Jamstack Friday news: Featurepeek is fire!","/videos/uniform/048-xr8eo9g6bps",{"title":932,"_path":933},"How to personalize a Next.js site with Contentstack and Uniform in 10 minutes","/videos/uniform/049-4eepxpo9iqc",{"title":935,"_path":936},"Jamstack Friday news: The latest NextJS release is awesome!","/videos/uniform/050-fdounapttfy",{"title":938,"_path":939},"A comprehensive view on personalization with Lars Petersen","/videos/uniform/051-gsey28saqac",{"title":941,"_path":942},"Jamstack Fridays with T&T | Two buddies discuss performance and personalization","/videos/uniform/052-r2ygbt1to4s",{"title":944,"_path":945},"Jamstack Fridays with T&T: Braking Jamstack architecture cliches","/videos/uniform/053-9m73vicako4",{"title":947,"_path":948},"Jamstack personalization with Contentstack and Uniform","/videos/uniform/054-d41ch2lnxtq",{"title":950,"_path":951},"Jamstack Fridays with T&T | Questions we get from clients: Gatsby vs Next.js","/videos/uniform/055-eohudn8apm4",{"title":953,"_path":954,"children":955},"Writing","/writing",[956,959,962,965,968,971,974,977,980,983,986,989,992,995,998,1001,1004,1007,1010,1013,1016,1019,1020,1023,1026,1029,1032,1035,1038,1041,1044,1047,1050,1053,1056,1059,1062,1065,1068,1071,1074,1077,1080,1083,1086,1089,1092,1095,1098,1101,1104,1107,1110,1113,1116,1119,1122,1125,1128,1131,1134,1137,1140],{"title":957,"_path":958},"AI chat interfaces will replace web apps","/writing/ai-chat-interfaces-will-replace-web-apps",{"title":960,"_path":961},"Plot twist! AI made developers more valuable.","/writing/ai-is-not-replacing-developers-it-is-exposing-everyone-else",{"title":963,"_path":964},"AI integrations expose platforms without headless DNA","/writing/ai-native-composability-needs-real-api-first-dna",{"title":966,"_path":967},"Build context-aware MCPs, not API wrappers","/writing/build-context-aware-mcp-not-api-wrappers",{"title":969,"_path":970},"Choosing the right visual editor for your website Platform-First vs. Code-First","/writing/choosing-the-right-visual-editor",{"title":972,"_path":973},"Code is craft now, not labor","/writing/code-is-craft-now-not-labor",{"title":975,"_path":976},"I'm cosplaying as a Product Manager, and I think I'm onto something","/writing/cosplaying-as-a-product-manager-and-i-think-im-onto-something",{"title":978,"_path":979},"Create a performant YouTube embed with a native web component","/writing/create-a-performant-youtube-embed-with-a-native-web-component",{"title":981,"_path":982},"Creating a custom video player in Vue.js","/writing/creating-a-custom-video-player-in-vue",{"title":984,"_path":985},"Cursor, rules, and my vibe engineer workflow","/writing/cursor-rules-and-my-vibe-engineer-workflow",{"title":987,"_path":988},"The DevRel Operating System","/writing/devrel-os",{"title":990,"_path":991},"DevRel success metrics that actually matter","/writing/devrel-success-metrics-that-actually-matter",{"title":993,"_path":994},"The different approaches to visual editing in headless CMS","/writing/different-approaches-to-visual-editing",{"title":996,"_path":997},"Digital experience platforms the old versus the new","/writing/digital-experience-platforms-the-old-versus-the-new",{"title":999,"_path":1000},"Do we still need SDKs in the age of AI agents?","/writing/do-we-still-need-sdks-in-the-age-of-ai-agents",{"title":1002,"_path":1003},"Fast, personalized pages with Vercel Edge Middleware and Uniform","/writing/fast-personalized-pages-with-vercel-edge-middleware-and-uniform",{"title":1005,"_path":1006},"How I supercharched my website's speed","/writing/how-i-supercharched-my-websites-speed",{"title":1008,"_path":1009},"How to dynamically stream video","/writing/how-to-dynamically-stream-video",{"title":1011,"_path":1012},"How to get your webcam to look decent in a few simple steps","/writing/how-to-get-your-webcam-to-look-decent-in-a-few-simple-steps",{"title":1014,"_path":1015},"How to sniff out the Glue Monster","/writing/how-to-sniff-out-the-glue-monster",{"title":1017,"_path":1018},"I will not log into your vibe coded app","/writing/i-will-not-log-into-your-vibe-coded-app",{"title":953,"_path":954},{"title":1021,"_path":1022},"It's time to think of LLMs as having abilities, not protocols","/writing/its-time-to-think-of-llms-as-having-abilities-not-protocols",{"title":1024,"_path":1025},"Level up your collaboration game Developer insights for winning with marketing pros","/writing/level-up-your-collaboration-game-developer-insights-for-winning-with-marketing-pro",{"title":1027,"_path":1028},"MACH versus monolithic suites","/writing/mach-versus-monolithic-suites",{"title":1030,"_path":1031},"Make the Web Greener, Luxury Edition","/writing/make-the-web-greener-luxury-edition",{"title":1033,"_path":1034},"MCP fragmentation, context efficiency, and the rise of curated skills","/writing/mcp-fragmentation-context-efficiency-and-the-rise-of-curated-skills",{"title":1036,"_path":1037},"Most CMS migrations fail before the first record moves","/writing/most-cms-migrations-fail-before-the-first-record-moves",{"title":1039,"_path":1040},"My Fitness Story","/writing/my-fitness-story",{"title":1042,"_path":1043},"New job alert - Hygraph 2023","/writing/new-job-alert",{"title":1045,"_path":1046},"Codex built a skill with custom CLI for itself. Is MCP even a thing anymore?","/writing/openai-codex-built-a-skill-for-itself-is-mcp-even-a-thing-anymore",{"title":1048,"_path":1049},"CMS Showdown do you need a page builder or a data modeler?","/writing/page-builder-cms-vs-data-modeler-cms",{"title":1051,"_path":1052},"SDKs are everywhere. But should you use them?","/writing/sdks-use-them-or-not",{"title":1054,"_path":1055},"TDD finally makes sense","/writing/tdd-finally-makes-sense",{"title":1057,"_path":1058},"Your team is the key to success when going headless","/writing/team-is-key-when-going-headless",{"title":1060,"_path":1061},"The 2015 Paris marathon","/writing/the-2015-paris-maratho",{"title":1063,"_path":1064},"The Age of the \"Super-T\" Product Person","/writing/the-age-of-the-super-t-product-person",{"title":1066,"_path":1067},"Intuition and the real cost of research","/writing/the-best-product-decisions-were-never-analytical",{"title":1069,"_path":1070},"The content Graph is the future","/writing/the-content-graph-is-the-future",{"title":1072,"_path":1073},"The Experience Factory why experience is the real flagship","/writing/the-experience-factory-01-why-experience-is-the-real-flagship",{"title":1075,"_path":1076},"The Future of CMS. It's dying.","/writing/the-future-of-cms-from-content-management-to-context-management",{"title":1078,"_path":1079},"The future of headless CMS Content Federation with GraphQL","/writing/the-future-of-headless-cms-content-federation-with-graphql",{"title":1081,"_path":1082},"The future of jamstack is composable","/writing/the-future-of-jamstack-is-composable",{"title":1084,"_path":1085},"The future of managing projects at agencies","/writing/the-future-of-managing-projects-at-agencie",{"title":1087,"_path":1088},"The future of software is bespoke","/writing/the-future-of-software-is-bespoke",{"title":1090,"_path":1091},"The lost promise of headless","/writing/the-lost-promise-of-headless",{"title":1093,"_path":1094},"The MACH monolith","/writing/the-mach-monolith",{"title":1096,"_path":1097},"The MACH monolith in 2026","/writing/the-mach-monolith-in-2026",{"title":1099,"_path":1100},"The move from monolithic to composable architectures","/writing/the-move-from-monolithic-to-composable-architectures",{"title":1102,"_path":1103},"The nuanced impact of AI we should not overlook","/writing/the-nuanced-impact-of-ai-we-should-not-overlook",{"title":1105,"_path":1106},"The pragmatic guide to coding with AI agents","/writing/the-pragmatic-guide-to-coding-with-ai-agents",{"title":1108,"_path":1109},"The real deal about content management buzzwords","/writing/the-real-deal-about-content-management-buzzword",{"title":1111,"_path":1112},"This is headless 2.0","/writing/this-is-headless-20",{"title":1114,"_path":1115},"Uniform DXCP the what, why, and how","/writing/uniform-dxcp-the-what-why-and-how",{"title":1117,"_path":1118},"Uniform is Nuxt 3 ready","/writing/uniform-is-nuxt-3-read",{"title":1120,"_path":1121},"Universal CMS the wheel we're reinventing","/writing/universal-cms-the-wheel-we-are-reinventing",{"title":1123,"_path":1124},"Want to be better at vibe coding? Become a better coder","/writing/want-to-be-better-at-vibe-coding-become-a-better-coder",{"title":1126,"_path":1127},"We have collectively forgotten what monoliths are","/writing/we-have-collectively-forgotten-what-monoliths-are",{"title":1129,"_path":1130},"We moved the difficulty. We didn't make it disappear.","/writing/we-moved-the-difficulty",{"title":1132,"_path":1133},"What type of content organization do you need?","/writing/what-type-of-content-organization-do-you-need",{"title":1135,"_path":1136},"When Output Is Cheap, Taste Is Everything","/writing/when-output-is-cheap-taste-is-everything",{"title":1138,"_path":1139},"Why I didn't run the 2016 marathon","/writing/why-i-didnt-run-the-2016-marathon",{"title":1141,"_path":1142},"Your legacy patterns are technical debt in modern architecture","/writing/your-legacy-patterns-are-technical-debt-in-modern-architecture",{"title":1144,"_path":1145,"children":1146},"Speaking","/speaking",[1147,1150,1153,1156,1159,1162,1165,1168,1171,1174,1177,1180,1183,1186,1189,1192,1195,1198,1201,1204,1207,1210,1213,1216,1219,1222,1225,1228,1231,1234,1237,1240,1243,1246,1249,1252,1255,1258,1261,1264,1267,1270,1273,1276,1279,1282,1285,1288,1291,1294,1297,1300,1303,1306,1309,1312,1315,1318,1321,1324,1327,1330,1333,1336,1339,1342,1345,1348,1351,1354,1357,1360,1363,1366,1369,1372,1375,1378,1381,1384,1387,1390,1393,1396,1399,1402,1405,1408,1411],{"title":1148,"_path":1149},"2019 02 14 Clifq5gzg40j20bw9ne2mh9n6","/speaking/2019-02-14-clifq5gzg40j20bw9ne2mh9n6",{"title":1151,"_path":1152},"2019 02 26 Clifq5gns3xhu0buv6a8th0jk","/speaking/2019-02-26-clifq5gns3xhu0buv6a8th0jk",{"title":1154,"_path":1155},"2019 04 19 Clifq5gd63xhq0buvufv6nagk","/speaking/2019-04-19-clifq5gd63xhq0buvufv6nagk",{"title":1157,"_path":1158},"2019 05 17 Clifq5g1f3wh90bw81u5sa0ai","/speaking/2019-05-17-clifq5g1f3wh90bw81u5sa0ai",{"title":1160,"_path":1161},"2019 05 25 Clifq5fpd3xt00aw4grnzft29","/speaking/2019-05-25-clifq5fpd3xt00aw4grnzft29",{"title":1163,"_path":1164},"2019 09 04 Clifq5fer3xhl0buvzzgwqg1k","/speaking/2019-09-04-clifq5fer3xhl0buvzzgwqg1k",{"title":1166,"_path":1167},"2019 09 09 Clifq5f1b3wh10bw8ftmppjkc","/speaking/2019-09-09-clifq5f1b3wh10bw8ftmppjkc",{"title":1169,"_path":1170},"2019 09 27 Clifq5eos3xhh0buvewly5gxs","/speaking/2019-09-27-clifq5eos3xhh0buvewly5gxs",{"title":1172,"_path":1173},"2019 11 28 Clifq5ebo3wgx0bw8vno5ce0d","/speaking/2019-11-28-clifq5ebo3wgx0bw8vno5ce0d",{"title":1175,"_path":1176},"2019 12 17 Clifq5dyh40ij0bw9oquw072b","/speaking/2019-12-17-clifq5dyh40ij0bw9oquw072b",{"title":1178,"_path":1179},"2020 02 18 Clifq5dk940if0bw9ok9achtj","/speaking/2020-02-18-clifq5dk940if0bw9ok9achtj",{"title":1181,"_path":1182},"2020 03 19 Clifq5dal3xsn0aw49a9wad1n","/speaking/2020-03-19-clifq5dal3xsn0aw49a9wad1n",{"title":1184,"_path":1185},"2020 04 22 Clifq5czw3wgs0bw8srwiffx1","/speaking/2020-04-22-clifq5czw3wgs0bw8srwiffx1",{"title":1187,"_path":1188},"2020 05 06 Clifq5cpx40hk0bw9odxcxt0q","/speaking/2020-05-06-clifq5cpx40hk0bw9odxcxt0q",{"title":1190,"_path":1191},"2020 05 13 Clifq5cfw3xh00buvhyslf4s3","/speaking/2020-05-13-clifq5cfw3xh00buvhyslf4s3",{"title":1193,"_path":1194},"2020 05 25 Clifq5c5u3wgo0bw8g8yudazp","/speaking/2020-05-25-clifq5c5u3wgo0bw8g8yudazp",{"title":1196,"_path":1197},"2020 05 28 Clifq5bvw40h20bw92kt7pmp1","/speaking/2020-05-28-clifq5bvw40h20bw92kt7pmp1",{"title":1199,"_path":1200},"2020 06 09 Clifq5bj73xrj0aw42st3pna4","/speaking/2020-06-09-clifq5bj73xrj0aw42st3pna4",{"title":1202,"_path":1203},"2020 07 21 Clifq5b6s3xrf0aw4s8ml5qjb","/speaking/2020-07-21-clifq5b6s3xrf0aw4s8ml5qjb",{"title":1205,"_path":1206},"2020 07 27 Clifq5axb3xgw0buvy6hrvpv2","/speaking/2020-07-27-clifq5axb3xgw0buvy6hrvpv2",{"title":1208,"_path":1209},"2020 08 05 Clifq5anp3xrb0aw4jxeipa7e","/speaking/2020-08-05-clifq5anp3xrb0aw4jxeipa7e",{"title":1211,"_path":1212},"2020 08 26 Clifq5a9x3wgk0bw8x8qfl5rk","/speaking/2020-08-26-clifq5a9x3wgk0bw8x8qfl5rk",{"title":1214,"_path":1215},"2020 09 17 Clifq59zj3wgg0bw8xmh09vvm","/speaking/2020-09-17-clifq59zj3wgg0bw8xmh09vvm",{"title":1217,"_path":1218},"2020 10 14 Clifq59mp3wgc0bw82qykah6x","/speaking/2020-10-14-clifq59mp3wgc0bw82qykah6x",{"title":1220,"_path":1221},"2020 10 29 Clifq59b83xr60aw45w2sqa1g","/speaking/2020-10-29-clifq59b83xr60aw45w2sqa1g",{"title":1223,"_path":1224},"2020 11 10 Clifq590340gy0bw9onnmgr7y","/speaking/2020-11-10-clifq590340gy0bw9onnmgr7y",{"title":1226,"_path":1227},"2020 11 11 Clifq58oo40gu0bw9iffiakmh","/speaking/2020-11-11-clifq58oo40gu0bw9iffiakmh",{"title":1229,"_path":1230},"2020 12 01 Clifq58cz3xr10aw4n6qndf3s","/speaking/2020-12-01-clifq58cz3xr10aw4n6qndf3s",{"title":1232,"_path":1233},"2020 12 02 Clifq582i3wg80bw8rszss5am","/speaking/2020-12-02-clifq582i3wg80bw8rszss5am",{"title":1235,"_path":1236},"2020 12 11 Clifq57o03xgp0buvlvdxm5l9","/speaking/2020-12-11-clifq57o03xgp0buvlvdxm5l9",{"title":1238,"_path":1239},"2020 12 16 Clifq57c43wg40bw81h7fr291","/speaking/2020-12-16-clifq57c43wg40bw81h7fr291",{"title":1241,"_path":1242},"2020 12 18 Clifq571z40gq0bw9b62wbowr","/speaking/2020-12-18-clifq571z40gq0bw9b62wbowr",{"title":1244,"_path":1245},"2021 01 12 Clifq56q43xgk0buv4hu04quz","/speaking/2021-01-12-clifq56q43xgk0buv4hu04quz",{"title":1247,"_path":1248},"2021 02 01 Clifq56gq3xqx0aw47qor4w9s","/speaking/2021-02-01-clifq56gq3xqx0aw47qor4w9s",{"title":1250,"_path":1251},"2021 02 02 Clifq56623xqt0aw44sbds5cn","/speaking/2021-02-02-clifq56623xqt0aw44sbds5cn",{"title":1253,"_path":1254},"2021 02 22 Clifq55tf40gk0bw9vofea3yp","/speaking/2021-02-22-clifq55tf40gk0bw9vofea3yp",{"title":1256,"_path":1257},"2021 03 03 Clifq55jz3xqp0aw4je7y5sw1","/speaking/2021-03-03-clifq55jz3xqp0aw4je7y5sw1",{"title":1259,"_path":1260},"2021 03 24 Clifq559p3xgf0buvzch9im3l","/speaking/2021-03-24-clifq559p3xgf0buvzch9im3l",{"title":1262,"_path":1263},"2021 04 07 Clifq54zf3wfz0bw80v5gzndk","/speaking/2021-04-07-clifq54zf3wfz0bw80v5gzndk",{"title":1265,"_path":1266},"2021 04 20 Clifq54na3xgb0buvrvmbamxf","/speaking/2021-04-20-clifq54na3xgb0buvrvmbamxf",{"title":1268,"_path":1269},"2021 04 29 Clifq54ct3wfu0bw8zsr9mejw","/speaking/2021-04-29-clifq54ct3wfu0bw8zsr9mejw",{"title":1271,"_path":1272},"2021 07 27 Clifq542s3xg60buvdk199xtq","/speaking/2021-07-27-clifq542s3xg60buvdk199xtq",{"title":1274,"_path":1275},"2021 09 07 Clifq53so3wfq0bw81xni3t7x","/speaking/2021-09-07-clifq53so3wfq0bw81xni3t7x",{"title":1277,"_path":1278},"2021 11 04 Clifq53ib40gf0bw9c3mxprzu","/speaking/2021-11-04-clifq53ib40gf0bw9c3mxprzu",{"title":1280,"_path":1281},"2021 11 10 Clifq536v3xg20buvlz1n7ddw","/speaking/2021-11-10-clifq536v3xg20buvlz1n7ddw",{"title":1283,"_path":1284},"2021 11 22 Clifq52wr3wfm0bw83eawjx9x","/speaking/2021-11-22-clifq52wr3wfm0bw83eawjx9x",{"title":1286,"_path":1287},"2021 12 01 Clifq52jm3xqj0aw4mxuyuaey","/speaking/2021-12-01-clifq52jm3xqj0aw4mxuyuaey",{"title":1289,"_path":1290},"2021 12 14 Clifq528940gb0bw9bok0o68k","/speaking/2021-12-14-clifq528940gb0bw9bok0o68k",{"title":1292,"_path":1293},"2022 01 27 Clifq51vy3wf30bw8qsv8nsv9","/speaking/2022-01-27-clifq51vy3wf30bw8qsv8nsv9",{"title":1295,"_path":1296},"2022 02 08 Clifq51j53wez0bw8cd1znjmi","/speaking/2022-02-08-clifq51j53wez0bw8cd1znjmi",{"title":1298,"_path":1299},"2022 02 10 Clifq515940g70bw9yu0ltedp","/speaking/2022-02-10-clifq515940g70bw9yu0ltedp",{"title":1301,"_path":1302},"2022 03 01 Clifq50sj40g30bw9rqy825mb","/speaking/2022-03-01-clifq50sj40g30bw9rqy825mb",{"title":1304,"_path":1305},"2022 03 02 Clifq50g53xfr0buv56km2voa","/speaking/2022-03-02-clifq50g53xfr0buv56km2voa",{"title":1307,"_path":1308},"2022 05 26 Clifq506e3wev0bw88q2lf63q","/speaking/2022-05-26-clifq506e3wev0bw88q2lf63q",{"title":1310,"_path":1311},"2022 06 02 Clifq4zvh40fz0bw986sdpv5u","/speaking/2022-06-02-clifq4zvh40fz0bw986sdpv5u",{"title":1313,"_path":1314},"2022 06 13 Clifq4z8o3xqf0aw49q8f55f9","/speaking/2022-06-13-clifq4z8o3xqf0aw49q8f55f9",{"title":1316,"_path":1317},"2022 06 13 Clifq4zjc40fv0bw95ufcly4y","/speaking/2022-06-13-clifq4zjc40fv0bw95ufcly4y",{"title":1319,"_path":1320},"2022 07 01 Clifq4ywg3xq60aw48tkujxyl","/speaking/2022-07-01-clifq4ywg3xq60aw48tkujxyl",{"title":1322,"_path":1323},"2022 07 27 Clifq4yep3xf20buv5vorwrl5","/speaking/2022-07-27-clifq4yep3xf20buv5vorwrl5",{"title":1325,"_path":1326},"2022 08 10 Clifq4xw640fr0bw9po5n2nug","/speaking/2022-08-10-clifq4xw640fr0bw9po5n2nug",{"title":1328,"_path":1329},"2022 08 11 Clifq4xdz3wek0bw862z7knrr","/speaking/2022-08-11-clifq4xdz3wek0bw862z7knrr",{"title":1331,"_path":1332},"2022 08 25 Clifq4x0z3xq20aw48a1n9hxy","/speaking/2022-08-25-clifq4x0z3xq20aw48a1n9hxy",{"title":1334,"_path":1335},"2022 09 14 Clifq4wqo40fh0bw9sifjtw70","/speaking/2022-09-14-clifq4wqo40fh0bw9sifjtw70",{"title":1337,"_path":1338},"2022 09 27 Clifq4wef3xpx0aw4l7ueiqwb","/speaking/2022-09-27-clifq4wef3xpx0aw4l7ueiqwb",{"title":1340,"_path":1341},"2022 10 14 Clifq4w263xet0buv0mzqzfre","/speaking/2022-10-14-clifq4w263xet0buv0mzqzfre",{"title":1343,"_path":1344},"2022 11 02 Clifq4vps3xep0buvimxfntyq","/speaking/2022-11-02-clifq4vps3xep0buvimxfntyq",{"title":1346,"_path":1347},"2022 11 08 Clifq4vdb40el0bw9il2y3pb4","/speaking/2022-11-08-clifq4vdb40el0bw9il2y3pb4",{"title":1349,"_path":1350},"2023 02 08 Clifq4uz43xpt0aw4mw4awvuj","/speaking/2023-02-08-clifq4uz43xpt0aw4mw4awvuj",{"title":1352,"_path":1353},"2023 03 29 Clifq4ul43we80bw8ihhkw7qr","/speaking/2023-03-29-clifq4ul43we80bw8ihhkw7qr",{"title":1355,"_path":1356},"2023 04 20 Clifq4u9b3xpm0aw45vj51alh","/speaking/2023-04-20-clifq4u9b3xpm0aw45vj51alh",{"title":1358,"_path":1359},"2023 05 12 Clifq4tw33we40bw8jxhaaroo","/speaking/2023-05-12-clifq4tw33we40bw8jxhaaroo",{"title":1361,"_path":1362},"2023 05 29 Clifq4thm3xel0buvdpqx8bdm","/speaking/2023-05-29-clifq4thm3xel0buvdpqx8bdm",{"title":1364,"_path":1365},"2023 06 06 Clifq4t4w40dr0bw98f7p9zrq","/speaking/2023-06-06-clifq4t4w40dr0bw98f7p9zrq",{"title":1367,"_path":1368},"2023 07 27 Clifq4sto3xph0aw4letve613","/speaking/2023-07-27-clifq4sto3xph0aw4letve613",{"title":1370,"_path":1371},"2024 02 29 Clkzot86xire30aujuy08465e","/speaking/2024-02-29-clkzot86xire30aujuy08465e",{"title":1373,"_path":1374},"2024 06 05 Clqdq6ui7ts730bvzmk1xw47t","/speaking/2024-06-05-clqdq6ui7ts730bvzmk1xw47t",{"title":1376,"_path":1377},"2024 06 26 Clxkjutfsgp2b08uncx30wni3","/speaking/2024-06-26-clxkjutfsgp2b08uncx30wni3",{"title":1379,"_path":1380},"2024 09 23 Clzln21ozhc5j07vyl823v9qt","/speaking/2024-09-23-clzln21ozhc5j07vyl823v9qt",{"title":1382,"_path":1383},"2024 10 02 Clzlmyfs3hhe607ur0myt53gv","/speaking/2024-10-02-clzlmyfs3hhe607ur0myt53gv",{"title":1385,"_path":1386},"2025 02 13 Cm0qgs8ctrqs207uk9qsijvlj","/speaking/2025-02-13-cm0qgs8ctrqs207uk9qsijvlj",{"title":1388,"_path":1389},"2025 03 13 Cm0qgtj7srztk07unk29eiehq","/speaking/2025-03-13-cm0qgtj7srztk07unk29eiehq",{"title":1391,"_path":1392},"2025 09 10 Clifq5gzg40j20bw9ne2mh9n2","/speaking/2025-09-10-clifq5gzg40j20bw9ne2mh9n2",{"title":1394,"_path":1395},"2025 09 11 Clifq5gzg40j20bw9ne2mh9n1","/speaking/2025-09-11-clifq5gzg40j20bw9ne2mh9n1",{"title":1397,"_path":1398},"2025 09 18 Clifq5gzg40j20bw9ne2mh9n3","/speaking/2025-09-18-clifq5gzg40j20bw9ne2mh9n3",{"title":1400,"_path":1401},"2025 09 19 Clifq5gzg40j20bw9n31322","/speaking/2025-09-19-clifq5gzg40j20bw9n31322",{"title":1403,"_path":1404},"2025 10 10 Clifq5gzg40j20bw9n333","/speaking/2025-10-10-clifq5gzg40j20bw9n333",{"title":1406,"_path":1407},"2025 10 24 Clifq5gzg40j20bw9n333asasdasd","/speaking/2025-10-24-clifq5gzg40j20bw9n333asasdasd",{"title":1409,"_path":1410},"2026 03 12 Clifq5gzg40j20bw9ne2mh9n87","/speaking/2026-03-12-clifq5gzg40j20bw9ne2mh9n87",{"title":1144,"_path":1145},{"title":1413,"_path":1414},"Live streams","/livestreams",{"title":1416,"_path":1417},"Press kit","/presskit",{"title":1419,"_path":1420},"Alive and kicking","/alive-and-kicking",{"title":1422,"_path":1423},"Uses","/uses",{"_path":1018,"_dir":1425,"_draft":1426,"_partial":1426,"_locale":1427,"title":1017,"description":1428,"slug":1429,"date":1430,"canonical_url":1431,"reading_time":1432,"image":1433,"tags":1434,"faqs":1440,"draft":1426,"head":1456,"body":1467,"_type":1623,"_id":1624,"_source":1625,"_file":1626,"_stem":1627,"_extension":1628},"writing",false,"","Vibe coding has made it trivially easy to spin up apps that collect user data, handle logins, and store sensitive information. The problem is that most people building these apps have no idea how authentication, database security, or data protection actually work. Defaults on services like Supabase and Firebase are dangerously permissive, GDPR obligations are being ignored entirely, and users are handing credentials to apps built by people who have never heard of row level security. My personal rule now is simple. If it looks vibe coded and asks for username and password, I walk away.","i-will-not-log-into-your-vibe-coded-app","2026-04-14T10:00:00Z","https://timbenniks.dev/writing/i-will-not-log-into-your-vibe-coded-app","4 min read","https://res.cloudinary.com/dwfcofnrd/image/upload/f_auto,q_auto/v1776151120/website/Locked_box_on_wooden_desk.png",[1435,1436,1437,1438,1439],"ai","security","webdev","architecture","process",[1441,1444,1447,1450,1453],{"question":1442,"answer":1443},"Why is OAuth safer than username and password on a vibe coded app?","OAuth delegates authentication to a trusted provider like Google or GitHub. The vibe coded app never touches your actual password. With username and password, you're trusting the app builder to hash passwords correctly, store them securely, and handle session management properly. Most vibe coders have never done any of this before and the AI generating their code may produce something that looks functional but is fundamentally insecure.",{"question":1445,"answer":1446},"What is row level security and why does it matter?","Row level security (RLS) is a database feature that restricts which rows a user can read or modify based on their identity. Without RLS enabled, any authenticated user can potentially read or modify any row in the database, including other users' data. Services like Supabase have RLS disabled by default on new tables, which means vibe coded apps that skip this step expose every user's data to every other user.",{"question":1448,"answer":1449},"Are free tier cloud services inherently insecure?","Not inherently, but free tiers typically come without SLAs, limited support, and relaxed defaults that assume the developer knows how to configure security properly. When the developer is someone who prompted an app into existence without understanding the infrastructure underneath, those relaxed defaults become open doors. The free tier is designed for experimentation, not for storing company IP or user credentials.",{"question":1451,"answer":1452},"Does GDPR apply to vibe coded apps?","Yes. GDPR applies to any application that collects personal data from EU residents, regardless of how the app was built or where the builder is located. The regulation requires informed consent, data minimization, secure storage, breach notification within 72 hours, and the ability for users to request deletion of their data. Most vibe coders are not even aware these obligations exist, let alone equipped to fulfill them.",{"question":1454,"answer":1455},"What should I look for before logging into an unfamiliar app?","Check whether the app uses OAuth from a trusted provider with minimal scopes. Look at the URL - is it a random subdomain from a hosting platform or a proper domain? Check the page title and metadata for signs of default or auto-generated content. If the app asks for username and password with no indication of who built it or how your data is handled, treat it as a red flag and walk away.",{"meta":1457},[1458,1460,1462,1464],{"property":1459,"content":1433},"twitter:image",{"property":1461,"content":1017},"twitter:title",{"property":1463,"content":1428},"twitter:description",{"property":1465,"content":1466},"keywords","ai, security, webdev, architecture, process",{"type":1468,"children":1469,"toc":1615},"root",[1470,1478,1483,1490,1495,1500,1505,1510,1516,1521,1526,1542,1547,1553,1558,1563,1568,1573,1579,1584,1589,1594,1600,1605,1610],{"type":1471,"tag":1472,"props":1473,"children":1474},"element","p",{},[1475],{"type":1476,"value":1477},"text","I recently saw a team inside a company build an internal tool to store sensitive business data. The page title still contained the name of the vibe coding platform they used to build it. The URL was a random string assigned by the hosting service. The login screen asked for OAuth but requested an absurd number of scopes. The backend was a free-tier cloud database with no SLA, no support contract, and almost certainly no row level security configured on the tables.",{"type":1471,"tag":1472,"props":1479,"children":1480},{},[1481],{"type":1476,"value":1482},"This is where we are now. People are storing company IP in apps held together by prompts and default configurations.",{"type":1471,"tag":1484,"props":1485,"children":1487},"h2",{"id":1486},"the-default-configuration-problem",[1488],{"type":1476,"value":1489},"The default configuration problem",{"type":1471,"tag":1472,"props":1491,"children":1492},{},[1493],{"type":1476,"value":1494},"Services like Supabase and Firebase are genuinely good tools. They're well-engineered, well-documented, and designed to let developers move fast. The problem is that \"move fast\" assumes you know what you're doing.",{"type":1471,"tag":1472,"props":1496,"children":1497},{},[1498],{"type":1476,"value":1499},"They have been known to create new tables with row level security disabled by default. That means any authenticated user can read any row in the database unless the developer explicitly writes policies to prevent it. Firebase Realtime Database historically shipped with open read/write rules in development mode, and plenty of apps went to production with those rules still in place.",{"type":1471,"tag":1472,"props":1501,"children":1502},{},[1503],{"type":1476,"value":1504},"If you're a developer who understands these defaults, you configure security before you ship. If you're someone who prompted an app into existence and the AI never mentioned RLS, you ship an open database and have no idea.",{"type":1471,"tag":1472,"props":1506,"children":1507},{},[1508],{"type":1476,"value":1509},"The AI doesn't warn you. It generates code that works. Working and secure are not the same thing.",{"type":1471,"tag":1484,"props":1511,"children":1513},{"id":1512},"my-personal-rule",[1514],{"type":1476,"value":1515},"My personal rule",{"type":1471,"tag":1472,"props":1517,"children":1518},{},[1519],{"type":1476,"value":1520},"I've adopted a simple heuristic. If an app looks vibe coded and requires a login, I check two things.",{"type":1471,"tag":1472,"props":1522,"children":1523},{},[1524],{"type":1476,"value":1525},"First: does it use OAuth from a trusted provider like Google or GitHub? If yes, I check the scopes. If it asks for email and basic profile, fine. If it asks for access to my drive, calendar, contacts, and the ability to send email on my behalf, I close the tab.",{"type":1471,"tag":1472,"props":1527,"children":1528},{},[1529,1531,1540],{"type":1476,"value":1530},"Second: does it ask for a username and password? If yes, I don't create an account. I have no way of knowing whether the person who built this app understands password hashing, session management, or secure storage. The ",{"type":1471,"tag":1532,"props":1533,"children":1537},"a",{"href":1534,"rel":1535},"https://timbenniks.dev/writing/want-to-be-better-at-vibe-coding-become-a-better-coder",[1536],"nofollow",[1538],{"type":1476,"value":1539},"vibe coding fundamentals",{"type":1476,"value":1541}," I wrote about earlier are exactly the things most vibe coders skip. I explicitly warned against building your own auth. Most people building these apps didn't get that memo.",{"type":1471,"tag":1472,"props":1543,"children":1544},{},[1545],{"type":1476,"value":1546},"When I hand a vibe coded app my password, I'm trusting that the builder knows what bcrypt is. That's a bet I'm not willing to make.",{"type":1471,"tag":1484,"props":1548,"children":1550},{"id":1549},"gdpr-is-collateral-damage",[1551],{"type":1476,"value":1552},"GDPR is collateral damage",{"type":1471,"tag":1472,"props":1554,"children":1555},{},[1556],{"type":1476,"value":1557},"This gets worse when you factor in data protection regulation. GDPR applies to any app that collects personal data from EU residents. It doesn't matter if the builder is in the US, India, or anywhere else. It doesn't matter if the app was built in an afternoon. The moment you collect an email address from someone in the EU, you have legal obligations.",{"type":1471,"tag":1472,"props":1559,"children":1560},{},[1561],{"type":1476,"value":1562},"You need informed consent. You need to explain what data you collect and why. You need to store it securely. You need to be able to delete it on request. You need to notify authorities within 72 hours of a breach.",{"type":1471,"tag":1472,"props":1564,"children":1565},{},[1566],{"type":1476,"value":1567},"Most vibe coders don't know GDPR exists. EU-based vibe coders who should know better often assume it only applies to big companies. It doesn't. It applies to the app you prompted into existence last Tuesday that now has forty users and a Supabase table full of email addresses with no RLS, no privacy policy, and no breach response plan.",{"type":1471,"tag":1472,"props":1569,"children":1570},{},[1571],{"type":1476,"value":1572},"The regulatory exposure is real, and nobody is talking about it because nobody thinks their little vibe coded tool counts. It counts.",{"type":1471,"tag":1484,"props":1574,"children":1576},{"id":1575},"some-nuance",[1577],{"type":1476,"value":1578},"Some nuance",{"type":1471,"tag":1472,"props":1580,"children":1581},{},[1582],{"type":1476,"value":1583},"I want to be fair here. Not every vibe coded app is a security disaster. Some people building with AI tools do understand infrastructure. Some are experienced developers using vibe coding for speed, not as a substitute for knowledge. The tools themselves aren't the problem - Supabase, Firebase, Clerk, and others are solid products when configured correctly.",{"type":1471,"tag":1472,"props":1585,"children":1586},{},[1587],{"type":1476,"value":1588},"The problem is the gap between \"I can build this\" and \"I understand what I've built.\" AI closes the first gap instantly. The second gap stays wide open. And that second gap is where user data leaks through.",{"type":1471,"tag":1472,"props":1590,"children":1591},{},[1592],{"type":1476,"value":1593},"I also recognize that my personal rule is conservative. OAuth isn't bulletproof either. Excessive scopes are their own risk. But it's a better baseline than trusting an unknown builder with my raw credentials.",{"type":1471,"tag":1484,"props":1595,"children":1597},{"id":1596},"concluding",[1598],{"type":1476,"value":1599},"Concluding",{"type":1471,"tag":1472,"props":1601,"children":1602},{},[1603],{"type":1476,"value":1604},"We've democratized the ability to build apps. We haven't democratized the understanding of what it means to hold someone else's data. That's the gap that should concern everyone right now.",{"type":1471,"tag":1472,"props":1606,"children":1607},{},[1608],{"type":1476,"value":1609},"The vibe coding wave is producing thousands of apps that collect logins, store personal information, and run on infrastructure their builders can't explain. Some of them are storing company secrets on free-tier databases with default security settings. Some of them are violating GDPR without knowing the regulation exists.",{"type":1471,"tag":1472,"props":1611,"children":1612},{},[1613],{"type":1476,"value":1614},"If you don't understand what happens to my data after I type my password, you shouldn't be asking for it.",{"title":1427,"searchDepth":1616,"depth":1616,"links":1617},2,[1618,1619,1620,1621,1622],{"id":1486,"depth":1616,"text":1489},{"id":1512,"depth":1616,"text":1515},{"id":1549,"depth":1616,"text":1552},{"id":1575,"depth":1616,"text":1578},{"id":1596,"depth":1616,"text":1599},"markdown","content:4.writing:i-will-not-log-into-your-vibe-coded-app.md","content","4.writing/i-will-not-log-into-your-vibe-coded-app.md","4.writing/i-will-not-log-into-your-vibe-coded-app","md",[1630,1652,1671],{"_path":26,"_dir":1631,"_draft":1426,"_partial":1426,"_locale":1427,"title":25,"description":1427,"date":1632,"position":1633,"image":1634,"videoId":1635,"transcript":1636,"tags":1637,"playlist":1631,"body":1645,"_type":1623,"_id":1649,"_source":1625,"_file":1650,"_stem":1651,"_extension":1628},"alive-and-kicking","2024-06-15T14:39:08Z","003","https://i.ytimg.com/vi/p3pm_0p8lZ4/maxresdefault.jpg","p3pm_0p8lZ4","so this talk is going to be a little different and I love that jillson was asking how many people are new here and a lot of people raised their hands so you haven't probably seen what I'm about to do because you don't see that very often at a stage for a conference about Tech stuff right so my talk is really about not how you implement the tech or how you do it but I've actually done it for you and we're going to have an experience with guitars and you guys get to do a bunch of stuff with the talk so it's hopefully it's a bit more about the inspiration of what fuds can do right so before we get started um I work at HRA and I'm doing developer relations and we love AI nowadays because that's actually my face on this F this dude and so hgraph is a hatless CMS um that is graphql native and so I won't go too deep into it but all the content that you see in this talk actually comes out of hgraph all right so I'm an ambassador for a bunch of cool stuff um of course n we have algolia we have super base we have cloudinary and all that stuff is actually in the talk and I couldn't really find any images of me um with the you know the swag on so I just literally took anything I had anyways um you might think that my accent is a little strange because I was actually born here I think that side across the water um so I'm from Amsterdam but I live in France and I work with Americans so this is how I sound when you do that and I've checked with my colleagues they use that cheese like for real that's the thing so let's talk about this talk and so I have a few images here of when I was young and skinny but why not that's when I was a proper musician and so this talk is called Alive and Kicking and so the idea is that I created a guitar karaoke application because if you play guitar you want to do that as as many places as you can right and why not at work well that's what we're doing here and so essentially we use the guitar in the browser so the browser controls the whole karaoke application and of course we're using fuggs and so the thing is that you get to vote which songs I play and so what I've come up with is you can be kind of like a DJ because the idea is that I made something called like a mashup like a DJ could do a 20 minute set and it'll have five songs that kind of flow well together we're going to do that today but you're going to be fting which song comes when and I kind of have to figure out what that song is by just looking at my screen and then playing it instantly and it just it will Loop so if I don't look it's a problem right so you vote for your favorite mashup of the eight songs that I'll you know you'll get on your phone in a second so you'll get something like this and you I try to have songs that are a little bit rock and roll focused but hopefully for everyone right so we have bon Joi with its Mickey Mouse rock and then we have Iron Maiden with the proper metal like I have hopefully something for everyone and so I've buil it with all the tools that you've probably seen um today I won't go too deep into the tech right now I think it's time to just get you awake and play a little bit and then we talk about it more right and so like I said fugs controls the whole thing and I I'll we'll go over what this box is what the guitar does all that in a sec all right are you ready to rock yes let's go but one thing first um the conference here is helping me a ton with this right because you see I have the whole screen there's a whole bunch of extra things happening and so what I would love to do is um when you vote for your mashup you can actually share that and then once you share it you see there's like the the hashtag of fugs Amsterdam and so what I would love to see is like all of Twitter full of fugs Amsterdam stuff so these guys get like some organic growth from you and of course it's fun that my stuff is shared so let's let's be honest about that um so take out your phones and scan this thing or if you're on your laptop or tablet or whatever go to Alive and Kicking dodev so while you do that I'll just grab my guitar and get ready is it working it better work it's going to be a rough day I'll leave this on for just a sec so you guys have a chance to get there okay well that's working are we good to be honest once I start on that screen there you'll have the QR code as well and so just for you to remember it's called Alive and Kicking dodev guys can you turn off these lights a little better oh you cannot scan oh the new iPhones and their F their focus problems that's problematic I did not consider that okay so go to alive and kicking. Dev instead all right so I'll give you a quick note on what's Happening Here while you figure it out so have you guys been able to log in because then you can start voting on the songs like you have four spots right now we have zero votes and so these are just the first four songs that we have on so feel free to start voting for your favorite songs which spot is which that would be one 2 3 four ah and the screens are starting to work we're seeing some photes I think I have to do a refresh of my browser there we go so what you see here is when you vote you see your little icon bounce around so keep voting as much as you can and you'll see yourself be part of this and all of you are here and it keeps updating every 10 seconds and so this is using super base real time so all of this is basically a websocket so what whatever you see is live so this is starting to go so while this is going let me show you quickly what I'm dealing with here so this little red box has an input from the guitar it makes it digital and so this is an is an is an amplifier application and so we don't need amps we don't need anything we just plug in and go so um what I asked last year is try to hack it please I want as many photes as possible so if you can hack it it feel free I think it's a little safer now I did a lot of you know security stuff this time but here we go so it seems like Michael Jackson is the first vote so what I'll do now I'll make this go and then you can no longer vote for the first one but you can actually change the second third and fourth here we go e e [Music] it oh [Music] be [Music] go thank [Applause] [Music] you to listen to me why about nothing and everything all once I am one of those melodramatic fools neurotic to the bat no doubt about it sometimes I give my myself the creeps sometimes my mind plays tricks on me I'll keep set it up I think it [Music] just I shrink I like my dreams she says it's like the step that's bringing me down and I went to he said my [Applause] qu sometimes I give [Music] myselfs sometimes My Mind Tricks on Me it all keeps heading up I think I'm get [Music] [Music] just to control so I better hold [Music] sometimes I myself theep my Minds on me it all keeps up it my know I Just sh [Music] what's next thank you oh yes [Music] [Music] it by [Music] day very you can [Music] to the work here every day learn to live like a see [Music] w [Music] [Applause] [Music] [Applause] [Music] [Music] [Music] [Applause] I [Music] [Applause] [Music] oh [Music] [Music] [Music] he [Applause] [Music] [Applause] [Music] [Applause] [Music] y thank you very much all right I think it almost worked Nikki do you mind refreshing that browser we tried a crap okay I told you to use Chrome didn't I all right all right all right so let's chat a little bit about what happened all up there let's turn that volume off um and the lovely thing is I still have 22 minutes so what I can do is actually change it up in a sec to its normal mode so you can just F and we can actually play all the songs there's more than enough time which is awesome uh let's see what are we dealing with here so let's talk about some fancy term that we call the signal chain and so the signal goes from the guitar which is this bad boy here and the strings vibrate to these we call them pickups and this is analog signal that goes out here and that analog signal somehow needs to come into the computer and we do that by this lovely Focus ride box and everybody uses these there amazing and quite cheap and so they go into the box I'm saying it's cheap because it's very important because now everybody can do this anyways you go into the browser or into the computer and then the computer actually goes to the speakers here right so that's the guitar to the speakers but then inside the computer we have this little application that I just showed you that made my guitar sound the way it sounds it's like a virtualized amplifier normally it would be a big speaker here with a bunch of knobs and pedals on the floor and musician always love this stuff because it's extra gear you can deal with it but the whole point was I want to just put my laptop down to a conference talk so I did a virtualized one and then also we have the browser so the browser is playing this backing track and that also goes to the front of house here in all the sound so basically those two things are mixed and it's lovely for me because I can control it our lovely sound people just get whatever they get from me so there's not much mixing involved but I'm sure lots of fixes were done on the fly so thanks for that Andrew and so then the browser talks again to this amplifier because of course the intro versus the first versus the solo have different sounds sometimes there's more Echo sometimes there's a different equalizer so I need to make sure that I don't have to step on any boxes for the sound to change I don't want to think in this setting right so let's talk about the browser for a sec so you can see of course here on the left top that's where you see what song is playing all the photes all the things and then it will automatically actually go to the next one and so I've had to hack that one because if I want to play the next one and I needed to refresh the browser I going to do a click with JavaScript because it needs a user interaction to do autoplay for for the song so there's there's lots of like little tweaks in there that I had to do and so then you see The Equalizer right and so this actually responds to my guitar so this is a live Channel with an audio like there's there's this web audio API and so it can analyze and that's what this is and it's just a canfest that just goes 100% And it's it's kind of true to whatever the sound that comes in and then we have the audio player that has these chapters the thing I just talked about right and so each chapter would then actually say well for this part of the song go to that preset and so all this information the presets the chapters the images they all come from high graph which is the CMS I work for right and so of course you can put this stuff in adjacent file or in any other CMS but I work there you see there's the hat so there it is and so um it's actually pretty cool that you can do so many different things with hatless stch like all of this happens in the cloud right and um this is not an application per se it just talks to things on the side and figures things out together and then it's all in the client all the fting you saw it's all in the client right and then of course that little up up the iron sound goes to the amplifier gives the sound and we play and so on your phone when you're fting something it goes to super base so super bases has this there's a bunch of stuff like you're logged in with superbase also and they have a post exess database so every phote you do is your user ID with the phote of the song like the ID and then which spot and there is a um well when the moment that happens you see like right now the screenshot has a zero but it of course scks up when you put a phote and then you see all the balls bouncing around and that is something super cool with super base and N where you could literally say I have a real-time channel that listens to a change in the database so for now I just said update or insert and based on that it says hey there's a change and then I use the the use async data composable in N to just refresh the call and query the last thing and so if that happens a thousand times it does a thousand new queries for the last row that was just inserted and it is good enough for now because sometimes you might get five votes at the same time but I didn't put any database locks because who cares it's a conference talk and you know what it held up pretty well you guys were fting your butts off and it had 60 frames per second the life thing was happening and had like the technology today is is insane that it works that well and so this is the stress test I was doing on my local host and so this is literally just everything you see is a new query and the lovely thing I've noticed with super base especially when you do a query just one it's like 100 milliseconds but when you do it like this they become like four milliseconds like it scales up like crazy and so one last thing that I didn't talk about at all these songs were short right they were like two-ish minutes and I wanted to do that because otherwise I'd be be an hour here and it's these songs are repetitive because awesome focals and things but I'm just playing guitar so what I've done also for copyright issues I have basically taken these songs and cut them up and I used AI to isolate the instruments and it works most of the time and so what I've done is like taken the drums taken the bass taken the focals make it shorter put it in remix it with the help of lovely Nikki who sits behind there doing the production awesome Nikki and basically she helped me to mix and I played my own guitars and so what this means youve see so there's eight songs here so I basically recorded an EP for this but then with famous songs like I've been just playing myself because all these songs they have all these fancy bells and whistles that make no sense for me to play guitar over so I just kind of stripped them made them easy to listen to well my guitar is over it and that's what you heard today and so there's a few months of work there and so this is the first thank you here um doesn't mean it's the end because I have 15 minutes so lucky me right I expected 30 so that would be on the dot so what we're going to do is there's a different mode in my app where I just right now it's mashup mode but let's just put it on on the normal mode so you guys can vote on the songs that you hadn't seen yet so it says extra secret confict but you guys cannot go here I promise it won't work I promise try but maybe not I don't know I don't know okay I'm just going to reset everything now so photes are gone active songs are gone all the things are gone and we're setting it to normal mode you saw that IM immediately change that's the live super base thing I changed the database row it listened it quered again something else are you looking at my page are you I did not show you this seriously it's connected to my ID okay anyways so please don't go to that page because that not fun anymore so refresh your browsers and you'll see a different way of voting now you just have eight songs and I would suggest you vote on the songs that we didn't play yet and in that order we finish the rest in the last 15 minutes you see how performant this is it's all in the client so we we don't need that much there's no SSR here anywhere I know we talk about that a lot but if you can do it like this why not browsers are fast F okay so while this is going on I need to tune because I felt my guitar go out of tuning the hotlights while I was playing oh boy oh boy so if is there a buck in my application or are you guys faulting like crazy I don't see any double faces not really wow or maybe some or who hacked it raise your hand who hacked it the people who really hack it will come to me after and show me I hope right it looks like it's going to be Iron Maiden so what will holy moly can hardly see my interface so what we'll do is we'll just play the songs I didn't play yet in the order of your votes and while I play you can continue voting so let's start with Iron Maiden and then it's going to be Bon Joi then it's going to be Aerosmith and then I just can't read okay we'll see at that point here we go are you ready for some like old school rock this is like I never play this stuff right so this was like practice to the max this song Here We Go [Music] [Music] [Applause] [Music] you take my life but I'll take yours too you fireing musk but I'll run you through so when you're waiting for the next attack you better stand there's no turning back so few charge begins on this battlefield no one wins feel the just down [Music] [Music] [Music] oh [Music] [Music] no yo if I just keep smiling you don't hear the mistakes that's what happened there I hope I didn't show it too much all right who's next well Metallica we did right oh we did not what that's awesome let's go Metallica that's fun you guys are rockers is this an alarm I have to worry about okay we're good [Music] he he [Music] [Music] T the W the drag and the that with [Music] your my hand never [Music] w [Music] [Applause] s minutes let's do this okay we're good e e e e [Applause] I think there's one left are you ready for some 80s yes this is going to be full force Mickey Mouse rock for you and you know what I might say that but this is so fun to play this is like pure party here we go through the too late love bad [Music] name Angel Smile what you say you promised me heaven and put me through hell Jesus love got to hold on me pass of prison you can't break free oh you're not God W there's nowhere to run no one can save me the damage is done shout out High and love to you love I play play all game you love you love [Music] [Applause] through the heart [Music] andame that's it thank you thank you so much for entertaining me in my guitar Endeavors here um I want to thank you and I don't have my phone on me but I'm hoping Twitter is full of your shares because that would be super fun and you can follow me on YouTube or on Twitter and if you feel like I can just give you one CTA check out hgraph because I'm doing a guitar talk I'm not talking about my job at all but feel free to have um you know it's like a free account and it's a super cool CMS so that's it for me thank you so much and have a lovely conference cheers",[1435,1638,1639,1640,1641,1642,1643,1644],"headless-cms","cms","web development","api","Cloud","Media","Content",{"type":1468,"children":1646,"toc":1647},[],{"title":1427,"searchDepth":1616,"depth":1616,"links":1648},[],"content:3.videos:alive-and-kicking:003-p3pm_0p8lZ4.md","3.videos/alive-and-kicking/003-p3pm_0p8lZ4.md","3.videos/alive-and-kicking/003-p3pm_0p8lZ4",{"_path":36,"_dir":1653,"_draft":1426,"_partial":1426,"_locale":1427,"title":35,"description":1654,"date":1655,"position":1656,"image":1657,"videoId":1658,"transcript":1659,"tags":1660,"playlist":1653,"duration":1663,"body":1664,"_type":1623,"_id":1668,"_source":1625,"_file":1669,"_stem":1670,"_extension":1628},"contentstack","Tim Benniks, Developer Experience Lead, walks through a Kickstart Nuxt SSR front-end implementation.\n\nVisit our docs for an in-depth write up: https://www.contentstack.com/docs/developers/kickstarts/nuxt\n\nJoin our community: https://community.contentstack.com","2025-10-03T13:10:37Z","000","https://img.youtube.com/vi/uvqDbCXLIpM/hqdefault.jpg","uvqDbCXLIpM","In this video, I'll walk you through the SSR version of our Nux 4 Kickstart. A clean, barebones starter that connects to Content Stack with just the essentials while still giving you everything you need to build real projects. A Kickstart comes ready with live preview and visual builder, so you can edit content right on the page and instantly see the results. It supports images, rich text, and modular blocks. Every feature is linked to deeper documentation, academy courses, and our developer community if you want to explore more advanced topics. The project is built with Nux 4, and we have created a simple content stack plug-in for the setup. In the plug-in, we first grab all the settings passed into the Nux public config so we can set up the stack SDK connection. After that, when preview is enabled and we are in client site mode, we initialize live preview. So changes made in the CMS show up on your site in real time. Note that SSR is set to true. So the A-Frame reloads every time the content is updated. Finally, we provide the SDK instances so we can use them throughout the project. Fetching content is handled by a composible called use get page. It queries content stack for a given URL and returns the right page entry. Note that if SR is set to true, it passes query string params to the iframe which this code gives to the stack instance. This way the stack knows to query the preview endpoint. A small utility then adds editable tags to the returned HTML. So when you click a title or an image, the system knows exactly which field in content stack to edit. On the front end, we simply query the data while the use get page composable deals with the live preview setup and the query string parameters. The HTML is styled with Tailwind CSS chosen for its popularity and flexibility. All of the key functions creating the stack, getting the page, and initializing live preview are fully annotated in the code so you can dive in and understand every step. That's the entire setup. a modern Nux 4 project that stays minimal while still giving you a complete editable site from day one. Clone it, start building your own features, and check out our documentation or join our developer community if you'd like to go deeper. Happy coding, and I see you on Discord.",[1640,1639,1641,1438,1661,1662,1644],"Development","frameworks","2:35",{"type":1468,"children":1665,"toc":1666},[],{"title":1427,"searchDepth":1616,"depth":1616,"links":1667},[],"content:3.videos:contentstack:000-uvqDbCXLIpM.md","3.videos/contentstack/000-uvqDbCXLIpM.md","3.videos/contentstack/000-uvqDbCXLIpM",{"_path":45,"_dir":1653,"_draft":1426,"_partial":1426,"_locale":1427,"title":44,"description":1672,"date":1673,"position":1633,"image":1674,"videoId":1675,"transcript":1676,"tags":1677,"playlist":1653,"duration":1680,"body":1681,"_type":1623,"_id":1685,"_source":1625,"_file":1686,"_stem":1687,"_extension":1628},"Welcome in! Tim Benniks, Developer Experience Lead, gives an overview of the Contentstack Edge platform.\n\nJoin our community: https://community.contentstack.com","2025-09-30T15:10:57Z","https://img.youtube.com/vi/2U6da719nH0/maxresdefault.jpg","2U6da719nH0","This is Tim from Content Stack and in this video I'll give you a quick platform overview and I'll show you a few golden nuggets that not everybody always finds. So when you log in you end up here. This is your dashboard and as you can see there's a bunch of different products here and so what this means is that content is a content platform and on a platform you have different products that can either work on their own or they can be combined. Right? So you can actually use the headless CMS and then deploy it on launch and then use a bunch of analytics to look at what people do with your content, things like that. And so you can use all of those together to make your, you know, projects awesome. On the site, you get um links to our academy, documentation, things like joining our Discord community, the latest events that we are, you know, um attending or organizing. You can dive right into academy courses. We have product change logs. All that kind of stuff is right at your fingertips. And so for those golden nuggets, things like this, there's an app switcher here, but you see there are some favorites. So when I go to my CMS, and I might potentially in the future have a bunch of different projects, I can actually just favorite this and then directly go there. Those things are just really handy. Um, next to that, we have the help center. And so this help center is not just the docs. It's actually contextual to where you are. I'm now sitting here in my headless CMS stacks and it tells me exactly about those tags. But what if I go to let's say my entries overview? Well, then it actually explains how do I create an entry? So all the questions you might have specifically what you're dealing with, for example, how do content models work? Can I import one? All of that is exactly right there. And so we implore you to use your full account with Explorer. Try all the things and you can choose everything from here and try to connect them up or use them individually and really have fun with it. So join our community on Discord. Just click this little link here. Tell us about what you're building, your questions, your feedback, anything that you want to discuss, that's the place for you. All right, so that's it. Happy exploring and happy coding. Cheers.",[1639,1640,1661,1644,1678,1679,1438,1641],"community","saas","2:23",{"type":1468,"children":1682,"toc":1683},[],{"title":1427,"searchDepth":1616,"depth":1616,"links":1684},[],"content:3.videos:contentstack:003-2U6da719nH0.md","3.videos/contentstack/003-2U6da719nH0.md","3.videos/contentstack/003-2U6da719nH0",{"_path":1018,"_dir":1425,"_draft":1426,"_partial":1426,"_locale":1427,"title":1017,"description":1428,"slug":1429,"date":1430,"canonical_url":1431,"reading_time":1432,"image":1433,"tags":1689,"faqs":1690,"draft":1426,"head":1696,"body":1702,"_type":1623,"_id":1624,"_source":1625,"_file":1626,"_stem":1627,"_extension":1628},[1435,1436,1437,1438,1439],[1691,1692,1693,1694,1695],{"question":1442,"answer":1443},{"question":1445,"answer":1446},{"question":1448,"answer":1449},{"question":1451,"answer":1452},{"question":1454,"answer":1455},{"meta":1697},[1698,1699,1700,1701],{"property":1459,"content":1433},{"property":1461,"content":1017},{"property":1463,"content":1428},{"property":1465,"content":1466},{"type":1468,"children":1703,"toc":1810},[1704,1708,1712,1716,1720,1724,1728,1732,1736,1740,1744,1754,1758,1762,1766,1770,1774,1778,1782,1786,1790,1794,1798,1802,1806],{"type":1471,"tag":1472,"props":1705,"children":1706},{},[1707],{"type":1476,"value":1477},{"type":1471,"tag":1472,"props":1709,"children":1710},{},[1711],{"type":1476,"value":1482},{"type":1471,"tag":1484,"props":1713,"children":1714},{"id":1486},[1715],{"type":1476,"value":1489},{"type":1471,"tag":1472,"props":1717,"children":1718},{},[1719],{"type":1476,"value":1494},{"type":1471,"tag":1472,"props":1721,"children":1722},{},[1723],{"type":1476,"value":1499},{"type":1471,"tag":1472,"props":1725,"children":1726},{},[1727],{"type":1476,"value":1504},{"type":1471,"tag":1472,"props":1729,"children":1730},{},[1731],{"type":1476,"value":1509},{"type":1471,"tag":1484,"props":1733,"children":1734},{"id":1512},[1735],{"type":1476,"value":1515},{"type":1471,"tag":1472,"props":1737,"children":1738},{},[1739],{"type":1476,"value":1520},{"type":1471,"tag":1472,"props":1741,"children":1742},{},[1743],{"type":1476,"value":1525},{"type":1471,"tag":1472,"props":1745,"children":1746},{},[1747,1748,1753],{"type":1476,"value":1530},{"type":1471,"tag":1532,"props":1749,"children":1751},{"href":1534,"rel":1750},[1536],[1752],{"type":1476,"value":1539},{"type":1476,"value":1541},{"type":1471,"tag":1472,"props":1755,"children":1756},{},[1757],{"type":1476,"value":1546},{"type":1471,"tag":1484,"props":1759,"children":1760},{"id":1549},[1761],{"type":1476,"value":1552},{"type":1471,"tag":1472,"props":1763,"children":1764},{},[1765],{"type":1476,"value":1557},{"type":1471,"tag":1472,"props":1767,"children":1768},{},[1769],{"type":1476,"value":1562},{"type":1471,"tag":1472,"props":1771,"children":1772},{},[1773],{"type":1476,"value":1567},{"type":1471,"tag":1472,"props":1775,"children":1776},{},[1777],{"type":1476,"value":1572},{"type":1471,"tag":1484,"props":1779,"children":1780},{"id":1575},[1781],{"type":1476,"value":1578},{"type":1471,"tag":1472,"props":1783,"children":1784},{},[1785],{"type":1476,"value":1583},{"type":1471,"tag":1472,"props":1787,"children":1788},{},[1789],{"type":1476,"value":1588},{"type":1471,"tag":1472,"props":1791,"children":1792},{},[1793],{"type":1476,"value":1593},{"type":1471,"tag":1484,"props":1795,"children":1796},{"id":1596},[1797],{"type":1476,"value":1599},{"type":1471,"tag":1472,"props":1799,"children":1800},{},[1801],{"type":1476,"value":1604},{"type":1471,"tag":1472,"props":1803,"children":1804},{},[1805],{"type":1476,"value":1609},{"type":1471,"tag":1472,"props":1807,"children":1808},{},[1809],{"type":1476,"value":1614},{"title":1427,"searchDepth":1616,"depth":1616,"links":1811},[1812,1813,1814,1815,1816],{"id":1486,"depth":1616,"text":1489},{"id":1512,"depth":1616,"text":1515},{"id":1549,"depth":1616,"text":1552},{"id":1575,"depth":1616,"text":1578},{"id":1596,"depth":1616,"text":1599},1776151192942]