{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/LxhjuBcJDUcc3FfGNzlh/R7BfX9uL3FVWPpcJo0yP/BlgcHrQ_X-6.js"],
  "sourcesContent": ["import{jsx as e,jsxs as t}from\"react/jsx-runtime\";import{Link as n}from\"framer\";import{motion as i}from\"framer-motion\";import*as a from\"react\";export const richText=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:'Welcome to the \"Social Media Challenge Rewind\" series! \uD83D\uDE4C'}),/*#__PURE__*/e(\"p\",{children:'This blog series showcases the \"best of\" submissions from Paradime\\'s dbt\u2122 Data Modeling Challenge - Social Media Edition, highlighting the remarkable data professionals behind them.'}),/*#__PURE__*/t(\"p\",{children:[\"If you're unfamiliar with the Social Media Data Modeling Challenge, enrich your series experience by exploring these essential resources: the \",/*#__PURE__*/e(n,{href:\"https://www.youtube.com/watch?v=5RPUghtyCfM\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"challenge introduction video\"})}),\" and the \",/*#__PURE__*/e(n,{href:\"https://www.paradime.io/dbt-data-modeling-challenge\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"challenge landing page\"})}),\". They offer valuable background information to help you fully appreciate the insights shared in this series.\"]}),/*#__PURE__*/e(\"p\",{children:'In each \"Social Media Challenge Highlight Reel\" blog, you\\'ll discover:'}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Key Social Media insights\"}),\": Uncover valuable insights participants derived from social media datasets, revealing scroll-stopping stories about user behavior, engagement patterns, and global trends.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Analytics Engineering best practices\"}),\": Learn about the participants' approach to project execution, from initial analysis to final insights, including their coding techniques (SQL, dbt\u2122) and innovative use of tools (Paradime, MotherDuck, Hex).\"]})})]}),/*#__PURE__*/t(\"p\",{children:[\"Now, let's dive into our featured \",/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/social-media-data-modeling-challenge/tree/jayeson-gao\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"submission\"})}),\" by \",/*#__PURE__*/e(n,{href:\"https://www.linkedin.com/in/jayesongao/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Jayeson Gao\"})}),\"!\"]}),/*#__PURE__*/e(\"h2\",{children:/*#__PURE__*/e(\"strong\",{children:\"Introduction\"})}),/*#__PURE__*/t(\"p\",{children:[\"Hey! I'm \",/*#__PURE__*/e(n,{href:\"https://www.linkedin.com/in/jayesongao/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Jayeson\"})}),\", a Sr. Analyst at \",/*#__PURE__*/e(n,{href:\"https://www.linkedin.com/company/instacart/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Instacart\"})}),\" based in the Chicago suburbs. I love storytelling with data and exploring where data and design intersect. Always eager to expand my technical toolbox, I jumped at the chance to participate in this challenge when I saw it on Reddit. Despite being new to dbt and initially viewing this as a skill-sharpening exercise, I found myself with just 10 days left and prizes on the line. I focused on crafting an engaging story about TikTok virality within a realistic scope.\"]}),/*#__PURE__*/e(\"p\",{children:\"With discipline and grit, my efforts paid off beyond expectations, resulting in a second-place finish and a $2,000 prize. More importantly, it provided an invaluable learning experience. This project allowed me to explore modern data tools, connect with other professionals, and witness the impressive creativity of fellow participants. Overall, it was an incredibly rewarding journey that pushed me to grow both technically and creatively.\"}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h2\",{children:/*#__PURE__*/e(\"strong\",{children:\"Insights uncovered\"})}),/*#__PURE__*/t(\"p\",{children:[\"To dive deeper into my submission, check out my \",/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/social-media-data-modeling-challenge/tree/jayeson-gao\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"GitHub repo\"})}),\" and \",/*#__PURE__*/e(n,{href:\"https://www.canva.com/design/DAGQfeecTw8/mbV2jcyHfJH_ldnSyxWi6g/view?utm_content=DAGQfeecTw8&utm_campaign=designshare&utm_medium=link&utm_source=editor\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"presentation\"})}),\". Here are a few of my favorite insights I uncovered:\"]}),/*#__PURE__*/t(\"h3\",{children:[/*#__PURE__*/e(\"strong\",{children:\"1. \"}),/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/social-media-data-modeling-challenge/tree/jayeson-gao?tab=readme-ov-file#data-profile---what-stands-out\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:/*#__PURE__*/e(\"strong\",{children:\"Average # of Monthly Viral Videos & Viral Views by Rank Buckets\"})})})]}),/*#__PURE__*/e(\"p\",{children:\"Across the top 100 leaderboards over 30 months, the difference between the top 10 and the rest of the top 100 was significant.\"}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",height:\"334\",src:\"https://framerusercontent.com/images/qjrErN9MX9FrGByWM5O0XWG9TTc.png\",srcSet:\"https://framerusercontent.com/images/qjrErN9MX9FrGByWM5O0XWG9TTc.png?scale-down-to=512 512w,https://framerusercontent.com/images/qjrErN9MX9FrGByWM5O0XWG9TTc.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/qjrErN9MX9FrGByWM5O0XWG9TTc.png 1600w\",style:{aspectRatio:\"1600 / 669\"},width:\"800\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Approach\"}),\": I bucketed all songs and song placements in \",/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/social-media-data-modeling-challenge/blob/jayeson-gao/models/3_marts/mrt_tiktok_top_audio_by_month.sql\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"mrt_tiktok_top_audio_by_month\"})}),\" into ten buckets and averaged out virality stats across the 30 months.\"]}),/*#__PURE__*/t(\"h3\",{children:[/*#__PURE__*/e(\"strong\",{children:\"2. \"}),/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/social-media-data-modeling-challenge/tree/jayeson-gao?tab=readme-ov-file#the-best-performing-tiktok-audios---standardized-and-scored\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:/*#__PURE__*/e(\"strong\",{children:\"Best Performing Audios by Viral Views\"})})})]}),/*#__PURE__*/t(\"p\",{children:[\"Covid-19 Blues? - Natalie Taylor's \",/*#__PURE__*/e(n,{href:\"https://www.youtube.com/watch?v=caoP4dj2oro\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Surrender\"})}),' was the \"best performing\" audio using my scoring methodology on viral views. To find out who the final \"best performer\" and winner was based on both viral views and viral videos, check out my ',/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/social-media-data-modeling-challenge/blob/jayeson-gao/README.md\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"writeup\"})}),\" or \",/*#__PURE__*/e(n,{href:\"https://www.canva.com/design/DAGQfeecTw8/mbV2jcyHfJH_ldnSyxWi6g/view?utm_content=DAGQfeecTw8&utm_campaign=designshare&utm_medium=link&utm_source=editor\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"deck\"})}),\"!\"]}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",height:\"356\",src:\"https://framerusercontent.com/images/r3v3VyguVyFoOjcwPadartVNIfE.png\",srcSet:\"https://framerusercontent.com/images/r3v3VyguVyFoOjcwPadartVNIfE.png?scale-down-to=512 512w,https://framerusercontent.com/images/r3v3VyguVyFoOjcwPadartVNIfE.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/r3v3VyguVyFoOjcwPadartVNIfE.png 1600w\",style:{aspectRatio:\"1600 / 713\"},width:\"800\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Approach\"}),\": I created a normalized \",/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/social-media-data-modeling-challenge/tree/jayeson-gao?tab=readme-ov-file#key-metrics-and-methodology\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"scoring methodology\"})}),\" using 5 sub-metrics, combining gross stats and ranking stats. I also built a macro, \",/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/social-media-data-modeling-challenge/blob/jayeson-gao/macros/performance_scores.sql\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"performance_score.sql\"})}),\", within dbt to streamline these calculations.\"]}),/*#__PURE__*/t(\"h3\",{children:[/*#__PURE__*/e(\"strong\",{children:\"3. \"}),/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/social-media-data-modeling-challenge/tree/jayeson-gao?tab=readme-ov-file#predictors-of-success-which-song-attributes-do-well\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:/*#__PURE__*/e(\"strong\",{children:\"Attributes of Success\"})})})]}),/*#__PURE__*/e(\"p\",{children:\"Using random forest to find importance scores and linear regression to find coefficient values, valence (musical positivity) proved to be the most important and impactful attribute.\"}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",height:\"271\",src:\"https://framerusercontent.com/images/UfkWPl5VRZYV2CRk5273H7Kzo0.png\",srcSet:\"https://framerusercontent.com/images/UfkWPl5VRZYV2CRk5273H7Kzo0.png?scale-down-to=512 512w,https://framerusercontent.com/images/UfkWPl5VRZYV2CRk5273H7Kzo0.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/UfkWPl5VRZYV2CRk5273H7Kzo0.png 1600w\",style:{aspectRatio:\"1600 / 543\"},width:\"800\"}),/*#__PURE__*/t(\"h3\",{children:[/*#__PURE__*/e(\"strong\",{children:\"4. \"}),/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/social-media-data-modeling-challenge/tree/jayeson-gao?tab=readme-ov-file#bonus---mom-rankings-of-the-final-best-performers\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:/*#__PURE__*/e(\"strong\",{children:\"MoM Rank Movements of the Final Top 10 by Views\"})})})]}),/*#__PURE__*/t(\"p\",{children:[\"In my bonus section, I looked at the rank movements by views over the 30-month period for the final top 10 songs. Mariah Carey's \u201C\",/*#__PURE__*/e(n,{href:\"https://www.youtube.com/watch?v=RmUWWVZw28E\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"All I Want for Christmas Is You\"})}),\" \u201C (#9th overall; orange line) hit the charts every holiday season.\"]}),/*#__PURE__*/e(\"img\",{alt:\"\",className:\"framer-image\",height:\"269\",src:\"https://framerusercontent.com/images/FuuuJHkDB3X2OPZ1tcOuHNMeTv8.png\",srcSet:\"https://framerusercontent.com/images/FuuuJHkDB3X2OPZ1tcOuHNMeTv8.png?scale-down-to=512 512w,https://framerusercontent.com/images/FuuuJHkDB3X2OPZ1tcOuHNMeTv8.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/FuuuJHkDB3X2OPZ1tcOuHNMeTv8.png 1600w\",style:{aspectRatio:\"1600 / 539\"},width:\"800\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Approach\"}),\": I built this chart using Hex's native line/scatter plot combo and by inverting the axis to go from 100 to 1.\"]}),/*#__PURE__*/e(\"h2\",{children:/*#__PURE__*/e(\"strong\",{children:\"Toolkit for success\"})}),/*#__PURE__*/e(\"p\",{children:\"To tackle this challenge, I used the following set of tools:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://motherduck.com/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:/*#__PURE__*/e(\"strong\",{children:\"MotherDuck\"})})}),\" \",/*#__PURE__*/e(\"strong\",{children:\"for Data Warehousing and Computation\"}),\": Although I didn't utilize any fancy features, MotherDuck was incredibly easy to set up and use. I really enjoyed the instant SQL code fix and debug functionality.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://www.paradime.io/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:/*#__PURE__*/e(\"strong\",{children:\"Paradime\"})})}),/*#__PURE__*/e(\"strong\",{children:\" for dbt Development\"}),\": Being newer to analytics engineering, Paradime's platform and code editor made creating, testing, and deploying my models an extremely smooth and organized experience.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://hex.tech/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:/*#__PURE__*/e(\"strong\",{children:\"Hex\"})})}),/*#__PURE__*/e(\"strong\",{children:\" for Data Visualization\"}),\": Hex's notebook allows for analysis and visualization of both SQL queries and Python scripts, which made the analytics portion of the project super fun.\"]})})]}),/*#__PURE__*/e(\"h2\",{children:/*#__PURE__*/e(\"strong\",{children:\"How I used Paradime\"})}),/*#__PURE__*/e(\"p\",{children:\"Paradime was especially handy and easy to use for dbt development. The following features were particularly useful:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Code IDE: The integrated \",/*#__PURE__*/e(n,{href:\"https://docs.paradime.io/app-help/documentation/code-ide\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Code IDE\"})}),\" allowed me to use, \",/*#__PURE__*/e(n,{href:\"https://docs.paradime.io/app-help/documentation/code-ide/terminal/running-dbt\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"run dbt commands\"})}),\", view the \",/*#__PURE__*/e(n,{href:\"https://docs.paradime.io/app-help/documentation/code-ide/command-panel/lineage-preview\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"data lineage\"})}),\" of my models in visual form, and preview / validate my tables (\",/*#__PURE__*/e(n,{href:\"https://docs.paradime.io/app-help/documentation/code-ide/command-panel/data-explorer\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Data Explorer\"})}),\") all in one platform.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://docs.paradime.io/app-help/guides/paradime-101/getting-started-with-the-paradime-ide/dinoai-accelerating-your-analytics-engineering-workflow/accelerating-data-governance#id-2.-autogenerating-data-documentation\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Documentation Auto-generation\"})}),\": Although I didn't exploit this feature as much as I could have, this feature allowed me to instantly create descriptions and metadata for model columns and have all of it reflected in the .yml files.\"]})})]}),/*#__PURE__*/e(\"h2\",{children:/*#__PURE__*/e(\"strong\",{children:\"Where to Go From Here\"})}),/*#__PURE__*/e(\"p\",{children:\"This whole challenge, especially my experience with Paradime, made analytics engineering far more accessible than I initially thought. It was also a great opportunity to explore the functionalities and features of modern analytical tech stacks. Finally, I got to satisfy my own analytical curiosities with all the tools at my disposal to model and analyze data I was interested in. How often do you get to do that?\"}),/*#__PURE__*/e(\"p\",{children:\"I highly recommend signing up for the next challenge, especially if you love projects as a way to learn, get lost in the 'analysis sauce', or showcase your engineering and analytical expertise!\"})]});export const richText1=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"h2\",{children:\"Introduction\"}),/*#__PURE__*/t(\"p\",{children:[\"As the final posts are tallied and the last data points analyzed, it's time to unveil the results of Paradime's \",/*#__PURE__*/e(n,{href:\"https://www.paradime.io/dbt-data-modeling-challenge\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"dbt\u2122 Data Modeling Challenge - Social Media Edition\"})}),\"! Join us as we celebrate the remarkable talents of our participants and explore the groundbreaking insights they've uncovered from the vast world of social media data.\"]}),/*#__PURE__*/e(\"h2\",{children:\"About Paradime's Social Media Data Modeling Challenge\"}),/*#__PURE__*/e(\"p\",{children:\"At Paradime, we're committed to empowering data practitioners worldwide. The Social Media Edition of our dbt\u2122 Data Modeling Challenge offered a platform for experts to showcase their skills, uncover new insights, and highlight the pivotal role of analytics engineering in cultivating data-driven organizations.\"}),/*#__PURE__*/t(\"p\",{children:[\"Participants were invited to transform raw social media data into powerful insights using cutting-edge tools like \",/*#__PURE__*/e(n,{href:\"https://www.paradime.io/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Paradime\"})}),\", \",/*#__PURE__*/e(n,{href:\"https://motherduck.com/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"MotherDuck\"})}),\", and \",/*#__PURE__*/e(n,{href:\"https://hex.tech/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Hex\"})}),\". The challenge not only allowed them to demonstrate their SQL, dbt\u2122, and analytics expertise but also provided an opportunity to work with real-world social media data, showcasing their creativity and analytical prowess.\"]}),/*#__PURE__*/e(\"h2\",{children:\"Challenge Overview\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"TL;DR:\"}),\" Watch the \",/*#__PURE__*/e(n,{href:\"https://www.youtube.com/watch?v=5RPUghtyCfM\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"explainer video\"})}),\", or check out the \",/*#__PURE__*/e(n,{href:\"https://www.paradime.io/dbt-data-modeling-challenge\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"challenge landing page\"})}),\".\"]}),/*#__PURE__*/e(\"p\",{children:\"Open to data analysts, analytics engineers, data engineers, data scientists, and anyone passionate about social media analytics, the challenge ran from July 30th to September 9th, 2024. Participants were given access to:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://www.paradime.io/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Paradime\"})}),\" for SQL and dbt\u2122 development\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://motherduck.com/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"MotherDuck\"})}),\" for data warehousing and compute\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://hex.tech/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Hex\"})}),\" for data analysis and visualization\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/social-media-data-modeling-challenge\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"GitHub\"})}),\" for version control and project submission\"]})})]}),/*#__PURE__*/e(\"p\",{children:\"The goal was to craft SQL queries, develop dbt\u2122 models, and create compelling visualizations that would uncover trends and tell data-driven stories from social media data.\"}),/*#__PURE__*/e(\"h2\",{children:\"Judging Criteria\"}),/*#__PURE__*/e(\"p\",{children:\"Our panel of expert judges, including industry professionals from Hiive, BENlabs, Hex, MotherDuck, ConvertKit, and Paradime, evaluated submissions based on four key criteria:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Value of insights\"}),\" - Are the insights interesting and relevant?\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Complexity of insights\"}),\" - Did their project require analytics engineering expertise?\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Quality of materials -\"}),\" Is the code, data visualizations, and written insights of professional quality?\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Integration of new data\"}),\" - How effectively did the participant integrate social media data into their project?\"]})})]}),/*#__PURE__*/e(\"p\",{children:\"The judges were looking for creative, insightful, and well-executed projects that demonstrated exceptional data modeling and analysis skills.\"}),/*#__PURE__*/e(\"h2\",{children:\"Celebrating Our Top Three Participants\"}),/*#__PURE__*/e(\"p\",{children:\"While these participants secured the top spots, we extend heartfelt congratulations to everyone who participated. Their work was exceptional, and we'll showcase some of the standout insights in the next section.\"}),/*#__PURE__*/t(\"h3\",{children:[\"\uD83E\uDD47 First place: \",/*#__PURE__*/e(n,{href:\"https://www.linkedin.com/in/brunoszdl/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Bruno Souza de Lima\"})}),\" (Sr. Data Engineer, \",/*#__PURE__*/e(n,{href:\"https://www.linkedin.com/company/phdata/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"phData\"})}),\")\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Prize\"}),\": $3,000 Amazon gift card\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Submission\"}),\": \",/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/social-media-data-modeling-challenge/tree/bruno-lima\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"GitHub Repo\"})}),\", \",/*#__PURE__*/e(n,{href:\"https://app.hex.tech/97a2cfe2-8e02-474f-98d0-92397730cd27/app/f33cabdf-9c89-47e7-be9c-0ccb5df7c3e6/latest\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Hex Dashboard\"})})]}),/*#__PURE__*/t(\"p\",{children:[\"Bruno's \\\"\",/*#__PURE__*/e(n,{href:\"https://app.hex.tech/97a2cfe2-8e02-474f-98d0-92397730cd27/app/f33cabdf-9c89-47e7-be9c-0ccb5df7c3e6/latest\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Social Media Olympics\"})}),\"\\\" project explored how winning medals impact athletes' social media growth across platforms. His analysis revealed surprising findings, such as \",/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/social-media-data-modeling-challenge/tree/bruno-lima?tab=readme-ov-file#followers-and-growth\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"bronze\"})}),\" \",/*#__PURE__*/e(n,{href:\"https://app.hex.tech/97a2cfe2-8e02-474f-98d0-92397730cd27/app/f33cabdf-9c89-47e7-be9c-0ccb5df7c3e6/latest?selectedStaticCellId=e0d164ce-4203-48ff-bfe1-2e9d03ef43d4\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"medalists often surpassing silver medalists in social media growth\"})}),\". By blending engaging storytelling with sharp data modeling, Bruno captured the gold! His work stood out for its ability to quantify the complex relationship between athletic achievement and social media influence.\"]}),/*#__PURE__*/t(\"h3\",{children:[\"\uD83E\uDD48 Second place: \",/*#__PURE__*/e(n,{href:\"https://www.linkedin.com/in/jayesongao/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Jayeson Gao\"})}),\" (Sr. Analyst, \",/*#__PURE__*/e(n,{href:\"https://www.linkedin.com/company/instacart/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Instacart\"})}),\")\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Prize\"}),\": $2,000 Amazon gift card\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Submission\"}),\": \",/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/social-media-data-modeling-challenge/tree/jayeson-gao\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"GitHub Repo\"})}),\", \",/*#__PURE__*/e(n,{href:\"https://www.canva.com/design/DAGQfeecTw8/mbV2jcyHfJH_ldnSyxWi6g/view?utm_content=DAGQfeecTw8&utm_campaign=designshare&utm_medium=link&utm_source=editor\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Presentation\"})})]}),/*#__PURE__*/t(\"p\",{children:[\"Jayeson\u2019s \u201C\",/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/social-media-data-modeling-challenge/tree/jayeson-gao?tab=readme-ov-file#the-best-performing-tiktok-audios---standardized-and-scored\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"TikTok Audio Virality\"})}),\"\u201D submission unraveled the secrets of TikTok's viral audios, analyzing top sounds from 2019 to mid-2021. His detailed scoring system evaluated \",/*#__PURE__*/e(n,{href:\"https://www.canva.com/design/DAGQfeecTw8/mbV2jcyHfJH_ldnSyxWi6g/view?utm_content=DAGQfeecTw8&utm_campaign=designshare&utm_medium=link&utm_source=editor#14\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"consistency\"})}),\", \",/*#__PURE__*/e(n,{href:\"https://www.canva.com/design/DAGQfeecTw8/mbV2jcyHfJH_ldnSyxWi6g/view?utm_content=DAGQfeecTw8&utm_campaign=designshare&utm_medium=link&utm_source=editor#15\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"peak performance\"})}),\", and the \",/*#__PURE__*/e(n,{href:\"https://www.canva.com/design/DAGQfeecTw8/mbV2jcyHfJH_ldnSyxWi6g/view?utm_content=DAGQfeecTw8&utm_campaign=designshare&utm_medium=link&utm_source=editor#19\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"impact of song attributes\"})}),\". Jayeson's work stood out for its innovative approach to d\",/*#__PURE__*/e(n,{href:\"https://www.canva.com/design/DAGQfeecTw8/mbV2jcyHfJH_ldnSyxWi6g/view?utm_content=DAGQfeecTw8&utm_campaign=designshare&utm_medium=link&utm_source=editor#8\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"efining and quantifying TikTok success\"})}),\", providing valuable insights into what makes certain audio clips go viral on the platform.\"]}),/*#__PURE__*/t(\"h3\",{children:[\"\uD83E\uDD49 Third place (Tied): \",/*#__PURE__*/e(n,{href:\"https://www.linkedin.com/in/mads-spanggaard-christensen/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Mads Spanggaard Christensen\"})}),\" (Analytics Engineer, \",/*#__PURE__*/e(n,{href:\"https://www.linkedin.com/company/playable-/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Playable\"})}),\")\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Prize\"}),\": $1,000 Amazon gift card\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Submission\"}),\": \",/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/social-media-data-modeling-challenge/tree/mads-spanggaard\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"GitHub Repo\"})}),\", \",/*#__PURE__*/e(n,{href:\"https://app.hex.tech/6acecc42-da97-463b-9456-e13e98633ecc/app/25d36789-159e-4b00-88c3-79b3e2c6749a/latest\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Hex Dashboard\"})})]}),/*#__PURE__*/t(\"p\",{children:[\"Mads \u201C\",/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/social-media-data-modeling-challenge/tree/mads-spanggaard\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Unlocking TikTok Success\"})}),\"\u201D submission explored timing and music elements driving TikTok engagement, identifying \",/*#__PURE__*/e(n,{href:\"https://app.hex.tech/6acecc42-da97-463b-9456-e13e98633ecc/app/25d36789-159e-4b00-88c3-79b3e2c6749a/latest?selectedStaticCellId=a60d8b9b-3906-4151-aee5-c586cc395471\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"optimal posting times\"})}),\" and how s\",/*#__PURE__*/e(n,{href:\"https://app.hex.tech/6acecc42-da97-463b-9456-e13e98633ecc/app/25d36789-159e-4b00-88c3-79b3e2c6749a/latest?selectedStaticCellId=bb25add7-f2d9-4ca1-b989-1e5a285a0feb\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"pecific music rhythms boost interaction\"})}),\". His insightful \",/*#__PURE__*/e(n,{href:\"https://app.hex.tech/6acecc42-da97-463b-9456-e13e98633ecc/app/25d36789-159e-4b00-88c3-79b3e2c6749a/latest?selectedStaticCellId=3cccfc7f-2a93-4bdf-9513-a0e04844dbbf\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"heatmaps\"})}),\" and clear \",/*#__PURE__*/e(n,{href:\"https://app.hex.tech/6acecc42-da97-463b-9456-e13e98633ecc/app/25d36789-159e-4b00-88c3-79b3e2c6749a/latest?selectedStaticCellId=d3db1c1b-0b6f-4eeb-b3b7-a3009b09b12e\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"recommendations\"})}),\" offer a data-driven guide for creators aiming to maximize their TikTok reach. Mads' work provides actionable insights for content creators and marketers looking to optimize their TikTok strategy.\"]}),/*#__PURE__*/t(\"h3\",{children:[\"\uD83E\uDD49 Third place (Tied): \",/*#__PURE__*/e(n,{href:\"https://www.linkedin.com/in/parekh-hetvi/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Hetvi Parekh\"})}),\" (Sr. Data Scientist, \",/*#__PURE__*/e(n,{href:\"https://www.linkedin.com/company/bitgo-inc/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"BitGo\"})}),\") - $1,000 Amazon gift card\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Prize\"}),\": $1,000 Amazon gift card\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Submission\"}),\": \",/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/social-media-data-modeling-challenge/tree/hetvi-parekh\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"GitHub Repo\"})}),\", \",/*#__PURE__*/e(n,{href:\"https://app.hex.tech/42dc2781-240d-43d3-9d2e-f03e9bbc93c7/app/25917aed-bc8c-41e7-be0a-25048bcaedb1/latest\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Hex Dashboard\"})})]}),/*#__PURE__*/t(\"p\",{children:[\"Hetvi's \\\"\",/*#__PURE__*/e(n,{href:\"https://app.hex.tech/42dc2781-240d-43d3-9d2e-f03e9bbc93c7/app/25917aed-bc8c-41e7-be0a-25048bcaedb1/latest\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Mastering the Art of YouTube\"})}),'\" submission analyzed top trending videos, uncovering key features like concise ',/*#__PURE__*/e(n,{href:\"https://app.hex.tech/42dc2781-240d-43d3-9d2e-f03e9bbc93c7/app/25917aed-bc8c-41e7-be0a-25048bcaedb1/latest?selectedStaticCellId=b0c6b12f-a625-4c09-a50f-ecb27f6cf993\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"titles\"})}),\", \",/*#__PURE__*/e(n,{href:\"https://app.hex.tech/42dc2781-240d-43d3-9d2e-f03e9bbc93c7/app/25917aed-bc8c-41e7-be0a-25048bcaedb1/latest#key-takeaways\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"captions\"})}),\", and e\",/*#__PURE__*/e(n,{href:\"https://app.hex.tech/42dc2781-240d-43d3-9d2e-f03e9bbc93c7/app/25917aed-bc8c-41e7-be0a-25048bcaedb1/latest?selectedStaticCellId=2a72ac5d-2ce6-4042-baba-b3b5378a7560\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"xpressive thumbnails\"})}),\" that drive viral success. Her insights offer creators a clear \",/*#__PURE__*/e(n,{href:\"https://app.hex.tech/42dc2781-240d-43d3-9d2e-f03e9bbc93c7/app/25917aed-bc8c-41e7-be0a-25048bcaedb1/latest#executive-summary-%EF%B8%8F\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"roadmap to boost engagement and optimize video performance\"})}),\" on YouTube. Hetvi's work stands out for its practical applications in helping content creators improve their YouTube strategies.\"]}),/*#__PURE__*/e(\"h2\",{children:\"Top Insights from the Social Media Data Modeling Challenge\"}),/*#__PURE__*/e(\"p\",{children:\"In no particular order, here are insights that jumped off the judge's screens:\"}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(n,{href:\"https://app.hex.tech/97a2cfe2-8e02-474f-98d0-92397730cd27/app/f33cabdf-9c89-47e7-be9c-0ccb5df7c3e6/latest?selectedStaticCellId=e0d164ce-4203-48ff-bfe1-2e9d03ef43d4\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Social Media Olympics: The Medal Effect on Athletes' Online Presence\"})})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Author: \"}),/*#__PURE__*/e(n,{href:\"https://www.linkedin.com/in/brunoszdl/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:/*#__PURE__*/e(\"strong\",{children:\"Bruno Souza de Lima\"})})}),\" (Sr. Data Engineer, \",/*#__PURE__*/e(n,{href:\"https://www.linkedin.com/company/phdata/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"phData\"})}),\")\"]}),/*#__PURE__*/e(\"img\",{alt:\"__wf_reserved_inherit\",className:\"framer-image\",height:\"240\",src:\"https://framerusercontent.com/images/XnqIZyP4zpMoc7iYamQOZ12CJxY.png\",srcSet:\"https://framerusercontent.com/images/XnqIZyP4zpMoc7iYamQOZ12CJxY.png?scale-down-to=512 512w,https://framerusercontent.com/images/XnqIZyP4zpMoc7iYamQOZ12CJxY.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/XnqIZyP4zpMoc7iYamQOZ12CJxY.png 1644w\",style:{aspectRatio:\"1644 / 481\"},width:\"822\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Insight:\"}),\" Using \",/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/social-media-data-modeling-challenge/tree/bruno-lima?tab=readme-ov-file#socialblade-metrics-historical-data-\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"historical social media data\"})}),\" + \\xa0the \",/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/social-media-data-modeling-challenge/tree/bruno-lima?tab=readme-ov-file#olympic-games-2024-official-api-\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Olympic\u2019s official API\"})}),\", Bruno\u2019s analysis revealed that Olympic medalists experience significantly higher social media growth than non-medalists across all platforms, with YouTube showing the highest median growth. Gold medalists consistently lead in growth, though bronze sometimes surpasses silver. Notably, any medalist's growth is at least double that of non-medalists, suggesting that podium appearances significantly boost social media presence regardless of medal color.\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/social-media-data-modeling-challenge/tree/bruno-lima\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"View Bruno\u2019s full submission\"})}),\".\"]}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(n,{href:\"https://app.hex.tech/c7e89ceb-cdfb-4937-a7c2-39913a269634/app/37474c32-c68d-4d07-82c9-6ddfb7d622b3/latest?selectedStaticCellId=19ba4026-74b3-4343-aea4-5ea7431e8ee2\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Mental Health & Social Media: Platform Impact Assessment\"})})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Author: \"}),/*#__PURE__*/e(n,{href:\"https://www.linkedin.com/in/rasmusengelbrechtsorensen/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:/*#__PURE__*/e(\"strong\",{children:\"Rasmus Engelbrecht S\\xf8rensen\"})})}),\" (Lead Product Data Analyst, \",/*#__PURE__*/e(n,{href:\"https://www.linkedin.com/company/lunarbank/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Lunar\"})}),\")\"]}),/*#__PURE__*/e(\"img\",{alt:\"__wf_reserved_inherit\",className:\"framer-image\",height:\"249\",src:\"https://framerusercontent.com/images/DAGj70Jp2ubH6boihw9bQJla0YA.jpeg\",srcSet:\"https://framerusercontent.com/images/DAGj70Jp2ubH6boihw9bQJla0YA.jpeg?scale-down-to=512 512w,https://framerusercontent.com/images/DAGj70Jp2ubH6boihw9bQJla0YA.jpeg?scale-down-to=1024 1024w,https://framerusercontent.com/images/DAGj70Jp2ubH6boihw9bQJla0YA.jpeg 1156w\",style:{aspectRatio:\"1156 / 498\"},width:\"578\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Insight:\"}),\" Rasmus's study found TikTok users exhibited the poorest mental health outcomes across all measures. They reported higher rates of depression, restlessness, health issues, and purposeless social media use. TikTok users also experienced more distractions, worry, and concentration problems, along with increased social comparison. The study suggests TikTok's design, including endless scrolling and algorithm-driven content, may foster addictive behaviors and unrealistic expectations, contributing to these negative outcomes.\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/social-media-data-modeling-challenge/tree/rasmus-engelbrecht\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"View Rasmus\u2019s full submission\"})}),\".\"]}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/social-media-data-modeling-challenge/blob/jayeson-gao/README.md#the-best-performing-tiktok-audios---standardized-and-scored\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"TikTok: Top Ten Most Popular Audios\"})})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Author: \"}),/*#__PURE__*/e(n,{href:\"https://www.linkedin.com/in/jayesongao/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:/*#__PURE__*/e(\"strong\",{children:\"Jayeson Gao\"})})}),\" (Sr. Analyst, \",/*#__PURE__*/e(n,{href:\"https://www.linkedin.com/company/instacart/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Instacart\"})}),\")\"]}),/*#__PURE__*/e(\"img\",{alt:\"__wf_reserved_inherit\",className:\"framer-image\",height:\"588\",src:\"https://framerusercontent.com/images/p6eYaMBhvNFXY8e50LYYMbYMLC0.png\",srcSet:\"https://framerusercontent.com/images/p6eYaMBhvNFXY8e50LYYMbYMLC0.png?scale-down-to=512 512w,https://framerusercontent.com/images/p6eYaMBhvNFXY8e50LYYMbYMLC0.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/p6eYaMBhvNFXY8e50LYYMbYMLC0.png 1294w\",style:{aspectRatio:\"1294 / 1176\"},width:\"647\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Insight:\"}),' Jayeson\\'s analysis of TikTok audio popularity revealed that consistency is key to long-term success. The top-performing audio, \"Surrender\" by Natalie Taylor, excelled in both viral views and rankings consistency. Interestingly, \"Monkeys Spinning Monkeys\" ranked high overall despite never reaching top 10 monthly views, highlighting the importance of sustained performance over time. The study shows that while peak performance matters, consistent appearance in top charts is crucial for an audio\\'s enduring popularity on TikTok.']}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/social-media-data-modeling-challenge/tree/jayeson-gao\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"View Jayeson\u2019s full submission\"})}),\".\"]}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(n,{href:\"https://app.hex.tech/6acecc42-da97-463b-9456-e13e98633ecc/app/25d36789-159e-4b00-88c3-79b3e2c6749a/latest?selectedStaticCellId=bb25add7-f2d9-4ca1-b989-1e5a285a0feb\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"TikTok Success: Influence of Rhythm\"})})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Author: \"}),/*#__PURE__*/e(n,{href:\"https://www.linkedin.com/in/jayesongao/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:/*#__PURE__*/e(\"strong\",{children:\"Mads Spanggaard Christensen\"})})}),\" (Analytics Engineer, \",/*#__PURE__*/e(n,{href:\"https://www.linkedin.com/company/playable-/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Playable\"})}),\")\"]}),/*#__PURE__*/e(\"img\",{alt:\"__wf_reserved_inherit\",className:\"framer-image\",height:\"262\",src:\"https://framerusercontent.com/images/dFpLzYcCEvqJ52HzSt8d9g0xAg0.png\",srcSet:\"https://framerusercontent.com/images/dFpLzYcCEvqJ52HzSt8d9g0xAg0.png?scale-down-to=512 512w,https://framerusercontent.com/images/dFpLzYcCEvqJ52HzSt8d9g0xAg0.png 930w\",style:{aspectRatio:\"930 / 524\"},width:\"465\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Insight:\"}),' Mads\\' research uncovered a \"sweet spot\" in TikTok music rhythm that maximizes engagement. Videos featuring songs with moderate rhythm values (0.5 - 0.7) showed peak engagement, particularly in shares. Both very low and very high rhythm values corresponded with lower engagement across all metrics. This suggests that creators might boost their TikTok interaction rates by selecting music within this optimal rhythm range.']}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/social-media-data-modeling-challenge/tree/mads-spanggaard\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"View Mads\u2019s full submission\"})}),\".\"]}),/*#__PURE__*/e(\"h3\",{children:\"Social Media vs. Travel Reality: Instagram's Influence on Tourism\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Author: \"}),/*#__PURE__*/e(n,{href:\"https://www.linkedin.com/in/isin-pesch-32b489163/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:/*#__PURE__*/e(\"strong\",{children:\"Isin Pesch\"})})}),\" (Sr. Data Analytics Engineer, \",/*#__PURE__*/e(n,{href:\"https://www.linkedin.com/company/deel/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Deel\"})}),\")\"]}),/*#__PURE__*/e(\"img\",{alt:\"__wf_reserved_inherit\",className:\"framer-image\",height:\"315\",src:\"https://framerusercontent.com/images/QenPBwrUmla8AfgTSkEsu0Ic7s.png\",srcSet:\"https://framerusercontent.com/images/QenPBwrUmla8AfgTSkEsu0Ic7s.png?scale-down-to=512 512w,https://framerusercontent.com/images/QenPBwrUmla8AfgTSkEsu0Ic7s.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/QenPBwrUmla8AfgTSkEsu0Ic7s.png 1565w\",style:{aspectRatio:\"1565 / 630\"},width:\"782\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Insight:\"}),\" Isin's study revealed intriguing disparities between Instagram country mentions and actual tourism hotspots in 2019. While many popular tourist destinations appeared in both datasets, East Asian countries like China, Hong Kong, and Macao ranked high in international arrivals but were notably absent from top Instagram mentions. This discrepancy might be attributed to Instagram's ban in China, highlighting how platform availability can significantly influence online travel representation and potentially impact tourism trends.\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/social-media-data-modeling-challenge/tree/isin-pesch\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"View Isin\u2019s full submission\"})}),\".\"]}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/social-media-data-modeling-challenge/blob/ilse-tse/README.md#python-javascript-typescript-and-java-are-popular-programming-languages-of-choice-in-the-kaggle--stack-overflow-community\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Python's Popularity: Decoding Its Dominance in Data Job Postings\"})})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Author: \"}),/*#__PURE__*/e(n,{href:\"https://www.linkedin.com/in/ilsetse/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:/*#__PURE__*/e(\"strong\",{children:\"Ilse Tse\"})})}),\" (Data Scientist, \",/*#__PURE__*/e(n,{href:\"https://www.linkedin.com/company/johnson-controls/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Johnson Controls\"})}),\")\"]}),/*#__PURE__*/e(\"img\",{alt:\"__wf_reserved_inherit\",className:\"framer-image\",height:\"216\",src:\"https://framerusercontent.com/images/6v4ttxXZgql3J9M3Sr888ujZUkA.jpeg\",srcSet:\"https://framerusercontent.com/images/6v4ttxXZgql3J9M3Sr888ujZUkA.jpeg?scale-down-to=512 512w,https://framerusercontent.com/images/6v4ttxXZgql3J9M3Sr888ujZUkA.jpeg 932w\",style:{aspectRatio:\"932 / 433\"},width:\"466\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Insight:\"}),\" Ilse\u2019s analysis of \",/*#__PURE__*/e(n,{href:\"https://huggingface.co/datasets/lukebarousse/data_jobs\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"job postings on social media\"})}),\" revealed that Python is the second most sought after skill (after SQL) among data roles.\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/social-media-data-modeling-challenge/tree/ilse-tse\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"View Ilse\u2019s full submission\"})}),\".\"]}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(n,{href:\"https://app.hex.tech/42dc2781-240d-43d3-9d2e-f03e9bbc93c7/app/25917aed-bc8c-41e7-be0a-25048bcaedb1/latest?selectedStaticCellId=4b87ea18-85c1-4332-930d-4720a9320a61\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"YouTube Engagement: Strategies for Doubling Viewer Interaction\"})})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Author: Hetvi Parekh\"}),\" (Sr. Data Scientist, \",/*#__PURE__*/e(n,{href:\"https://www.linkedin.com/company/bitgo-inc/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"BitGo\"})}),\")\"]}),/*#__PURE__*/e(\"img\",{alt:\"__wf_reserved_inherit\",className:\"framer-image\",height:\"226\",src:\"https://framerusercontent.com/images/87KL8ygDEM3VWLa3Kfk78s6GrdM.png\",srcSet:\"https://framerusercontent.com/images/87KL8ygDEM3VWLa3Kfk78s6GrdM.png?scale-down-to=512 512w,https://framerusercontent.com/images/87KL8ygDEM3VWLa3Kfk78s6GrdM.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/87KL8ygDEM3VWLa3Kfk78s6GrdM.png 1669w\",style:{aspectRatio:\"1669 / 452\"},width:\"834\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Insight:\"}),\" Hetvi's analysis uncovered two key strategies for boosting YouTube engagement. First, including captions significantly increases both engagement rates and views, making content more accessible and appealing to a wider audience. Second, video titles play a crucial role in performance, with shorter, more concise titles generally outperforming longer ones in terms of engagement and views. These findings underscore the importance of accessibility and brevity in optimizing YouTube content for success.\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/social-media-data-modeling-challenge/tree/hetvi-parekh\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"View Hetvi\u2019s full submission\"})}),\".\"]}),/*#__PURE__*/e(\"h3\",{children:\"COVID-19 Sentiment: The Social Media Mood Swings of a Pandemic\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Author: \"}),/*#__PURE__*/e(n,{href:\"https://www.linkedin.com/in/ufukceyhanli/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:/*#__PURE__*/e(\"strong\",{children:\"Ufuk Taner Ceyhanl\u0131\"})})}),\" (Manager - Data Insights, \",/*#__PURE__*/e(n,{href:\"https://www.linkedin.com/company/mewssystems/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Mews\"})}),\")\"]}),/*#__PURE__*/e(\"img\",{alt:\"__wf_reserved_inherit\",className:\"framer-image\",height:\"357\",src:\"https://framerusercontent.com/images/rs5uzSjUxDNCWlmYUYybRHkmYxQ.jpeg\",srcSet:\"https://framerusercontent.com/images/rs5uzSjUxDNCWlmYUYybRHkmYxQ.jpeg?scale-down-to=512 512w,https://framerusercontent.com/images/rs5uzSjUxDNCWlmYUYybRHkmYxQ.jpeg?scale-down-to=1024 1024w,https://framerusercontent.com/images/rs5uzSjUxDNCWlmYUYybRHkmYxQ.jpeg 1162w\",style:{aspectRatio:\"1162 / 714\"},width:\"581\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Insight:\"}),\" Ufuk's study mapped how key pandemic events shaped sentiment on social media, revealing significant mood shifts. The WHO's declaration of COVID-19 as a pandemic and global cases surpassing 1 million triggered widespread panic and negative sentiment. However, Pfizer's announcement of a 90% effective vaccine marked a turning point, shifting sentiment from negative to positive. The U.S. FDA's full approval of the Pfizer-BioNTech vaccine later emerged as the peak of positive sentiment during the pandemic, highlighting how scientific breakthroughs profoundly influenced public mood throughout the crisis.\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/social-media-data-modeling-challenge/tree/ufuk-ceyhanli\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"View Ufuk\u2019s full submission\"})}),\".\"]}),/*#__PURE__*/t(\"p\",{children:[\"These insights represent just a fraction of the remarkable work produced by our participants. To view all 16 submissions, check out the challenge\u2019s \",/*#__PURE__*/e(n,{href:\"https://github.com/paradime-io/social-media-data-modeling-challenge/blob/main/README.md#-view-all-submissions\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"GitHub Repo\"})}),\".\"]}),/*#__PURE__*/e(\"h2\",{children:\"Conclusion\"}),/*#__PURE__*/e(\"p\",{children:\"As we wrap up Paradime's dbt\u2122 Data Modeling Challenge - Social Media Edition, we're astounded by the creativity, technical prowess, and analytical insight demonstrated by all participants.\"}),/*#__PURE__*/e(\"p\",{children:\"Paradime is constantly running data modeling challenges, and our next one starts in January! If you're interested in participating, pre-register below!\"}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})})]});export const richText2=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"In this 3 part series, we will go through the anatomy of a dbt\u2122 command and how analytics engineers can use them to power their data transformation pipelines. Every dbt\u2122 command has its own options and parameters and complex syntax that one can apply.\"}),/*#__PURE__*/e(\"p\",{children:\"In the first article, we will cover the the basics, followed by graph operators in the second and then in the last article we will look at selector methods. So, lets get started \uD83E\uDD18.\"}),/*#__PURE__*/e(\"img\",{alt:\"dbt-cli-cheatsheet-list-of-commands\",className:\"framer-image\",height:\"2120\",src:\"https://framerusercontent.com/images/gluXpSbRzAjJWfJmqkptTQ8us.png\",srcSet:\"https://framerusercontent.com/images/gluXpSbRzAjJWfJmqkptTQ8us.png?scale-down-to=1024 960w,https://framerusercontent.com/images/gluXpSbRzAjJWfJmqkptTQ8us.png?scale-down-to=2048 1920w,https://framerusercontent.com/images/gluXpSbRzAjJWfJmqkptTQ8us.png?scale-down-to=4096 3840w,https://framerusercontent.com/images/gluXpSbRzAjJWfJmqkptTQ8us.png 3976w\",style:{aspectRatio:\"3976 / 4240\"},width:\"1988\"}),/*#__PURE__*/t(\"h3\",{children:[\"The Basics: \",/*#__PURE__*/e(\"code\",{children:\"dbt run\"})]}),/*#__PURE__*/t(\"p\",{children:[\"The bread and butter of dbt\u2122 is the \",/*#__PURE__*/e(\"code\",{children:\"run\"}),' command. It\\'s like hitting the \"Go\" button on your data transformations. The ',/*#__PURE__*/e(\"code\",{children:\"dbt run\"}),\" command is the most complex and can be broken down into 4 parts as follows:\"]}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"arguments\"}),\" like \",/*#__PURE__*/e(\"code\",{children:\"--select\"}),\", \",/*#__PURE__*/e(\"code\",{children:\"--exclude\"}),\" and others\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"model names\"}),\" to choose what models to run\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"method selectors\"}),\" offering ability to fine tune which models to run\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"graph selectors\"}),\" offering further fine tuning to apply complex boolean-like logic to further pin down the selections between method selectors\"]})})]}),/*#__PURE__*/e(\"img\",{alt:\"anatomy of \",className:\"framer-image\",height:\"1476\",src:\"https://framerusercontent.com/images/X3QXsA3S4zTkrvQtoUK4S1JCBqM.png\",srcSet:\"https://framerusercontent.com/images/X3QXsA3S4zTkrvQtoUK4S1JCBqM.png?scale-down-to=512 512w,https://framerusercontent.com/images/X3QXsA3S4zTkrvQtoUK4S1JCBqM.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/X3QXsA3S4zTkrvQtoUK4S1JCBqM.png?scale-down-to=2048 2048w,https://framerusercontent.com/images/X3QXsA3S4zTkrvQtoUK4S1JCBqM.png?scale-down-to=4096 4096w,https://framerusercontent.com/images/X3QXsA3S4zTkrvQtoUK4S1JCBqM.png 4592w\",style:{aspectRatio:\"4592 / 2952\"},width:\"2296\"}),/*#__PURE__*/t(\"p\",{children:[\"In this article we will consider only the most important options analytics engineers need know. In the following articles of this series we will go into the details of method and graph selectors.\",/*#__PURE__*/t(\"code\",{children:[\"\u200D\",/*#__PURE__*/e(\"br\",{})]})]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"But wait, there's more! Add more power with these options:\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(\"strong\",{children:\"--select:\"})}),\" Run specific models\"]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/t(\"p\",{children:[\"\u200D\",/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(\"strong\",{children:\"--exclude:\"})}),\" Skip certain models\"]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(\"strong\",{children:\"--full-refresh:\"})}),\" Rebuild everything from scratch (you can blow up your CFOs data budget if you do this without fully understanding the consequences \uD83D\uDE1B)\",/*#__PURE__*/t(\"code\",{children:[\"\u200D\",/*#__PURE__*/e(\"br\",{})]})]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(\"strong\",{children:\"--vars:\"})}),\" Pass variables in the models\",/*#__PURE__*/t(\"code\",{children:[\"\u200D\",/*#__PURE__*/e(\"br\",{})]})]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(\"strong\",{children:\"--threads:\"})}),\" Speed up the runs with multiple threads\"]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h3\",{children:\"Running Tests\"}),/*#__PURE__*/e(\"p\",{children:\"Don't let bad data crash your party.\"}),/*#__PURE__*/t(\"p\",{children:[\"Use \",/*#__PURE__*/e(\"code\",{children:\"dbt test\"}),\" to keep your transformations in check and apply data quality best practices to your dbt\u2122 transformation pipelines:\"]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[\"\u200D\",/*#__PURE__*/e(\"code\",{children:\"\u200D\"}),\"Get selective with:\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(\"strong\",{children:\"--select:\"})}),\" Test specific models\"]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"p\",{children:\"Run schema tests only\"}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h3\",{children:\"Source Freshness\"}),/*#__PURE__*/e(\"p\",{children:\"Source freshness in dbt\u2122 is like a built-in data freshness checker. It helps you:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Monitor when your source data was last updated\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Set expectations for how recent your data should be\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Alert you when data is stale\"})})]}),/*#__PURE__*/e(\"p\",{children:\"To check the freshness of all you defined sources, run:\"}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h3\",{children:\"Compile\"}),/*#__PURE__*/t(\"p\",{children:[\"Use \",/*#__PURE__*/e(\"code\",{children:\"dbt compile\"}),\" to convert all your dbt\u2122 models with their Jinja references into raw SQL. This is the SQL dbt\u2122 will run against your data warehouse. It's like X-ray vision for your SQL:\"]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"When your dbt\u2122 models fail to run, you need to start with the compiled SQL first.\"}),/*#__PURE__*/e(\"h3\",{children:\"Generate Documentation\"}),/*#__PURE__*/e(\"p\",{children:\"Convert all your schema and table description into static HTML files and then serve them from a server or cloud bucket like AWS S3.\"}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h3\",{children:\"Debug Mode\"}),/*#__PURE__*/t(\"p\",{children:[\"When you can\u2019t make head or tail of errors your are seeing during development or production runs, use the \",/*#__PURE__*/e(\"code\",{children:\"--debug\"}),\" option. This will generate additional logs in your terminal to help triage the situation. This is most useful in diagnosing warehouse connection errors.\"]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h3\",{children:\"The Snapshot\"}),/*#__PURE__*/e(\"p\",{children:\"Capture data changes over time:\"}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h3\",{children:\"Build everything\"}),/*#__PURE__*/e(\"p\",{children:\"The all-in-one command for the impatient:\"}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"It runs, tests, and snapshots in one go. \uD83D\uDE80.\"}),/*#__PURE__*/t(\"h3\",{children:[\"CSVs: \",/*#__PURE__*/e(\"code\",{children:\"dbt seed\"})]}),/*#__PURE__*/t(\"p\",{children:[\"Convert CSV files to tables\",/*#__PURE__*/t(\"code\",{children:[\"\u200D\",/*#__PURE__*/e(\"br\",{})]})]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://www.paradime.io/blog/feature-drop-rainbow-csv-extension\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"View and lint CSV\"})}),\" like a pro in Paradime Code IDE.\"]}),/*#__PURE__*/t(\"h3\",{children:[\"List models: \",/*#__PURE__*/e(\"code\",{children:\"dbt ls\"})]}),/*#__PURE__*/e(\"p\",{children:\"List your models\"}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/t(\"h3\",{children:[\"Preview model output: \",/*#__PURE__*/e(\"code\",{children:\"dbt show\"})]}),/*#__PURE__*/e(\"p\",{children:\"Preview your model's output:\"}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h3\",{children:\"Retry when something fails\"}),/*#__PURE__*/e(\"p\",{children:\"Oops, something failed? Try again:\"}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/t(\"h3\",{children:[\"Custom macros: \",/*#__PURE__*/e(\"code\",{children:\"dbt run-operation\"})]}),/*#__PURE__*/e(\"p\",{children:\"Run custom macros:\"}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h3\",{children:\"Clone production environment\"}),/*#__PURE__*/e(\"p\",{children:'Clone your production environment faster than you can say \"duplicate\":'}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h3\",{children:\"Wrap It Up\"}),/*#__PURE__*/e(\"p\",{children:\"There you have it, folks! These dbt\u2122 commands and options will get your started. Mix and match to suit your needs and add multiple commands together to do perform more complex tasks.\"})]});export const richText3=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"In the final article in this series, we will dive into the world of selector methods for even more precision and flexibility in model selection during data transformations.\"}),/*#__PURE__*/e(\"h3\",{children:\"What are Selector Methods?\"}),/*#__PURE__*/t(\"p\",{children:[\"Selector methods in dbt\u2122 allow you to filter resources based on specific properties using the \",/*#__PURE__*/e(\"code\",{children:\"method:value\"}),\" syntax giving you the power to target exactly what you need.\"]}),/*#__PURE__*/e(\"img\",{alt:\"__wf_reserved_inherit\",className:\"framer-image\",height:\"1476\",src:\"https://framerusercontent.com/images/X3QXsA3S4zTkrvQtoUK4S1JCBqM.png\",srcSet:\"https://framerusercontent.com/images/X3QXsA3S4zTkrvQtoUK4S1JCBqM.png?scale-down-to=512 512w,https://framerusercontent.com/images/X3QXsA3S4zTkrvQtoUK4S1JCBqM.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/X3QXsA3S4zTkrvQtoUK4S1JCBqM.png?scale-down-to=2048 2048w,https://framerusercontent.com/images/X3QXsA3S4zTkrvQtoUK4S1JCBqM.png?scale-down-to=4096 4096w,https://framerusercontent.com/images/X3QXsA3S4zTkrvQtoUK4S1JCBqM.png 4592w\",style:{aspectRatio:\"4592 / 2952\"},width:\"2296\"}),/*#__PURE__*/e(\"h3\",{children:\"Wildcard Magic\"}),/*#__PURE__*/e(\"p\",{children:\"Most selector methods support unix-style wildcards. Here's a quick rundown:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"*\"}),\": Matches any number of characters (including none)\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"?\"}),\": Matches any single character\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"[abc]\"}),\": Matches one character listed in the bracket\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"[a-z]\"}),\": Matches one character from the specified range in the bracket\"]})})]}),/*#__PURE__*/e(\"p\",{children:\"Example:\"}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"h3\",{children:[/*#__PURE__*/e(\"code\",{children:\"\u200D\"}),\"\u200D\"]}),/*#__PURE__*/e(\"h3\",{children:\"The Selectors\"}),/*#__PURE__*/e(\"h5\",{children:\"1. Tag Selector\"}),/*#__PURE__*/t(\"p\",{children:[\"Use \",/*#__PURE__*/e(\"code\",{children:\"tag:\"}),\" to select models with a specific tag.\"]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"\u200D\"})}),/*#__PURE__*/t(\"h5\",{children:[/*#__PURE__*/e(\"code\",{children:\"\u200D\"}),\"2. Source Selector\"]}),/*#__PURE__*/t(\"p\",{children:[\"Use \",/*#__PURE__*/e(\"code\",{children:\"source:\"}),\" to select models that reference a specified source.\"]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h5\",{children:\"3. Resource Type Selector\"}),/*#__PURE__*/t(\"p\",{children:[\"Use \",/*#__PURE__*/e(\"code\",{children:\"resource_type:\"}),\" to select nodes of a specific type.\"]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h5\",{children:\"4. Path Selector\"}),/*#__PURE__*/t(\"p\",{children:[\"Use \",/*#__PURE__*/e(\"code\",{children:\"path:\"}),\" to select models/sources defined at or under a specific path.\"]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h5\",{children:\"5. File Selector\"}),/*#__PURE__*/t(\"p\",{children:[\"Use \",/*#__PURE__*/e(\"code\",{children:\"file:\"}),\" to select a model by filename:\"]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[\"\u200D\",/*#__PURE__*/e(\"code\",{children:\"\u200D\"}),\"\u200D\"]}),/*#__PURE__*/e(\"h5\",{children:\"6. FQN (Fully Qualified Name) Selector\"}),/*#__PURE__*/t(\"p\",{children:[\"Use \",/*#__PURE__*/e(\"code\",{children:\"fqn:\"}),\" to select nodes based on their fully qualified name:\"]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[\"\u200D\",/*#__PURE__*/e(\"code\",{children:\"\u200D\"}),\"\u200D\"]}),/*#__PURE__*/e(\"h5\",{children:\"7. Package Selector\"}),/*#__PURE__*/t(\"p\",{children:[\"Use \",/*#__PURE__*/e(\"code\",{children:\"package:\"}),\" to select models defined within the root project or an installed dbt\u2122 package.\",/*#__PURE__*/e(\"code\",{children:\"\u200D\"})]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"code\",{children:\"\u200D\"})}),/*#__PURE__*/t(\"h5\",{children:[/*#__PURE__*/e(\"code\",{children:\"\u200D\"}),\"8. Config Selector\"]}),/*#__PURE__*/t(\"p\",{children:[\"Use \",/*#__PURE__*/e(\"code\",{children:\"config:\"}),\" to select models that match a specified node config.\"]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h5\",{children:\"9. Test Type Selector\"}),/*#__PURE__*/t(\"p\",{children:[\"Use \",/*#__PURE__*/e(\"code\",{children:\"test_type:\"}),\" to select tests based on type.\"]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h5\",{children:\"10. Test Name Selector\"}),/*#__PURE__*/t(\"p\",{children:[\"Use \",/*#__PURE__*/e(\"code\",{children:\"test_name:\"}),\" to select tests based on the name of the test defined.\"]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h5\",{children:\"11. State Selector\"}),/*#__PURE__*/t(\"p\",{children:[\"Use \",/*#__PURE__*/e(\"code\",{children:\"state:\"}),\" to select nodes by comparing them against a previous version of the project.\"]}),/*#__PURE__*/t(\"p\",{children:[\"This is a pretty big topic in itself with many variants. For an in-depth understanding check the \",/*#__PURE__*/e(n,{href:\"https://docs.paradime.io/app-help/concepts/dbt-basics/methods#state-method\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Paradime docs on state selector\"})}),\". It\u2019s pretty intense \uD83D\uDE00.\"]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h5\",{children:\"12. Exposure Selector\"}),/*#__PURE__*/t(\"p\",{children:[\"Use \",/*#__PURE__*/e(\"code\",{children:\"exposure:\"}),\" to select the parent resources of an exposure.\"]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h5\",{children:\"13. Metric Selector\"}),/*#__PURE__*/t(\"p\",{children:[\"Use \",/*#__PURE__*/e(\"code\",{children:\"metric:\"}),\" to select parent resources of a metric.\"]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h5\",{children:\"14. Results Selector\"}),/*#__PURE__*/t(\"p\",{children:[\"Use \",/*#__PURE__*/e(\"code\",{children:\"result:\"}),\" to select resources based on their results status from a previous execution.\"]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h5\",{children:\"15. Source Status Selector\"}),/*#__PURE__*/t(\"p\",{children:[\"Use \",/*#__PURE__*/e(\"code\",{children:\"source_status:\"}),\" to select based on the freshness of sources.\"]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h5\",{children:\"16. Group Selector\"}),/*#__PURE__*/t(\"p\",{children:[\"Use \",/*#__PURE__*/e(\"code\",{children:\"group:\"}),\" to select models defined within a specified group.\"]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h5\",{children:\"17. Access Selector\"}),/*#__PURE__*/t(\"p\",{children:[\"Use \",/*#__PURE__*/e(\"code\",{children:\"access:\"}),\" to select models based on their access property.\"]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h5\",{children:\"18. Version Selector\"}),/*#__PURE__*/t(\"p\",{children:[\"Use \",/*#__PURE__*/e(\"code\",{children:\"version:\"}),\" to select versioned models.\"]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h5\",{children:\"19. Semantic Model Selector\"}),/*#__PURE__*/t(\"p\",{children:[\"Use \",/*#__PURE__*/e(\"code\",{children:\"semantic_model:\"}),\" to select semantic models.\"]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h5\",{children:\"20. Saved Query Selector\"}),/*#__PURE__*/t(\"p\",{children:[\"Use \",/*#__PURE__*/e(\"code\",{children:\"saved_query:\"}),\" to select saved queries.\"]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h5\",{children:\"21. Unit Test Selector\"}),/*#__PURE__*/t(\"p\",{children:[\"Use \",/*#__PURE__*/e(\"code\",{children:\"unit_test:\"}),\" to select dbt\u2122 unit tests.\"]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h3\",{children:\"Pro Tips for Selector Mastery\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Combine Selectors\"}),\": Mix and match for precision targeting.\"]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Use Graph Operators\"}),\": Combine with \",/*#__PURE__*/e(\"code\",{children:\"+\"}),\" and \",/*#__PURE__*/e(\"code\",{children:\"@\"}),\" for complex selections.\"]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Exclude with Negation\"}),\": Use \",/*#__PURE__*/e(\"code\",{children:\"--exclude \"}),\"to exclude certain models.\"]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Default Method\"}),\": If you omit the method, dbt\u2122 will default to one of path, file, or fqn.\"]}),/*#__PURE__*/e(\"h3\",{children:\"Advanced uses\"}),/*#__PURE__*/e(\"p\",{children:\"Combining selector functions with graph operators, analytics engineers can create complex dbt\u2122 commands that execute exactly the models as needed. In this section, we share with you advanced use cases that you can use in your own dbt\u2122 projects.\"}),/*#__PURE__*/e(\"h5\",{children:\"1. The Kitchen Sink\"}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"What's happening here?\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"tag:nightly\"}),\": Selects all models tagged with 'nightly'\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"+final_model\"}),\": Adds \",/*#__PURE__*/e(\"code\",{children:\"final_model\"}),\" and all its upstream dependencies\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:'--exclude \"staging.excluded_model+'}),'\": Excludes ',/*#__PURE__*/e(\"code\",{children:\"excluded_model\"}),\" and all its downstream dependencies\"]})})]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Use case:\"}),\" Run nightly models and critical path, but skip a problematic staging model and its dependents.\"]}),/*#__PURE__*/e(\"h5\",{children:\"2. The Wildcard Wizard\"}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"What's the magic here?\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"staging.*\"}),\": All models in the staging directory\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"intermediate.*\"}),\": All models in the intermediate directory\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"+analytics.critical_metric\"}),\": The critical metric model and its dependencies\"]})})]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Use case:\"}),\" Refresh all staging and intermediate models, ensuring a critical metric is up-to-date.\"]}),/*#__PURE__*/e(\"h5\",{children:\"3. The Exclusion Expert\"}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Let's decode:\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"tag:hourly\"}),\": Excludes models tagged as \",/*#__PURE__*/e(\"code\",{children:\"hourly\"})]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"tag:weekly\"}),\": Excludes models tagged for \",/*#__PURE__*/e(\"code\",{children:\"weekly\"}),\" runs\"]})})]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Use case:\"}),\" Run everything except hourly models and weekly-only models.\"]}),/*#__PURE__*/e(\"h5\",{children:\"4. The Intersection Inspector\"}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"What's intersecting? Selects models that are:\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Tagged as 'critical'\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Tagged as 'nightly'\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Dependencies of \",/*#__PURE__*/e(\"code\",{children:\"final_dashboard\"})]})})]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Use case:\"}),\" Run critical nightly models that affect the final dashboard.\"]}),/*#__PURE__*/e(\"h5\",{children:\"5. The Path Prowler\"}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Path perfection:\"})}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"path:models/staging/core\"}),\": All models in the core staging path\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"path:models/mart/finance+\"}),\": Finance mart models and their children\"]})})]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Use case:\"}),\" Refresh core staging and propagate changes through finance models.\"]}),/*#__PURE__*/e(\"h3\",{children:\"Wrap Up\"}),/*#__PURE__*/e(\"p\",{children:\"There you have it - these advanced graph operator techniques will let you slice and dice your dbt\u2122 project with precision. You will be able to execute exactly the models you want in your production dbt\u2122 pipelines.\"})]});export const richText4=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/t(\"p\",{children:[\"Ever felt like creating diagrams is a pain? Enter \",/*#__PURE__*/e(n,{href:\"https://github.com/mermaid-js/mermaid#readme\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Mermaid.js\"})}),\", the game-changer in the world of visualization.\"]}),/*#__PURE__*/e(\"h3\",{children:\"What's the buzz about?\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://github.com/mermaid-js/mermaid#readme\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Mermaid.js\"})}),\" is the brainchild of \",/*#__PURE__*/e(n,{href:\"https://github.com/knsv\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Knut Sveidqvist,\"})}),\" a Swedish developer who wanted to make diagramming as easy as typing. Since its inception in 2014, Mermaid has exploded in popularity and has been starred 70k+ times on Github. Today, it's used by tech giants like GitHub, GitLab, and Atlassian. Even JavaScript guru Kyle Simpson swears by it!\"]}),/*#__PURE__*/e(\"p\",{children:\"The philosophy? Simple. Diagrams as code. No more clicking and dragging shapes around. Just write some text, and boom! You've got a diagram. It's like magic, but for geeks.\"}),/*#__PURE__*/e(\"h3\",{children:\"Why should you care?\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Simplicity Redefined\"}),\": Mermaid.js strips away the complexity of traditional diagramming tools. You don't need to learn a new interface or fumble with drag-and-drop elements. If you can write a simple text file, you can create a diagram. This simplicity means you spend less time fighting with your tools and more time expressing your ideas.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Version Control Integration\"}),': Your diagrams are now just text files. This means they can be versioned, diffed, and merged just like your code. No more \"DiagramFinalFinalV2.png\" files cluttering your projects. Track changes, collaborate with ease, and always know who changed what in your diagrams.']})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Customization at Your Fingertips\"}),\": Mermaid.js offers a wide range of customization options. Want to change colors, styles, or layouts? It's all possible with simple text commands. No need to click through endless menus or option panels. This level of customization ensures your diagrams match your brand or personal style without the headache.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Ubiquitous Compatibility\"}),\": Mermaid.js isn't a standalone tool \u2013 it's designed to work where you already work. It integrates seamlessly with Markdown, making it perfect for documentation, wikis, and even GitHub README files. This compatibility means you can add rich, visual content to your existing workflows without switching contexts or tools.\"]})})]}),/*#__PURE__*/e(\"h3\",{children:\"Top Use Cases (AKA Where Mermaid Shines)\"}),/*#__PURE__*/e(\"h5\",{children:\"1. Flowcharts\"}),/*#__PURE__*/e(\"p\",{children:\"Need to explain your coffee-making process? Here's how:\"}),/*#__PURE__*/e(\"img\",{alt:\"__wf_reserved_inherit\",className:\"framer-image\",height:\"362\",src:\"https://framerusercontent.com/images/qUlPKVuhe5EbT6OlNiguZ4oKBJQ.png\",srcSet:\"https://framerusercontent.com/images/qUlPKVuhe5EbT6OlNiguZ4oKBJQ.png 701w\",style:{aspectRatio:\"701 / 724\"},width:\"350\"}),/*#__PURE__*/e(\"h5\",{children:\"2. Sequence Diagrams:\"}),/*#__PURE__*/e(\"p\",{children:\"Explaining how your app's authentication works? Easy peasy:\"}),/*#__PURE__*/e(\"img\",{alt:\"__wf_reserved_inherit\",className:\"framer-image\",height:\"358\",src:\"https://framerusercontent.com/images/HkZoUnEA4cMfIZZuZfuYfKI4.png\",srcSet:\"https://framerusercontent.com/images/HkZoUnEA4cMfIZZuZfuYfKI4.png 691w\",style:{aspectRatio:\"691 / 717\"},width:\"345\"}),/*#__PURE__*/e(\"h5\",{children:\"3. ERD Diagrams\"}),/*#__PURE__*/e(\"p\",{children:\"Need to visualize your database structure? Mermaid's got your back:\"}),/*#__PURE__*/e(\"img\",{alt:\"__wf_reserved_inherit\",className:\"framer-image\",height:\"461\",src:\"https://framerusercontent.com/images/FNSGzoxxM3bNc1ESNCpcEV3qtw.png\",srcSet:\"https://framerusercontent.com/images/FNSGzoxxM3bNc1ESNCpcEV3qtw.png 691w\",style:{aspectRatio:\"691 / 922\"},width:\"345\"}),/*#__PURE__*/e(\"p\",{children:\"This diagram shows a simple e-commerce system. Customers can place multiple orders, and each order can contain multiple line items. The relationships are clear, the attributes are listed, and it took less time to create than it takes to microwave popcorn.\"}),/*#__PURE__*/e(\"h5\",{children:\"Why are ERDs so powerful?\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Clarity\"}),\": They give you a bird's-eye view of your data structure.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Communication\"}),\": Explain your database to non-techies without the headache.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Planning\"}),\": Spot potential issues before you write a single line of SQL.\"]})})]}),/*#__PURE__*/e(\"h3\",{children:\"Why Mermaid.js should be in your toolkit?\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Speed\"}),\": Whip up diagrams faster than slides\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Integration\"}),\": Works seamlessly with Markdown, making documentation a breeze. Imagine explaining data lineage using code and diagrams and not having to draw them in a white board and copy pasting.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Collaboration\"}),\": Share and update diagrams as easily as sharing code.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Learning Curve\"}),\": If you can write a grocery list, you can use Mermaid.\"]})})]}),/*#__PURE__*/e(\"h3\",{children:\"Integration with Paradime\"}),/*#__PURE__*/e(\"p\",{children:\"At Paradime, we believe in brining our end users the best in open source and unlock their analytics superpowers. Analytics engineers suck at documentation because first of all the tools suck themselves. Nobody will write high quality documentation if its painful to write docs in the first place. So first we brought in AI-superpowers to create docs in a single click and now we are giving end users the ability to generate diagrams of dbt models as code too.\"}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[\"With DinoAI\u2019s built in one-click actions, Paradime users can generate powerful ERD diagrams for their dbt models, document them in code and share them through dbt\u2122 docs leading to \",/*#__PURE__*/e(n,{href:\"https://docs.paradime.io/app-help/guides/getting-started-with-the-paradime-ide/dinoai-accelerating-your-analytics-engineering-workflow/accelerating-data-governance\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"accelerated data governance\"})}),\".\"]}),/*#__PURE__*/e(\"p\",{children:\"This in our opinion is the future of dbt\u2122 IDE experience bringing code and diagramming together in a single interface and version controlled.\"}),/*#__PURE__*/t(\"p\",{children:[\"For example, check out the \",/*#__PURE__*/e(n,{href:\"https://github.com/nicholasyager/dbt-loom\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"dbt-loom\"})}),\" project, where Nicholas A. Yager uses Mermaid to express his thought processes in the Readme.\"]}),/*#__PURE__*/e(\"h3\",{children:\"The Bottom Line\"}),/*#__PURE__*/e(\"p\",{children:\"Mermaid.js isn't just a diagramming tool; it's a revolution in how we think about and create visual representations of our ideas. Whether you're a developer, project manager, or just someone who likes to organize thoughts visually, Mermaid.js has something for you.\"}),/*#__PURE__*/e(\"p\",{children:\"And in Paradime Code IDE, we are giving you that power to think, and create visual representations of your ideas as you model your organizations data. It will help you establish clarity in how you represent data flows and most importantly keep that updated over time.\"}),/*#__PURE__*/e(\"p\",{children:\"So, next time you're about to open that clunky diagramming software or reach for a whiteboard marker, remember: there's a better way. Embrace the power of diagrams as code. Join the Mermaid revolution.\"}),/*#__PURE__*/e(\"p\",{children:\"Your future self (and your team) will thank you.\"})]});export const richText5=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/t(\"p\",{children:[\"In the \",/*#__PURE__*/e(n,{href:\"https://www.paradime.io/blog/mastering-the-dbt-cli-methods-part-1\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"first part of this series\"})}),\" we looked at the anatomy of a dbt\u2122 CLI command and the various commands available today.\"]}),/*#__PURE__*/e(\"p\",{children:\"In this follow up article we will dive deeper into Graph Operators. We will kick off with an explanation of the graph operators available today and then show advanced uses.\"}),/*#__PURE__*/e(\"p\",{children:\"dbt\u2122 CLI\u2019s graph operators help you navigate your data transformation graph. If you remember, under the hood, dbt\u2122 traverses through all your models and builds the execution graph or DAG of your models. With graph operators you target specific parts of your dbt\u2122 project or execution graph.\"}),/*#__PURE__*/e(\"h3\",{children:\"The Basics: What Are Graph Operators?\"}),/*#__PURE__*/t(\"p\",{children:[\"Graph operators in dbt\u2122 are special syntax used with the \",/*#__PURE__*/e(\"code\",{children:\"--select\"}),\" flag to select subsets of your project's graph. They're like secret codes to tell dbt\u2122 exactly which models you want to work with.\"]}),/*#__PURE__*/e(\"img\",{alt:\"Anatomy of the dbt CLI command\",className:\"framer-image\",height:\"1476\",src:\"https://framerusercontent.com/images/X3QXsA3S4zTkrvQtoUK4S1JCBqM.png\",srcSet:\"https://framerusercontent.com/images/X3QXsA3S4zTkrvQtoUK4S1JCBqM.png?scale-down-to=512 512w,https://framerusercontent.com/images/X3QXsA3S4zTkrvQtoUK4S1JCBqM.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/X3QXsA3S4zTkrvQtoUK4S1JCBqM.png?scale-down-to=2048 2048w,https://framerusercontent.com/images/X3QXsA3S4zTkrvQtoUK4S1JCBqM.png?scale-down-to=4096 4096w,https://framerusercontent.com/images/X3QXsA3S4zTkrvQtoUK4S1JCBqM.png 4592w\",style:{aspectRatio:\"4592 / 2952\"},width:\"2296\"}),/*#__PURE__*/e(\"h3\",{children:\"Meet Your Operators\"}),/*#__PURE__*/e(\"h5\",{children:\"1. Wildcard Operator (*)\"}),/*#__PURE__*/t(\"p\",{children:['The wildcard is your \"grab everything\" operator. This runs all models in ',/*#__PURE__*/e(\"code\",{children:\"my_schema\"}),\".\"]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h5\",{children:\"2. Path Operator\"}),/*#__PURE__*/e(\"p\",{children:\"No special character needed. Just use the path!\"}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"This runs all models in the 'staging' directory.\"}),/*#__PURE__*/e(\"h5\",{children:\"3. Parent/Child Operator (+)\"}),/*#__PURE__*/e(\"p\",{children:\"The plus before a model name selects the model and its parents.\"}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[\"This runs \",/*#__PURE__*/e(\"code\",{children:\"final_model\"}),\" and all models it depends on.\"]}),/*#__PURE__*/t(\"p\",{children:[\"If you want to get specific about how many generations up or down you go then just add a number to the parent operator in the format \",/*#__PURE__*/e(\"code\",{children:\"+<number>\"}),\" like the examples:\",/*#__PURE__*/e(\"code\",{children:\"\u200D\"})]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"code\",{children:\"\u200D\"}),\"The plus after a model name selects the model and its children.\"]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[\"This runs \",/*#__PURE__*/e(\"code\",{children:\"parent_model\"}),\" and all models that depend on it.\"]}),/*#__PURE__*/t(\"p\",{children:[\"Like the parent operator, you can also select generations in the child operator using the format of \",/*#__PURE__*/e(\"code\",{children:\"+<number>\"}),\" following the model name like\",/*#__PURE__*/e(\"code\",{children:\"\u200D\"})]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"h5\",{children:[/*#__PURE__*/e(\"code\",{children:\"\u200D\"}),\"\u200D\"]}),/*#__PURE__*/e(\"h5\",{children:\"4. Exclusion Operator (@)\"}),/*#__PURE__*/e(\"p\",{children:\"The '@' operator is all about selecting parents or children, without the original model. It's like saying \\\"everyone invited to the party except you!\u201D\"}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[\"This runs all parents of \",/*#__PURE__*/e(\"code\",{children:\"model_name\"}),\", but not \",/*#__PURE__*/e(\"code\",{children:\"model_name\"}),\" itself.\"]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[\"This runs all children of \",/*#__PURE__*/e(\"code\",{children:\"model_name\"}),\", but not \",/*#__PURE__*/e(\"code\",{children:\"model_name\"}),\" itself.\"]}),/*#__PURE__*/e(\"h5\",{children:\"5. Selection Operator (,)\"}),/*#__PURE__*/e(\"p\",{children:\"This runs model1, model2, and model3.\"}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h5\",{children:\"6. Intersection Operator (,)\"}),/*#__PURE__*/e(\"p\",{children:\"Use multiple selectors to get their intersection.\"}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"This runs models that are both tagged 'nightly' and in the 'staging' directory.\"}),/*#__PURE__*/e(\"h3\",{children:\"Pro Tips\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Combine operators for laser-focused selection:\"})}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/t(\"p\",{children:[\"This runs nightly-tagged models that \",/*#__PURE__*/e(\"code\",{children:\"final_model\"}),\" depends on.\"]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Use \"}),/*#__PURE__*/e(\"code\",{children:/*#__PURE__*/e(\"strong\",{children:\"dbt ls\"})}),/*#__PURE__*/e(\"strong\",{children:\" to preview your selection:\"})]}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"This lists all models in the staging directory without running them.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Refresh two generations of parents and all children of critical models:\"})}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"Test everything related to final reports except the reports themselves:\"})}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"h5\",{children:/*#__PURE__*/e(\"strong\",{children:\"The order matters! dbt\u2122 processes operators from left to right.\"})}),/*#__PURE__*/e(\"h3\",{children:\"Wrap Up\"}),/*#__PURE__*/e(\"p\",{children:\"There you have it, folks! With these graph operators in your toolkit, you're ready to navigate your dbt project like a pro. Mix and match to create powerful, precise model selections.\"})]});export const richText6=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/t(\"p\",{children:[\"In the evolving landscape of data engineering and analytics, SQL code quality remains a critical concern. \",/*#__PURE__*/e(n,{href:\"https://sqlfluff.com/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"SQLFluff\"})}),\" is a sophisticated SQL linting solution, addressing a longstanding gap in tools for SQL code analysis. It brings robust code styling and error detection capabilities to SQL, complementing e.g. dbt\",/*#__PURE__*/e(\"strong\",{children:\"\u2122\"}),\" (data build tool).\"]}),/*#__PURE__*/e(\"h3\",{children:\"Core Architecture and Functionality\"}),/*#__PURE__*/t(\"p\",{children:[\"SQLFluff's architecture is built on a powerful parsing engine that converts SQL into an \",/*#__PURE__*/e(n,{href:\"https://dev.to/balapriya/abstract-syntax-tree-ast-explained-in-plain-english-1h38\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"abstract syntax tree \"})}),\"(AST), enabling deep, context-aware analysis of SQL structures. This approach allows for more comprehensive SQL linting than traditional regex-based methods.\"]}),/*#__PURE__*/e(\"h3\",{children:\"Key Features Include\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Dialect-specific parsing for major SQL flavors used in dbt\u2122 projects\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Custom rule creation using Python, extending linting capabilities\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Integration with jinja templating, crucial for dbt\u2122 SQL models\"})})]}),/*#__PURE__*/e(\"h3\",{children:\"Parsing and Rule Application in SQL Linting\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Lexing and parsing: \"}),\"SQLFluff tokenizes the input SQL and constructs an AST, handling complex SQL constructs common in dbt\u2122 transformations.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Rule application: \"}),\"The linter traverses the AST, applying configured rules to each node, allowing for sophisticated checks of both syntax and style in SQL code.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Error generation:\\xa0\"}),\"When rule violations are detected, SQLFluff generates detailed error objects, aiding in the improvement of SQL and dbt\u2122 model quality.\"]})})]}),/*#__PURE__*/e(\"h3\",{children:\"SQLFluff Configuration Template for dbt\u2122\"}),/*#__PURE__*/e(\"div\",{children:/*#__PURE__*/e(\"br\",{className:\"trailing-break\"})}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"p\",{children:\"This configuration template sets up SQLFluff to work with dbt\u2122 projects. Here's a breakdown of the key parts:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"The \",/*#__PURE__*/e(\"em\",{children:/*#__PURE__*/e(\"strong\",{children:\"templater = dbt\"})}),\" line specifies that we're using the dbt-sqlfluff-templater.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"The \",/*#__PURE__*/e(\"em\",{children:/*#__PURE__*/e(\"strong\",{children:\"dialect = snowflake\"})}),\" line sets the SQL dialect to Snowflake. You can change this to match your database type.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"The \",/*#__PURE__*/e(\"em\",{children:/*#__PURE__*/e(\"strong\",{children:\"[sqlfluff:templater:dbt]\"})}),\" section configures the dbt-specific settings, including project directory, profiles directory, profile name, and target.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"The \",/*#__PURE__*/e(\"em\",{children:/*#__PURE__*/e(\"strong\",{children:\"[sqlfluff:templater:jinja]\"})}),\" section enables dbt built-ins for Jinja templating.\"]})})]}),/*#__PURE__*/e(\"p\",{children:\"You can adjust the rules and other settings as needed for your specific project requirements.\"}),/*#__PURE__*/e(\"h3\",{children:\"Configurability and Customization for dbt\u2122 Projects\"}),/*#__PURE__*/e(\"p\",{children:\"SQLFluff offers granular control over SQL linting behavior, particularly useful for dbt\u2122 users:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Support for .sqlfluff and pyproject.toml for project-specific configurations\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Rule-specific parameters for fine-tuning SQL linting behavior in dbt\u2122 models\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Inline comment directives for rule suppression or configuration overrides in SQL files\"})})]}),/*#__PURE__*/e(\"p\",{children:\"This level of configurability allows dbt\u2122 teams to enforce consistent SQL styling across projects.\"}),/*#__PURE__*/e(\"h3\",{children:\"Workflow Integration in dbt\u2122 Environments\"}),/*#__PURE__*/e(\"p\",{children:\"SQLFluff integrates seamlessly into modern data workflows, including dbt\u2122 centric processes:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Version control integration\"}),\": Pre-commit hooks for git-based workflows in dbt\u2122 projects\u2022 Support for incremental linting on changed SQL files\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"CI/CD pipeline implementation\"}),\": Command-line interface suitable for automated testing of dbt\u2122 models\u2022 Exit code functionality for easy integration with CI tools in dbt\u2122 pipelines\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"IDE support\"}),\": Plugins available for popular IDEs used in dbt\u2122 development\u2022 Language Server Protocol (LSP) implementation for real-time SQL linting\"]})})]}),/*#__PURE__*/e(\"h3\",{children:\"Auto-fix Capabilities for SQL and dbt\u2122 Models\"}),/*#__PURE__*/e(\"p\",{children:\"SQLFluff's auto-fix functionality leverages the AST to make intelligent code corrections in SQL files and dbt\u2122 models:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Syntax-aware fixes that preserve query semantics\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Configurable fix behavior to control aggressiveness of changes in SQL code\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Diff generation for manual review before applying fixes to dbt\u2122 SQL models\"})})]}),/*#__PURE__*/e(\"h3\",{children:\"Advanced Use Cases in dbt\u2122 and SQL Environments\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Custom rule development: \"}),\"Engineers can extend SQLFluff by writing custom SQL linting rules, tailored to specific dbt\u2122 project needs.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Integration with data catalogs: \"}),\"SQLFluff can incorporate data catalog information, enabling validation of table and column names used in dbt\u2122 models.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Metadata-driven Linting: \"}),\"Teams can implement context-aware SQL linting, applying different rules based on the purpose of dbt\u2122 models or SQL queries.\"]})})]}),/*#__PURE__*/e(\"h3\",{children:\"Challenges and Considerations for SQL Linting in dbt\u2122 Projects\"}),/*#__PURE__*/e(\"p\",{children:\"While SQLFluff offers powerful SQL linting capabilities, implementation at scale in dbt\u2122 environments can present challenges:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Initial setup and configuration for large, established dbt\u2122 codebases\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Performance considerations for extensive SQL repositories\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Balancing strict linting rules with the flexibility needed in complex dbt\u2122 transformations\"})})]}),/*#__PURE__*/e(\"h3\",{children:\"Running SQLFluff in Paradime\"}),/*#__PURE__*/t(\"p\",{children:[\"With Paradime you can execute SQLFluff with one click using the \",/*#__PURE__*/e(\"em\",{children:/*#__PURE__*/e(\"strong\",{children:\"Prettify\"})}),\" button in the terminal toolbar.\"]}),/*#__PURE__*/e(\"img\",{alt:\"Running SQLFluff in Paradime\",className:\"framer-image\",height:\"786\",src:\"https://framerusercontent.com/images/wEe37fMlfZ4TGAxRhycxzQdHkiM.png\",srcSet:\"https://framerusercontent.com/images/wEe37fMlfZ4TGAxRhycxzQdHkiM.png?scale-down-to=512 512w,https://framerusercontent.com/images/wEe37fMlfZ4TGAxRhycxzQdHkiM.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/wEe37fMlfZ4TGAxRhycxzQdHkiM.png?scale-down-to=2048 2048w,https://framerusercontent.com/images/wEe37fMlfZ4TGAxRhycxzQdHkiM.png 2458w\",style:{aspectRatio:\"2458 / 1572\"},width:\"1229\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Check out full tutorial \"}),/*#__PURE__*/e(n,{href:\"https://docs.paradime.io/app-help/integrations/sql-fluff\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:/*#__PURE__*/e(\"strong\",{children:\"HERE\"})})}),/*#__PURE__*/e(\"strong\",{children:\".\"})]}),/*#__PURE__*/t(\"p\",{children:[\"So why choose Paradime? Our \",/*#__PURE__*/e(n,{href:\"https://www.paradime.io/pricing\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"product-based pricing\"})}),\" model provides a stable alternative to the variable costs of consumption-based systems like dbt Cloud\u2122. Here's what sets us apart:\"]}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Sensible pricing:\"}),\" Benefit from fixed rates that make budgeting easier and eliminate unexpected expenses as your usage grows.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Enhanced productivity:\"}),\" Paradime's AI-driven code IDE increases efficiency, offering a significant advantage over older solutions like dbt Cloud\u2122, which has encountered \",/*#__PURE__*/e(n,{href:\"https://www.paradime.io/blog/whats-the-new-dbt-cloud-tm-price-increase-about-part-2\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"price increases\"})}),\" and complexity issues over the last years.\"]})})]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://cal.com/kaustav/paradime-intro\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Schedule a call\"})}),\" with our team to discover how AI-powered analytics engineering can maximize your impact on the business.\"]}),/*#__PURE__*/e(\"h3\",{children:\"Wrap Up\"}),/*#__PURE__*/e(\"p\",{children:\"SQLFluff is a big improvement in how people use SQL. It adds advanced cleaning features to a key part of the modern data stack. For analytics engineers working with dbt\u2122 and SQL, it offers not just a tool for making code look good, but a place to share SQL best practices and improve code quality in a systematic way.\"}),/*#__PURE__*/e(\"p\",{children:\"By using SQLFluff's advanced features and putting it into dbt\u2122 workflows, teams can greatly reduce SQL-related errors, make code easier to keep up with, and speed up development. As data architectures and tools like dbt\u2122keep changing, SQL linting tools like SQLFluff will become more important to keep code quality and consistency high across complex data environments.\"})]});export const richText7=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/t(\"p\",{children:['In the research paper \"Impact of AI Tooling on the Engineering Workspace,\" the team at ',/*#__PURE__*/e(n,{href:\"https://jellyfish.co/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Jellyfish\"})}),\" uncovers how AI tools are revolutionizing engineering. It is such an insightful read; you should check it out -> \",/*#__PURE__*/e(n,{href:\"https://arxiv.org/abs/2406.07683\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"HERE\"})}),\".\"]}),/*#__PURE__*/e(\"p\",{children:\"As we have built the only AI copilot for analytics engineers, I hereby verify the research findings that a copilot can drastically increase productivity and reduce time spent on boring, mundane tasks. I\u2019ve seen it firsthand with our own Paradime users, some of whom have seen up to a 40% productivity boost.\"}),/*#__PURE__*/t(\"p\",{children:[\"So, I don\u2019t just believe it; I know that AI copilots like our very own \",/*#__PURE__*/e(n,{href:\"https://www.paradime.io/dbt-development\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"DinoAI\"})}),\" will take your analytics engineering to the next level. Otherwise, we wouldn\u2019t have built it \uD83D\uDE09 And don\u2019t worry, DinoAI will NOT take your job as long as you learn how to work well with it \uD83E\uDD96 \u2192 [\",/*#__PURE__*/e(n,{href:\"https://www.paradime.io/blog/starter-guide-how-to-get-the-most-out-of-your-ai-copilot\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Check out our AI Copilot Starter Guide\"})}),\"]\"]}),/*#__PURE__*/e(\"p\",{children:\"Here are my three key takeaways with examples of how AI copilots will impact analytics work.\"}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"1. Speeded up coding time and 10x-ed productivity\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/t(\"em\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Research observation:\"}),\" Significant changes were observed in coding time fractions among copilot users, with an average decrease of 3% with individual decreases as large as 15%.\"]})}),/*#__PURE__*/e(\"p\",{children:\"AI-powered tools like GitHub Copilot significantly reduce the time developers spend on coding, allowing them to focus on other essential tasks. This efficiency boost helps improve overall productivity and streamlines the development process.\"}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"strong\",{children:\"Impact on analytics engineering\"})}),/*#__PURE__*/e(\"p\",{children:\"Quickly generate complex SQL queries for aggregating data across multiple dimensions, freeing time for further optimization.\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Reduced manual coding\"}),\": Copilots like DinoAI accelerate writing dbt\u2122 models, translating SQL (from stored procedures and other legacy systems) to dbt\u2122, and building data pipelines. Users spend less time writing tests, or writing documentation and understanding complex code is quick.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Focus on design\"}),\": Analytics engineers can dedicate more time to optimizing data pipelines, increase performance, and reduce cost.\"]})})]}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"2. Reduced ticket sizes and cycle times\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/t(\"em\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Research observation\"}),\": Average ticket sizes decreased by 16%, with cycle times decreased by 8%, making work more efficient.\"]})}),/*#__PURE__*/e(\"p\",{children:\"AI copilots contribute to more efficient task management by reducing the size of each Jira ticket and shortening cycle times. This aligns well with modern CI/CD practices, facilitating faster and more manageable workflows.\"}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"strong\",{children:\"Impact on analytics engineering\"})}),/*#__PURE__*/e(\"p\",{children:\"A decrease in ticket sizes allows for faster iterations of dbt\u2122 models, higher quality, and the reduction in cycle times speeds up deployment.\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Smaller tasks\"}),\": More manageable data pipelines for dbt\u2122, and higher test coverage leading to higher quality code. Also, teams can do more valuable work with less resources as more time-consuming tasks are automated with AI copilot.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Faster iterations\"}),\": Quicker development and validation cycles.\"]})})]}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"3. Changes in PR pickup times\"})}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/t(\"em\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Research observation\"}),\": PR pickup times decreased by up to 33% in some companies, indicating reduced workflow bottlenecks.\"]})}),/*#__PURE__*/e(\"p\",{children:\"Using AI copilots can help reduce PR pickup times, and therefore minimizing workflow bottlenecks while speeding up the development process. Faster PR reviews contribute to more efficient integration of new code.\"}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"strong\",{children:\"Impact on Analytics Engineering\"})}),/*#__PURE__*/e(\"p\",{children:\"A decrease in PR pickup times mean teams can now deploy their changes faster and with higher quality, i.e. teams can respond to business changes faster. Teams can provide business insights to their end users in a timelier fashion, so they can act more quickly i.e. now analytics team is accelerating the entire organization.\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Faster pickups\"}),\": Faster data deployment \u2192 faster access to business insights \u2192 faster organization.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Reduced bottlenecks\"}),\": High-quality metrics, KPIs, and dimensions are available 3x faster\"]})})]}),/*#__PURE__*/e(\"h3\",{children:\"Wrap-Up\"}),/*#__PURE__*/e(\"p\",{children:\"Using AI copilots is pushing a shift in analytics engineering efforts towards even more strategic and growth-oriented work. AI copilots like DinoAI allows analytics engineers to focus on high-impact and more exciting work, even with stretched resources, rather than dull routine maintenance, and accelerate the their entire organization. Businesses, in return, can maximize the impact of analytics spend.\"}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/t(\"p\",{children:[\"Time for you to embrace the Paradime shift. \",/*#__PURE__*/e(n,{href:\"https://cal.com/kaustav/paradime-intro\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Schedule a call with the team and learn how to maximize the impact of analytics\"})}),\". Let\u2019s go!\"]}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"})]});export const richText8=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"p\",{children:\"2023 is almost done and dusted! The team shipped some incredible new updates and features in December, continuing to tick off our customers' wish lists at a rapid pace. It's been a surreal year for Paradime - for product, go-to-market, and engineering. In this post, we will share the latest updates, a few 2023 highlights, and round it off with a 2024 teaser.\"}),/*#__PURE__*/e(\"p\",{children:\"---\"}),/*#__PURE__*/e(\"h2\",{children:\"Content\"}),/*#__PURE__*/e(\"h5\",{children:/*#__PURE__*/e(\"strong\",{children:\"- Shipped in December\"})}),/*#__PURE__*/e(\"h5\",{children:/*#__PURE__*/e(\"strong\",{children:\"- 2023 wrapped\"})}),/*#__PURE__*/e(\"h5\",{children:/*#__PURE__*/e(\"strong\",{children:\"- What to expect in 2024\"})}),/*#__PURE__*/e(\"p\",{children:\"---\"}),/*#__PURE__*/e(\"h2\",{children:\"Shipped in December \uD83D\uDEE0\uFE0F\"}),/*#__PURE__*/e(\"h3\",{children:/*#__PURE__*/e(\"strong\",{children:\"Bolt\"})}),/*#__PURE__*/e(\"h4\",{children:/*#__PURE__*/e(\"strong\",{children:\"UI-based Schedules\"})}),/*#__PURE__*/e(\"p\",{children:\"One of the most significant updates this year is our steaming hot release of UI-based schedules. By using a very simple form, our users can now create a scheduled dbt\u2122 job in less than a minute. The form is built with safeguards to minimize user errors. With a few clicks, users can deploy and start running new schedules.\"}),/*#__PURE__*/e(\"img\",{alt:\"Schedule toolbar - copy, edit, or manually run a schedule | Paradime | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"575\",src:\"https://framerusercontent.com/images/QSC57CNsB1WIGBlPHnTJ5msUC8.png\",srcSet:\"https://framerusercontent.com/images/QSC57CNsB1WIGBlPHnTJ5msUC8.png?scale-down-to=512 512w,https://framerusercontent.com/images/QSC57CNsB1WIGBlPHnTJ5msUC8.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/QSC57CNsB1WIGBlPHnTJ5msUC8.png?scale-down-to=2048 2048w,https://framerusercontent.com/images/QSC57CNsB1WIGBlPHnTJ5msUC8.png 2878w\",style:{aspectRatio:\"2878 / 1150\"},width:\"1439\"}),/*#__PURE__*/e(\"p\",{children:\"Paradime users now have unmatched flexibility to author their production dbt\u2122 jobs.\"}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Git-tracked YAML-based schedules\"}),\" are great for jobs that:\"]}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Are critical in the data pipeline\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Requires plenty of oversight\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Shouldn't be edited under normal course of business\"})})]}),/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"UI-based schedules\"}),\", on the other hand, are suitable for:\"]}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Ad hoc runs\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Fixing data urgently in production\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Rapid testing and experimentation of a data pipeline\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Teams needing simplicity\"})})]}),/*#__PURE__*/e(\"h4\",{children:\"Cron presets and recommendations\"}),/*#__PURE__*/e(\"p\",{children:\"When defining jobs, we always have to define the schedule in cron format. However, cron format is not the easiest, and many analytics engineering practitioners still struggle with it. To make their lives easier, we are now introducing Cron Presets so users can quickly start with a preset and then modify it. It's much easier to start this way instead of a blank slate.\"}),/*#__PURE__*/e(\"img\",{alt:\"Cron presets and recommendations | Paradime | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"174\",src:\"https://framerusercontent.com/images/jg1mmlXFIUYJ7NktyHK1W5hi9g0.gif\",srcSet:\"https://framerusercontent.com/images/jg1mmlXFIUYJ7NktyHK1W5hi9g0.gif?scale-down-to=512 512w,https://framerusercontent.com/images/jg1mmlXFIUYJ7NktyHK1W5hi9g0.gif 640w\",style:{aspectRatio:\"640 / 348\"},width:\"320\"}),/*#__PURE__*/e(\"p\",{children:\"Alongside presets, we have added 'improvement recommendations' for when users specify certain cron configurations. Again, cron is challenging, and we wanted to make the experience less painful for everyone.\"}),/*#__PURE__*/e(\"img\",{alt:\"Cron recommendations | Paradime | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"470\",src:\"https://framerusercontent.com/images/CZOCK8MUAKvqPjQjKHVDNF2JWh0.png\",srcSet:\"https://framerusercontent.com/images/CZOCK8MUAKvqPjQjKHVDNF2JWh0.png?scale-down-to=512 512w,https://framerusercontent.com/images/CZOCK8MUAKvqPjQjKHVDNF2JWh0.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/CZOCK8MUAKvqPjQjKHVDNF2JWh0.png?scale-down-to=2048 2048w,https://framerusercontent.com/images/CZOCK8MUAKvqPjQjKHVDNF2JWh0.png 2878w\",style:{aspectRatio:\"2878 / 940\"},width:\"1439\"}),/*#__PURE__*/e(\"h4\",{children:\"The new Bolt UI \uD83D\uDD25\"}),/*#__PURE__*/e(\"p\",{children:\"In December, we shipped a new UI for interacting with Bolt Schedules and runs within a schedule.\"}),/*#__PURE__*/e(\"p\",{children:\"Users can now:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Search and filter using multiple criteria, such as statuses and crons\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Show/hide columns in the table\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Move columns around, and lastly\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Add columns that are hidden\"})})]}),/*#__PURE__*/e(\"p\",{children:\"In a nutshell, it is a complete 'interacting-with-table' UX, so users can customise what they see in only seconds.\"}),/*#__PURE__*/e(\"img\",{alt:\"The new Bolt UI | Paradime | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"174\",src:\"https://framerusercontent.com/images/qdTv2NaUx6Q1WKvW2N61m43LSaw.gif\",srcSet:\"https://framerusercontent.com/images/qdTv2NaUx6Q1WKvW2N61m43LSaw.gif?scale-down-to=512 512w,https://framerusercontent.com/images/qdTv2NaUx6Q1WKvW2N61m43LSaw.gif 640w\",style:{aspectRatio:\"640 / 348\"},width:\"320\"}),/*#__PURE__*/e(\"p\",{children:\"This is a game-changer for data and analytics teams, and we are just getting started. While this is a significant unlock for our users, the table experience could be 10x better. Stay tuned...\"}),/*#__PURE__*/e(\"h3\",{children:\"Code IDE\"}),/*#__PURE__*/e(\"h4\",{children:\"New Toolbar and more space\"}),/*#__PURE__*/e(\"p\",{children:\"When we first built the Paradime IDE, our panels for docs, lineage, and data preview were on the right side by default, and the terminal was at the bottom. By working even closer with our users, we realized this positioning was not optimal for data analytics. Users needed a wider space to see all the columns in a data preview, the upstream and downstream lineage.\"}),/*#__PURE__*/e(\"p\",{children:\"From this release, the Paradime command panel has all the tools on the left and all the actions on the right. This makes the UI cleaner and more spacious to work on both small and big screens.\"}),/*#__PURE__*/e(\"img\",{alt:\"New Toolbar and more space | Paradime | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"694\",src:\"https://framerusercontent.com/images/n4ffHuXpu2ALDX4Ko3VhUDZt6GI.png\",srcSet:\"https://framerusercontent.com/images/n4ffHuXpu2ALDX4Ko3VhUDZt6GI.png?scale-down-to=512 512w,https://framerusercontent.com/images/n4ffHuXpu2ALDX4Ko3VhUDZt6GI.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/n4ffHuXpu2ALDX4Ko3VhUDZt6GI.png?scale-down-to=2048 2048w,https://framerusercontent.com/images/n4ffHuXpu2ALDX4Ko3VhUDZt6GI.png 2878w\",style:{aspectRatio:\"2878 / 1388\"},width:\"1439\"}),/*#__PURE__*/e(\"p\",{children:\"---\"}),/*#__PURE__*/e(\"h1\",{children:\"2023 wrapped \uD83D\uDCAA\"}),/*#__PURE__*/e(\"p\",{children:\"Wow! We can't believe 2023 is over. The year has been nothing short of crazy, and we're immensely thankful to all our users, customers, and everyone we've had the opportunity to partner up with.\"}),/*#__PURE__*/e(\"p\",{children:\"It's always hard to summarize such an eventful year, but let's try. \"}),/*#__PURE__*/e(\"h3\",{children:\"Platform\"}),/*#__PURE__*/e(\"p\",{children:\"In 2023, we laid the foundation for a robust analytics engineering platform to support use cases such as multi-tenancy and data mesh. The most significant updates we shipped were:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://www.paradime.io/blog/stuff-we-shipped-5\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:/*#__PURE__*/e(\"strong\",{children:\"Paradime Workspaces\"})})}),\" - self-contained, isolated units where analysts do their work. Each workspace has its own users, repo, warehouse connections, integrations, and notifications.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://www.paradime.io/blog/shipping-for-v3-global-availability\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:/*#__PURE__*/e(\"strong\",{children:\"Global availability\"})})}),\" - in 2023, we added seven regions globally, where Paradime instances can be hosted.\"]})})]}),/*#__PURE__*/e(\"h3\",{children:\"Code IDE\"}),/*#__PURE__*/e(\"p\",{children:\"We worked on making our Code IDE experience user-centric, intuitive, and smooth. While we are just getting started, some of the notable features we released were:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://www.paradime.io/blog/stuff-we-shipped-10\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:/*#__PURE__*/e(\"strong\",{children:\"Easy formatting & fixing\"})})}),\" dbt\u2122 models and YAMLs using SQLFluff, Prettify, and YAML-validation powered by JSONSchema.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Easy navigation through models with dbt\u2122 Intellisense (\",/*#__PURE__*/e(n,{href:\"https://www.paradime.io/blog/stuff-we-shipped-10\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:/*#__PURE__*/e(\"strong\",{children:\"Autocomplete, Go-to-definition, Peek definition\"})})}),\"), increasing productivity by up to 83%.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://www.paradime.io/blog/slashing-analytics-development-cost-with-duckdb-and-motherduck\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:/*#__PURE__*/e(\"strong\",{children:\"Multi-engine dbt\u2122 development\"})})}),\" with support for the DuckDB toolchain, including MotherDuck and Harlequin.sh, with the potential to slash cloud computing costs during development.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(n,{href:\"https://www.paradime.io/blog/stuff-we-shipped-8\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:/*#__PURE__*/e(\"strong\",{children:\"Paradime Live V2\"})})}),\" went, well, live. We built our advanced just-in-time dbt\u2122 compiler from the ground up with near-real-time responses.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Added \",/*#__PURE__*/e(n,{href:\"https://www.paradime.io/blog/paradime-v3-0-the-future-is-open\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:/*#__PURE__*/e(\"strong\",{children:\"support for third-party OSS\"})})}),\" CLIs like Lightdash, Elementary, and re_data for semantic layer, observability, and data quality.\"]})})]}),/*#__PURE__*/e(\"h3\",{children:\"Bolt and CI/CD\"}),/*#__PURE__*/e(\"p\",{children:\"Bolt went mainstream in 2023. We implemented hundreds of incremental changes throughout the year to enhance Bolt's daily performance for every user. We released a few notable features and updates:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Introduced \",/*#__PURE__*/e(\"strong\",{children:\"UI-based schedules\"}),\" for users to create, edit, copy, and deploy production runs in minutes.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Enabled users to \",/*#__PURE__*/e(\"strong\",{children:\"search and filter schedules\"}),\" and runs using various parameters.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Provided the ability to view and download \",/*#__PURE__*/e(n,{href:\"https://www.paradime.io/blog/stuff-we-shipped-jan-feb-2023\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:/*#__PURE__*/e(\"strong\",{children:\"logs, debug logs, and artefacts\"})})}),\" for each run.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Implemented \",/*#__PURE__*/e(\"strong\",{children:\"logs storage\"}),\" in either our S3 or the customer's S3 buckets.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Facilitated \",/*#__PURE__*/e(\"strong\",{children:\"CI/CD\"}),\" for Github and Azure DevOps through our TurboCI app.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Introduced a \",/*#__PURE__*/e(n,{href:\"https://www.paradime.io/blog/introducing-cross-platform-column-level-lineage-diff\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:/*#__PURE__*/e(\"strong\",{children:\"column-level lineage\"})})}),\" diff in CI.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Implemented \",/*#__PURE__*/e(n,{href:\"https://www.paradime.io/blog/stuff-we-shipped-8\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:/*#__PURE__*/e(\"strong\",{children:\"Webhooks and APIs\"})})}),\".\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Improved the speed of \",/*#__PURE__*/e(\"strong\",{children:\"CI runs\"}),\".\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Enhanced the speed of \",/*#__PURE__*/e(\"strong\",{children:\"dbt\u2122 compilation\"}),\" (speed is a priority at Paradime).\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Provided \",/*#__PURE__*/e(n,{href:\"https://www.paradime.io/blog/stuff-we-shipped-jan-feb-2023\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:/*#__PURE__*/e(\"strong\",{children:\"support for deferred schedules\"})})}),\" for production and CI runs, allowing deferral to production runs in the development environment.\"]})})]}),/*#__PURE__*/e(\"h3\",{children:\"Catalog\"}),/*#__PURE__*/e(\"p\",{children:\"We released the Paradime Catalog, our one-stop shop for all your data docs. The most notable releases were:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"The \",/*#__PURE__*/e(n,{href:\"https://www.paradime.io/blog/introducing-paradime-docs\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:/*#__PURE__*/e(\"strong\",{children:\"Paradime Catalog app\"})})}),\" release. Paradime Catalog supports bi-directional sync with YAML. Users can document in UI, and Paradime writes back to YAML files in git-repo.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"OpenAI integration\"}),\" to write high-quality dbt\u2122model docs in a single click.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"Additional \",/*#__PURE__*/e(\"strong\",{children:\"data assets from integration\"}),\"s like Looker, Tableau, PowerBI, Fivetran, etc. Also available in the Catalog.\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[/*#__PURE__*/e(\"strong\",{children:\"Integration API\"}),\" to allow customers to bring their own integration into the Catalog.\"]})})]}),/*#__PURE__*/e(\"h3\",{children:\"SynQ\"}),/*#__PURE__*/t(\"p\",{children:[\"Many data teams struggle to collaborate with business functions, such as Marketing, and vice-versa. At Paradime, we have seen first-hand how cross-team collaboration can unlock immense value, so we decided to build and launch \",/*#__PURE__*/e(n,{href:\"https://www.paradime.io/paradime-synq\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"SynQ\"})}),\" as an experiment to bridge communication gaps.\"]}),/*#__PURE__*/e(\"p\",{children:\"While in early beta, the SynQ Chrome plugin works as an extension with bi-directional sync with Slack and is integrated with Jira.\"}),/*#__PURE__*/e(\"p\",{children:\"Think business-to-analyst conversations, annotations, triage, issue-tracking from a single place with Slack sync, and more.\"}),/*#__PURE__*/e(\"p\",{children:\"We are still experimenting with the tool, but it has already given our early users a glimpse of the future of cross-team collaboration - seamless and straightforward. Try it today and let us know what would improve it, as we are building SynQ with our users.\"}),/*#__PURE__*/e(\"h3\",{children:\"Integrations\"}),/*#__PURE__*/e(\"p\",{children:\"2023 was a huge year for us in terms of integration partnerships. Several customers told us they would never have expected, or even imagined, some of the integrations that now are live on the platform.\"}),/*#__PURE__*/t(\"p\",{children:[\"We added \",/*#__PURE__*/e(n,{href:\"https://motherduck.com/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"MotherDuck\"})}),\", \",/*#__PURE__*/e(n,{href:\"https://duckdb.org/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"DuckDB\"})}),\", \",/*#__PURE__*/e(n,{href:\"https://elementary-data.com/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Elementary\"})}),\", \",/*#__PURE__*/e(n,{href:\"https://www.microsoft.com/en-us/power-platform/products/power-bi\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"PowerBI\"})}),\", \",/*#__PURE__*/e(n,{href:\"https://www.tableau.com/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Tableau\"})}),\", \",/*#__PURE__*/e(n,{href:\"https://www.lightdash.com/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Lightdash\"})}),\", \",/*#__PURE__*/e(n,{href:\"https://github.com/re-data/re-data\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"re_data\"})}),\", Jira, \",/*#__PURE__*/e(n,{href:\"https://dagster.io/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Dagster\"})}),\", \",/*#__PURE__*/e(n,{href:\"https://www.fivetran.com/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!1,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Fivetran\"})}),\", and dbt Cloud\u2122 importer to our natively supported integrations.\"]}),/*#__PURE__*/t(\"p\",{children:[\"We also built our Customer Integration API \",/*#__PURE__*/e(\"em\",{children:\"(currently in Private Preview\"}),\") to allow customers to add their own integration to their Paradime instance.\"]}),/*#__PURE__*/e(\"p\",{children:\"---\"}),/*#__PURE__*/e(\"h2\",{children:\"So what's coming in 2024? \uD83C\uDF89\"}),/*#__PURE__*/e(\"p\",{children:\"This year, we shipped a hell of a lot - it's pretty unreal if I say so myself.\"}),/*#__PURE__*/e(\"p\",{children:\"Not only is the Paradime Platform faster than ever, but the Paradime Team has shown to be resilient, innovative, and risk-taking. It's every founder's dream, if you'd ask me. Our GTM squad is hungry, the engineers are rethinking innovation, and the design team is elevating every detail of the user experience.\"}),/*#__PURE__*/e(\"p\",{children:\"When thinking of 2024, the top 3 high-level questions we will be asking ourselves are:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:['How can we help our users be \"orders of magnitude\" efficient and bring',/*#__PURE__*/e(\"strong\",{children:\" real value\"}),\" to their broader organization?\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"How can we do all the little things well (\",/*#__PURE__*/e(\"em\",{children:\"the devil is in the details\"}),\")\\xa0to bring MacOS \",/*#__PURE__*/e(\"strong\",{children:\"joy\"}),\" to all our Paradime end-users?\"]})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/t(\"p\",{children:[\"How can we support data and analytics teams with \",/*#__PURE__*/e(\"strong\",{children:\"operational excellence\"}),\", whether it be budget management or team collaboration?\"]})})]}),/*#__PURE__*/e(\"p\",{children:\"In our quest to find answers to these questions, we will explore exciting new design ideas, GTM tactics, and engineering solutions. No one said it would be easy, but if there was one thing we learned in 2023, it's that we have the right team to make anything happen.\"}),/*#__PURE__*/e(\"p\",{children:\"I want to thank all our customers for trusting us, everyone who has given us feedback, our investors and believers, and, finally, my team for excelling in such a challenging macro-environment. Thank you for never standing still and constantly moving the needle for what\u2019s possible.\"}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h2\",{children:/*#__PURE__*/e(\"strong\",{children:\"2024, let's go!\"})})]});export const richText9=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"h3\",{children:\"Introduction\"}),/*#__PURE__*/e(\"p\",{children:\"After a brief hiatus, we are back to shipping. The reality is, we have actually been constantly shipping over the last one and a half months. We thought it was time to share the most important releases in a few blog posts. Over the next two weeks, we have some pretty epic release announcements coming up. Hold on to your seats; analytics engineering is going to get a hell of a lot more fun and easier.\"}),/*#__PURE__*/e(\"h3\",{children:\"Code IDE\"}),/*#__PURE__*/e(\"p\",{children:\"In our code editor, we have introduced some pretty cool power-ups to accelerate the analytics development process. This has already been a game-changer for analysts and analytics engineers using Paradime.\"}),/*#__PURE__*/t(\"p\",{children:[\"Paradime now automatically recognizes the presence of a \",/*#__PURE__*/e(\"strong\",{children:\"'\"}),\"ref\",/*#__PURE__*/e(\"strong\",{children:\"'.\"}),\" The user will then get \",/*#__PURE__*/e(n,{href:\"https://code.visualstudio.com/docs/editor/editingevolved#_code-action\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"code actions\"})}),\" to view references, peek into a model, or go to a model.\"]}),/*#__PURE__*/e(\"h4\",{children:\"View References\"}),/*#__PURE__*/e(\"p\",{children:'Using the \"View References\" code action, users can see all the files where a specific dbt\u2122 model has been used. With a single click, users can now navigate through their codebase in seconds, eliminating the need to waste time analyzing lineage or sifting through files to determine where a model is used.'}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"img\",{alt:\"View References | Paradime | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"189\",src:\"https://framerusercontent.com/images/J3OF3MJJJpkhO0lu4Qy5b9fPsc.gif\",srcSet:\"https://framerusercontent.com/images/J3OF3MJJJpkhO0lu4Qy5b9fPsc.gif?scale-down-to=512 512w,https://framerusercontent.com/images/J3OF3MJJJpkhO0lu4Qy5b9fPsc.gif 800w\",style:{aspectRatio:\"800 / 378\"},width:\"400\"}),/*#__PURE__*/e(\"h4\",{children:\"Peek ref{}\"}),/*#__PURE__*/t(\"p\",{children:['For the quickest way to view the contents of a ref or model, users can now simply click on the \"Peek ref{}\" code action and instantly view the contents of a dbt\u2122 model without context switching or struggling through files. This power-up is helping analysts navigate through their dbt\u2122 projects about ',/*#__PURE__*/e(\"strong\",{children:\"70% faster (!)\"}),\" than before. As a result, development velocity is significantly improved.\"]}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"img\",{alt:\"Peek ref{} | Paradime | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"189\",src:\"https://framerusercontent.com/images/aAnD6eizcIhF5LMzT5yeA54ekM.gif\",srcSet:\"https://framerusercontent.com/images/aAnD6eizcIhF5LMzT5yeA54ekM.gif?scale-down-to=512 512w,https://framerusercontent.com/images/aAnD6eizcIhF5LMzT5yeA54ekM.gif 800w\",style:{aspectRatio:\"800 / 378\"},width:\"400\"}),/*#__PURE__*/e(\"h4\",{children:\"Go to ref\"}),/*#__PURE__*/e(\"p\",{children:'If you don\\'t want to just view a dbt\u2122 model, but open and edit it as well, \"Go to ref{}\" comes to the rescue. Users can with a single click open the dbt\u2122 model used in a ref, making opening existing models as fast as it gets. Users no longer have to traverse through the file explorer and waste time on micro-tasks. '}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"img\",{alt:\"Code IDE Go to ref | Paradime | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"189\",src:\"https://framerusercontent.com/images/mV2QQB4ZiDQJoikJZuXRmFw77fM.gif\",srcSet:\"https://framerusercontent.com/images/mV2QQB4ZiDQJoikJZuXRmFw77fM.gif?scale-down-to=512 512w,https://framerusercontent.com/images/mV2QQB4ZiDQJoikJZuXRmFw77fM.gif 800w\",style:{aspectRatio:\"800 / 378\"},width:\"400\"}),/*#__PURE__*/e(\"p\",{children:'If you don\\'t just want to view a dbt\u2122 model but also open and edit it, \"Go to ref{}\" comes to the rescue. With a single click, users can open the dbt\u2122 model referenced in a ref, making it as fast as possible to access existing models. Users no longer have to navigate through the file explorer and waste time on micro-tasks. '}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"h4\",{children:\"Defer to Prod\"}),/*#__PURE__*/t(\"p\",{children:[\"In May, 2023, we released the \",/*#__PURE__*/e(n,{href:\"https://www.paradime.io/blog/stuff-we-shipped-6\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"defer-to-production\"})}),\" in Paradime. This allowed analytics engineers to work with production data and schema during development.\"]}),/*#__PURE__*/e(\"img\",{alt:\"Code IDE Defer to Prod | Paradime | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"1385\",src:\"https://framerusercontent.com/images/8FSplC9bmwQrlLJHuCbSKI9sMg.png\",srcSet:\"https://framerusercontent.com/images/8FSplC9bmwQrlLJHuCbSKI9sMg.png?scale-down-to=512 512w,https://framerusercontent.com/images/8FSplC9bmwQrlLJHuCbSKI9sMg.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/8FSplC9bmwQrlLJHuCbSKI9sMg.png?scale-down-to=2048 2048w,https://framerusercontent.com/images/8FSplC9bmwQrlLJHuCbSKI9sMg.png?scale-down-to=4096 4096w,https://framerusercontent.com/images/8FSplC9bmwQrlLJHuCbSKI9sMg.png 5433w\",style:{aspectRatio:\"5433 / 2770\"},width:\"2716\"}),/*#__PURE__*/e(\"p\",{children:\"Our users have been using this to:\"}),/*#__PURE__*/t(\"ol\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Work with fresh data during development\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"Save costs by not building duplicate models and schema in dev warehouse\"})})]}),/*#__PURE__*/e(\"p\",{children:\"However, it was still a bit clunky that the user had to type a long defer command to access this feature. In a recent conversation with a customer, we realized we had to make this feature even easier to use. Now, users can set in Bolt which production schedule they want to use as the base for deferral during development.\"}),/*#__PURE__*/e(\"img\",{alt:\"Set production schedule to use for deferral | Paradime | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"223\",src:\"https://framerusercontent.com/images/bhBkxOkfp7aGOdkhSjI1tjFvno.png\",srcSet:\"https://framerusercontent.com/images/bhBkxOkfp7aGOdkhSjI1tjFvno.png?scale-down-to=512 512w,https://framerusercontent.com/images/bhBkxOkfp7aGOdkhSjI1tjFvno.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/bhBkxOkfp7aGOdkhSjI1tjFvno.png 1111w\",style:{aspectRatio:\"1111 / 447\"},width:\"555\"}),/*#__PURE__*/e(\"p\",{children:\"Users can now enable 'defer-to-production' in the Code IDE. Consequently, all dbt\u2122 commands executed in the terminal will automatically fetch the schema from the production schedule.\"}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"}),/*#__PURE__*/e(\"img\",{alt:\"Defer to Prod in action | Paradime | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"189\",src:\"https://framerusercontent.com/images/l2jJWv0VlIMTw9r3fh7xwzytsk.gif\",srcSet:\"https://framerusercontent.com/images/l2jJWv0VlIMTw9r3fh7xwzytsk.gif?scale-down-to=512 512w,https://framerusercontent.com/images/l2jJWv0VlIMTw9r3fh7xwzytsk.gif 800w\",style:{aspectRatio:\"800 / 378\"},width:\"400\"}),/*#__PURE__*/e(\"h3\",{children:\"Platform\"}),/*#__PURE__*/e(\"p\",{children:\"In the profile menu, we have now added platform settings, where users can access all their workspace, billing, and plan information. \"}),/*#__PURE__*/e(\"h4\",{children:\"Audit Logs\"}),/*#__PURE__*/e(\"p\",{children:\"In Platform Settings, we have also enabled audit logs in the UI for our Scaling Tier customers. Previously, to obtain this information, users had to contact the Paradime team; now, it is available as self-serve. \"}),/*#__PURE__*/e(\"p\",{children:\"Security-conscious customers, particularly in regulated industries such as financial services and healthcare, can now access real-time logs of:\"}),/*#__PURE__*/t(\"ul\",{children:[/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"All user events - users added, removed, and permissions changed\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"All warehouse events - who and when created data warehouse connections\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"All Bolt events - Bolt schedules created, edited, copied, and deleted\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"All Integration events - integrations connected and disconnected\"})}),/*#__PURE__*/e(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/e(\"p\",{children:\"All Workspace events - workspaces created and removed\"})})]}),/*#__PURE__*/e(\"img\",{alt:\"Audit Logs | Paradime | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"474\",src:\"https://framerusercontent.com/images/nIInlZSx8zgm7cRURgZ8N3kQbB0.png\",srcSet:\"https://framerusercontent.com/images/nIInlZSx8zgm7cRURgZ8N3kQbB0.png?scale-down-to=512 512w,https://framerusercontent.com/images/nIInlZSx8zgm7cRURgZ8N3kQbB0.png?scale-down-to=1024 1024w,https://framerusercontent.com/images/nIInlZSx8zgm7cRURgZ8N3kQbB0.png 1134w\",style:{aspectRatio:\"1134 / 949\"},width:\"567\"}),/*#__PURE__*/e(\"p\",{children:\"By default, audit logs in the UI are available for the last 30 days. For customers who need longer time frames, we have added an API end-point with example code on how to call that endpoint. Using the API, customers can extract 'all time' audit logs. This is a significant unlock for our customers in regulated and sensitive industries. \"}),/*#__PURE__*/e(\"img\",{alt:\"Audit Log API to extract all logs | Paradime | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"649\",src:\"https://framerusercontent.com/images/fPrsUTdySYzt9cvLlchMiAQ5oqs.png\",srcSet:\"https://framerusercontent.com/images/fPrsUTdySYzt9cvLlchMiAQ5oqs.png?scale-down-to=1024 990w,https://framerusercontent.com/images/fPrsUTdySYzt9cvLlchMiAQ5oqs.png 1255w\",style:{aspectRatio:\"1255 / 1298\"},width:\"627\"}),/*#__PURE__*/t(\"h5\",{children:[/*#__PURE__*/e(\"br\",{}),/*#__PURE__*/e(\"br\",{}),\"That's it for What We Shipped #12, but stay tuned as we have new functionalities and features dropping constantly over the coming weeks. We don't want to spoil the surprise \uD83D\uDE0F\"]}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"})]});export const richText10=/*#__PURE__*/t(a.Fragment,{children:[/*#__PURE__*/e(\"h3\",{children:\"Introduction\"}),/*#__PURE__*/t(\"p\",{children:[\"We're middle of the week already and it's time to ship out a few more things the team's been working on. As you know, last week we released \",/*#__PURE__*/e(n,{href:\"https://www.paradime.io/blog/introducing-paradime-radar\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Paradime Radar\"})}),\", our real-time intelligence app to measure and optimize analytics work. We also released \",/*#__PURE__*/e(n,{href:\"https://www.paradime.io/blog/what-we-shipped-12\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"power-ups and updates\"})}),\" to our development experience.\"]}),/*#__PURE__*/e(\"p\",{children:\"This week we are turning our attention to documentation and CI/CD.\"}),/*#__PURE__*/e(\"h3\",{children:\"Data Catalog Upgrade\"}),/*#__PURE__*/e(\"p\",{children:\"We admit, for quite sometime, it's been a bit of a challenge to use the data catalog in Paradime. The search results quality would be pretty bad for the most basic searches. We had a lot of custom code to improve search results, which was adding latency but not improving search quality. It would fire off way too many metadata queries. The schema tree on the left panel was tiny and very hard to use for medium to large projects, and the list goes on. Overtime, various people had written some straight-out bad, under-performing code. Our humble apologies to our users. It was definitely time for us to act.\"}),/*#__PURE__*/e(\"p\",{children:/*#__PURE__*/e(\"strong\",{children:\"So... we decided to simplify!\"})}),/*#__PURE__*/e(\"p\",{children:\"We have completely re-architected the backend of the data catalog - from the ground up.\"}),/*#__PURE__*/e(\"h4\",{children:\"Redesigned schema panel\"}),/*#__PURE__*/e(\"p\",{children:\"Inspired by the fluidity of apps like Notion, we got rid of the left panel completely and replaced it with a new one. In the new left panel, we provide a view of dbt\u2122 models and data warehouse schema. In addition, we now show all your data products coming from Paradime integrations in the tree. The tree can be extended, collapsed; there is user feedback with loaders, and it remembers your last open state. \"}),/*#__PURE__*/e(\"img\",{alt:\"Redesigned schema panel | Paradime | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"217\",src:\"https://framerusercontent.com/images/rrMhG5BrF5Nxcg1xpIYmxNmw.gif\",srcSet:\"https://framerusercontent.com/images/rrMhG5BrF5Nxcg1xpIYmxNmw.gif?scale-down-to=512 512w,https://framerusercontent.com/images/rrMhG5BrF5Nxcg1xpIYmxNmw.gif 800w\",style:{aspectRatio:\"800 / 434\"},width:\"400\"}),/*#__PURE__*/e(\"h4\",{children:\"Redesigned search and filter\"}),/*#__PURE__*/e(\"p\",{children:'The previous UI was not intuitive and needed a lot of \"clicking around\". We have gotten rid of all of that and replaced it with a simple, single-line UI where you can search and filter in a single flow.'}),/*#__PURE__*/e(\"img\",{alt:\"Redesigned search and filter | Paradime | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"189\",src:\"https://framerusercontent.com/images/CvSvsdJ6Jk2Ffxf5E16zyznwkeI.gif\",srcSet:\"https://framerusercontent.com/images/CvSvsdJ6Jk2Ffxf5E16zyznwkeI.gif?scale-down-to=512 512w,https://framerusercontent.com/images/CvSvsdJ6Jk2Ffxf5E16zyznwkeI.gif 800w\",style:{aspectRatio:\"800 / 378\"},width:\"400\"}),/*#__PURE__*/e(\"h4\",{children:\"Search engine upgrade\"}),/*#__PURE__*/e(\"p\",{children:\"The biggest change by far has been our improvement in search results quality and relevancy. We decided to show data products that are relevant only to the dbt\u2122 project connected to a repo. In every workspace, users now see data products linked to that specific workspace only.\"}),/*#__PURE__*/t(\"p\",{children:[\"While doing this, we deleted all the custom code that was sitting on top of our Postgres instance that provided relevancy. We replaced that with \",/*#__PURE__*/e(n,{href:\"https://www.meilisearch.com/\",motionChild:!0,nodeId:\"BlgcHrQ_X\",openInNewTab:!0,scopeId:\"contentManagement\",smoothScroll:!1,children:/*#__PURE__*/e(i.a,{children:\"Meilisearch\"})}),\" engine, a lightning-fast, rust-based, and hyper-relevant search engine. This gave us a 4-10x orders of magnitude performance boost. We took the open-source version of Meilisearch and incorporated that into our cluster for security and low-latency search experience.\"]}),/*#__PURE__*/e(\"p\",{children:\"In the process, we also removed a lot of unwanted screen flickers that would make the user experience quite frustrating.\"}),/*#__PURE__*/e(\"h4\",{children:\"Easier lineage\"}),/*#__PURE__*/e(\"p\",{children:\"And finally, we introduced better lineage analysis in the catalog, including full-screen viewing. Previously, to view the lineage, users would only see one node depth upstream and downstream. Because of that, the lineage could become very hard to see and users would have to move away from the context. Now users can see arbitrary node-depths in the lineage. For users to remain in the flow, we have also introduced a full-screen lineage view so users can stay in the context.\"}),/*#__PURE__*/e(\"img\",{alt:\"Easier lineage | Analytics Engineering using dbt\u2122\",className:\"framer-image\",height:\"217\",src:\"https://framerusercontent.com/images/dQuckE3QHFFWMCb8ms6K4UgVwM.gif\",srcSet:\"https://framerusercontent.com/images/dQuckE3QHFFWMCb8ms6K4UgVwM.gif?scale-down-to=512 512w,https://framerusercontent.com/images/dQuckE3QHFFWMCb8ms6K4UgVwM.gif 800w\",style:{aspectRatio:\"800 / 434\"},width:\"400\"}),/*#__PURE__*/e(\"h3\",{children:\"What's next?\"}),/*#__PURE__*/e(\"p\",{children:\"On the catalog, we have a pretty packed roadmap. A lot more integrations, natural language search, further usability improvements, and lots more. Watch this space - or get in touch with us and we'll tell you all about it. \"}),/*#__PURE__*/e(\"p\",{children:\"\u200D\"})]});\nexport const __FramerMetadata__ = {\"exports\":{\"richText4\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText2\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText5\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText8\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText1\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText6\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText7\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText9\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText3\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"richText10\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],
  "mappings": "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",
  "names": ["richText", "u", "x", "p", "Link", "motion", "richText1", "richText2", "richText3", "richText4", "richText5", "richText6", "richText7", "richText8", "richText9", "richText10", "__FramerMetadata__"]
}
