Logo
    Search

    763: Web Scraping + Reverse Engineering APIs

    enMay 01, 2024

    Podcast Summary

    • Exploring Web Scraping and API Reverse EngineeringWeb scraping and API reverse engineering offer valuable insights into data access and application functionality. Understand legal and ethical implications, and creatively interact with web pages for success.

      Web scraping and reverse engineering APIs can be valuable skills for accessing data and understanding how applications function. Wes, a Canadian developer, shares his experiences with writing web scrapers and the importance of interacting with web pages in creative ways. He also discusses the recent success of his wife's school auction, where they raised a record amount of money through donations and auctions of items like vacation homes. In the context of web scraping, Wes mentions the importance of understanding the legal and ethical implications, as well as the potential benefits of gaining visibility into unforeseen issues caused by bots or unconventional usage of applications. These insights provide a comprehensive understanding of the value and complexities of web scraping and reverse engineering APIs.

    • Gain insights from attempted attacks and scrape data for valuable informationSentry offers insights into application attacks and scraping allows access to valuable data from websites, but always respect website owners' wishes

      Sentry helps provide valuable insights into attempted attacks on your application, even if they're from bots trying common exploits. This visibility can save you from unnecessary stress and allow you to focus on fixing actual issues. Scraping is another useful tool when accessing data from websites is necessary, especially when an API isn't available or is too expensive. Scraping allows computers to read and extract information from websites, providing access to a vast amount of data on the web. However, it's important to note that scraping exists in a legal gray area, and respecting website owners' wishes is crucial. Examples of scraping in action include my brother-in-law's PlayStation 5 availability checker and a COVID vaccine notifier that pinged pharmacies for updates. These tools demonstrate the power of scraping to automate tasks and gather valuable information.

    • Managing Digital Content with Automation and ToolsTools like marketplace scrapers and file hosting apps have streamlined content discovery and management, but their effectiveness can change with updates and advancements. Adaptability and automation are key to efficiently managing digital content.

      Automation and efficient tools have significantly changed the way we discover and manage digital content. The speaker shared his experience of using various tools like marketplace scrapers and file hosting apps for personal use, and how these tools have evolved over the years. He discussed how he used to use a marketplace scraper to find and purchase old road bikes listed on Craigslist by texting him as soon as a keyword appeared. Now, Facebook Marketplace has made this process less efficient due to its advanced search capabilities and image recognition. The speaker also mentioned his use of Cloud App (now called Zite or Vercel) for hosting and managing screenshots. He shared how he wrote a script to download all his files from the app after considering moving to another tool due to the perceived decrease in quality. He emphasized the importance of automation in managing digital content, such as using Hazel to move and organize files based on specific criteria. The speaker's story highlights the impact of technology on our daily lives and the importance of adapting to new tools and methods for managing digital content.

    • Learning web scraping for data extractionWeb scraping is a versatile tool for extracting data from websites, enhancing insights, and saving time. Write scrapers for podcast stats, social media followers, and deals at stores like Canadian Tire. Learn web tech, auth methods, and website defenses. Use server-side JS for easy access. Some platforms lack detailed stats, necessitating scraping.

      Web scraping is a powerful tool for extracting data from websites, and it can be used for various purposes such as tracking competition, checking for stock on specific items, viewing stats over time, and even finding deals at stores like Canadian Tire. The speaker shared his experiences with writing scrapers for different projects, including a podcast stats scraper, a Twitter, Instagram, and TikTok follower scraper, and a script to find deals at Canadian Tire. He emphasized that web scraping is not only fun but also educational, as it helps you learn about web technology, authentication, and how websites try to prevent unauthorized access. He encouraged using server-side JavaScript for scraping, as it's the easiest way to access data. The speaker also mentioned that while some platforms like YouTube provide detailed stats, others like Spotify do not, making it essential to write scrapers to obtain the desired data. Overall, web scraping is a valuable skill that can provide insights and information that may not be readily available elsewhere.

    • Web scraping can be done client-side or server-sideChoose client-side for direct browser data or simple tasks, server-side for complex processes or when client-side access is denied

      Web scraping can be done both client-side and server-side, depending on the specific requirements of the task. Client-side scraping is useful when the data needs to be extracted directly from the browser or when the data is readily available in a different format. However, many websites use private APIs, which can be accessed by reverse-engineering the requests made by the website itself. This often involves dealing with authentication and session tokens. On the other hand, server-side scraping is beneficial when dealing with complex, multi-step processes or when the data cannot be extracted through client-side means. Additionally, tools like Proxyman can be used to intercept and analyze HTTPS traffic, providing valuable insights into the data being sent and received by applications and websites. Ultimately, the choice between client-side and server-side scraping depends on the specific use case, the available tools, and the resources at hand.

    • Accessing data from websites through unconventional meansReverse-engineering APIs, downloading server-rendered HTML, and using headless browsers are methods to access data from websites, but they require technical expertise and adaptability to changes

      Accessing data from websites through unconventional means can be a complex process. Adobe's CloudApp or Zite, for instance, can have their APIs reverse-engineered to download data, but newer trends involve server-rendered HTML that requires downloading multiple pages and reconstructing the DOM. Some websites, like Instagram, may offer initial state data during rehydration, which can be a quicker way to obtain information. However, since these methods aren't versioned, changes to the application can render previous methods obsolete. Additionally, client-side only websites require headless browsers like Puppeteer, Playwright, or Cypress to load and run JavaScript code, making it harder for websites to detect and block. These methods can be effective but require a deep understanding of web technologies and the ability to adapt to changes.

    • Use server-side web scraping for efficiencyUse Fetch for requests and Linked DOM for parsing server-side HTML for efficient web scraping

      When it comes to web scraping using Node.js, it's more efficient to request and parse data directly from the server instead of waiting for a webpage to load and then scraping it. This can be achieved by using packages like Fetch for making requests and Linked DOM for recreating the DOM on the server side. Linked DOM is a popular choice due to its simplicity and compatibility with various platforms. It allows you to work with the HTML and use methods like querySelector and querySelectorAll, just like in vanilla JavaScript. However, it's important to note that the structure and complexity of HTML can vary greatly from website to website, requiring a good understanding of the specific HTML layout to effectively parse and extract the desired data. Additionally, some websites intentionally make it difficult to scrape data by using obscure class names or complex HTML structures to prevent automated tools from accessing certain elements.

    • Locating specific elements on complex websitesUse ARIA labels, data test IDs, XPath, or AI to find specific elements on complex websites when classes aren't available.

      When navigating through the HTML and CSS structure of a complex website like Twitter, it's essential to have strategies to locate specific elements without relying on classes. One effective method is to search for ARIA labels, as they are required for accessibility and provide clear identifiers for various elements. Another strategy is to look for data test IDs, which developers often leave in the code for testing purposes. If neither ARIA labels nor data test IDs are available, XPath can be used to select elements based on their text content. However, these methods can be brittle and may break if the markup changes, making it important to keep them flexible and adaptable. Additionally, using AI to parse HTML and extract the desired information can be an effective alternative, especially when dealing with complex and dynamic webpages.

    • Utilizing AI and APIs for data processingAI and APIs can simplify data processing tasks and provide better results, but be aware of challenges like API standardization and sending tokens with requests to access protected routes.

      AI and APIs can significantly enhance the process of parsing and manipulating data, especially when dealing with large datasets. The speaker mentioned positive experiences with using AI to suggest maps, filters, and reductions for data. Additionally, APIs like Bun's file writing and reading API can simplify the process of handling files. However, the standardization of APIs can be a challenge, and sometimes specific use cases may require the use of non-standardized APIs. Another important point discussed was the need to send tokens or cookies along with fetch requests to access protected routes, as the response in the browser may differ from what is received on the server. To do this, the speaker suggested inspecting the network tab in dev tools, copying the fetch request, and then using the headers provided to send the request with the necessary tokens. In conclusion, utilizing AI and APIs can streamline data processing tasks and provide better results. However, it's essential to be aware of the challenges, such as the lack of standardization in APIs and the need to send tokens with requests to access protected routes.

    • Managing Authentication Tokens in API RequestsIdentify and handle necessary authentication headers or tokens, store them securely, and manage cookies with plugins for successful API interactions.

      When working with APIs, it's essential to identify and handle necessary authentication headers or tokens, which can be headers or cookies. These tokens often have long validity periods, but sometimes they might expire or require additional login steps. It's crucial to keep these tokens secure by storing them in environment files, as they should not be directly included in the code. When using fetch requests, managing cookies can be a challenge, but plugins like fetch-cookie can help automate the process. Additionally, be aware that some APIs may require CAPTCHA verification to prevent automated requests. However, if you're working ethically and not trying to abuse APIs, you should not encounter CAPTCHAs frequently. Overall, understanding the specific authentication requirements and handling them effectively is crucial for successful API interactions.

    • Innovative uses of technology to streamline processesAmazon experimented with 'just walk out' stores but faced manual labor challenges, while Uniglo uses RFID chips and iPads for efficient checkout. Simple solutions like a portable fridge for grocery shopping and tools like Keyboard Clean Tool enhance productivity.

      Technology continues to evolve, with companies finding innovative ways to streamline processes and automate tasks. However, there are still challenges to overcome, such as CAPTCHAs and manual labor in unexpected places. For instance, Amazon's experiment with "just walk out" stores involved people in other countries manually processing transactions. Meanwhile, some businesses, like Uniglo, are using technology like RFID chips and iPads to make checkout more efficient. As for everyday tasks, there's a need for simpler solutions, like a fridge you can bring to the grocery store. In terms of productivity, there are various tools available, such as Keyboard Clean Tool, which makes cleaning your keyboard and screen easier. Overall, technology is advancing, but there's still room for improvement and innovation.

    • Exploring Window Management Tools on MacThe speaker found BetterTouchTool effective for customizing keyboard shortcuts and window resizing but was drawn to the automatic tiling feature of Yabai, Amethyst, and Ubuy. He opted for creating custom shortcuts in BetterTouchTool instead of mastering the more complex tools due to the learning curve.

      The speaker discovered the need for more efficient window management on his Mac, leading him to explore various tools like BetterTouchTool, Yabai, Rectangle, and Amethyst. He found BetterTouchTool to be a versatile solution for customizing keyboard shortcuts and window resizing. However, he was particularly drawn to the automatic tiling feature of tools like Yabai, Amethyst, and Ubuy, which allows windows to resize and rearrange automatically when opening or closing others. Despite the appeal, he found the learning curve and time investment required to master these tools to be a barrier. Instead, he opted to create custom keyboard shortcuts in BetterTouchTool to incrementally resize windows to his desired sizes. For those interested in deeper exploration of related topics, the speaker recommended checking out Syntax on YouTube, where they release content on various tech subjects, including self-hosting and using tools like COOLify.

    Recent Episodes from Syntax - Tasty Web Development Treats

    790: State of JS 2023 Reactions

    790: State of JS 2023 Reactions

    Scott and Wes dive into the 2023 State of JavaScript survey, breaking down the latest trends and pain points in front-end frameworks, build tools, and JavaScript runtimes. Tune in for their hot takes and insights on what’s shaping the JavaScript landscape this year!

    Show Notes

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    789: Do More With AI - LLMs With Big Token Counts

    789: Do More With AI - LLMs With Big Token Counts

    Join Scott and CJ as they dive into the fascinating world of AI, exploring topics from LLM token sizes and context windows to understanding input length. They discuss practical use cases and share insights on how web developers can leverage larger token counts to maximize the potential of AI and LLMs.

    Show Notes

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    CJ: X Instagram YouTube TwitchTV

    Randy: X Instagram YouTube Threads

    788: Supabase: Open Source Firebase for Fullstack JS Apps

    788: Supabase: Open Source Firebase for Fullstack JS Apps

    Scott and CJ chat with Paul Copplestone, CEO and co-founder of Supabase, about the journey of building an open source alternative to Firebase. Learn about the tech stack, the story behind their excellent documentation, and how Supabase balances business goals with open-source values.

    Show Notes

    • 00:00 Welcome to Syntax!
    • 00:30 Who is Paul Copplestone?
    • 01:17 Why ‘Supa’ and not ‘Super’?
    • 02:26 How did Supabase start?
    • 08:42 Simplicity in design.
    • 10:32 How do you take Supabase one step beyond the competition?
    • 12:35 How do you decide which libraries are officially supported vs community maintained?
      • 15:17 You don’t need a client library!
    • 16:48 Edge functions for server-side functionality.
    • 18:51 The genesis of pgvector.
    • 20:59 The product strategy.
    • 22:25 What’s the story behind Supabase’s awesome docs?
    • 25:26 The tech behind Supabase.
    • 35:46 How do you balance business goals with open source?
    • 42:01 What’s next for Supabase?
    • 44:15 Supabase’s GA + new features.
    • 48:24 Who runs the X account?
    • 50:39 Sick Picks + Shameless Plugs.

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    CJ: X Instagram YouTube TwitchTV

    Randy: X Instagram YouTube Threads

    787: You Should Try Vue.js

    787: You Should Try Vue.js

    Scott and CJ dive deep into the world of Vue.js, exploring what makes this frontend framework unique and why it stands out from React and Svelte. CJ gives a comprehensive tour, covering everything from getting started to advanced features like state management and Vue’s built-in styles.

    Show Notes

    Vue.js: The Documentary.

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    786: What Open Source license should you use?

    786: What Open Source license should you use?

    Scott and CJ dive into the world of open source, breaking down its meaning, benefits, and the various types of licenses you’ll encounter. From permissive licenses like MIT and Apache 2.0 to copy-left licenses such as GNU GPLv3, they’ll help you choose and apply the right license for your project.

    Show Notes

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    785: What’s Next for NextJS with Tim Neutkens

    785: What’s Next for NextJS with Tim Neutkens

    Scott and Wes dive into the world of Next.js with special guest Tim Neutkens from Vercel. They explore the latest updates, including the React Compiler and React Server Components, discussing their impact on developer workflows and the future of Next.js development.

    Show Notes

    • 00:00 Welcome to Syntax!
    • 00:30 What does the React Compiler do?
    • 05:04 Will React Compiler help with managing Context?
    • 06:39 What happens if you’re not using a React Compiler?
    • 09:30 Will this work on any NextJS version?
    • 12:18 What are React Server Components?
    • 16:28 Shipping all the data inside an encapsulated component.
    • 20:17 Clearing up the frustrations around retrofitting server components.
    • 23:13 Handing migration.
    • 28:30 Is this just a fetch request with props?
    • 36:41 How closely are the NextJS and React teams working?
    • 41:53 Will we ever get Async Client Components?
    • 43:52 Async Local Storage API.
    • 45:31 Turbopack.
    • 57:51 Sick Picks & Shameless Plugs.

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    784: Logging × Blogging × Testing × Freelancing

    784: Logging × Blogging × Testing × Freelancing

    In this Potluck episode, Scott and Wes tackle listener questions on modern blogging, website environmental impact, and using LangChain with LLMs. They also cover CSS hyphens, unit vs. integration testing, and balancing web development with new parenthood.

    Show Notes

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott: X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    783: How We Built a Netflix Style “Save for Offline” Feature Into Syntax

    783: How We Built a Netflix Style “Save for Offline” Feature Into Syntax

    Scott and Wes dive into the world of browser caching for audio files, exploring the File System API and the Cache API. They discuss size restrictions across different browsers, how tools like Riverside.fm leverage IndexedDB, and walk through code examples for creating, retrieving, and managing cached audio data.

    Show Notes

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott:X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    782: The Developer’s Guide To Fonts with Stephen Nixon

    782: The Developer’s Guide To Fonts with Stephen Nixon

    Scott and CJ are joined by Stephen Nixon of ArrowType to delve into the world of fonts and type for developers. They explore the intricacies of font creation, the utility of variable fonts, and offer tips for making visually appealing typography on the web.

    Show Notes

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott:X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    781: Potluck - The Value of TypeScript × Vue vs Svelte × Leetcode

    781: Potluck - The Value of TypeScript × Vue vs Svelte × Leetcode

    In this potluck episode of Syntax, Scott and CJ serve up a variety of community questions, from the nuances of beginner vs. advanced TypeScript to the pros and cons of SvelteKit. They also discuss falling out of love with React, shipping private packages via NPM, and the eternal struggle of always starting but never finishing projects.

    Show Notes

    Sick Picks

    Shameless Plugs

    Hit us up on Socials!

    Syntax: X Instagram Tiktok LinkedIn Threads

    Wes: X Instagram Tiktok LinkedIn Threads

    Scott:X Instagram Tiktok LinkedIn Threads

    Randy: X Instagram YouTube Threads

    Related Episodes

    143 Positive Productivity: Entrepreneur Kim Sutton On How to Succeed Without Losing Yourself Along The Way

    143 Positive Productivity: Entrepreneur Kim Sutton On How to Succeed Without Losing Yourself Along The Way

    Kim Sutton owns a growing marketing agency, hosts a popular podcast and somehow keeps it all together as a mom to five kids, eight cats and a dog. In the wake of Kate Spade’s tragic suicide, Kim shares openly about her own struggles with depression and how she came back from the brink to help others boost their positive productivity by sleeping more and doing less.

    #071 - Exactly How I Manage my Time & Stay Productive as a Small Business Owner

    #071 - Exactly How I Manage my Time & Stay Productive as a Small Business Owner

    In this Episode of On Purpose With Alex Beadon I’ll be sharing exactly how I manage my time & stay productive as a small business owner. This episode contains every single thing I wish I knew about time management and productivity when I first got started. I share mindsets you must adopt if you want to truly maximize your time, I share exactly how you should be using your calendar on a daily basis to find more time in your day. I share the book that changed the way I prioritize my tasks, the online course that revolutionized how I manage my tasks, and the apps I use on a daily basis and why you should be using them too. These mindsets, apps, and systems have completely changed my life and I hope they do the same for you.

    EP 96: ChatGPT and Zapier - A Game-Changing Duo

    EP 96: ChatGPT and Zapier - A Game-Changing Duo

    ChatGPT is already an amazing tool. But the combination of ChatGPT and Zapier?! That duo can put your entire business on autopilot. We're showing you the best tips, tricks, and insights on how to use Zapier with ChatGPT and take your workflow to the next level.

    Newsletter: Sign up for our free daily newsletter
    More on this: Episode Page
    Join the discussion: Ask Jordan questions about ChatGPT and Zapier
    Upcoming Episodes: Check out the upcoming Everyday AI Livestream lineup
    Website: YourEverydayAI.com
    Email The Show: info@youreverydayai.com
    Connect with Jordan on LinkedIn

    Timestamps:
    [00:02:00] Daily AI news
    [00:06:45] Jordan's hot takes
    [00:10:40] Explanation of Zapier and examples
    [00:14:40] Quick explanation of ChatGPT
    [00:18:43] ChatGPT automation limitations
    [00:21:15] Examples of ChatGPT and Zapier combo
    [00:29:42] ChatGPT and Zapier - the ultimate duo
    [00:33:00] Using Zapier in ChatGPT plugin packs
    [00:39:40] The results of ChatGPT and Zapier

    Topics Covered in This Episode:
    Primary Topic: Introduction and Recommendations for Zapier
    - Speaker highly recommends using Zapier for businesses, having used it themselves for 5 to 10 months.
    - Describes Zapier as a marketing automation platform.
    - Mentions using Zapier for clients in their digital strategy company.
    - Highlights the ability of Zapier to automate tasks and save time.
    Primary Topic: Underutilized Business Tool: ChatGPT with Plugins
    - Introduces ChatGPT with plugins as an underutilized business tool.
    - Believes ChatGPT with plugins will be most beneficial until Microsoft Copilot is released.
    - Discusses the capabilities of ChatGPT for creative content creation.
    - Mentions the lack of comprehensive automation capabilities in ChatGPT.
    - Emphasizes the importance of combining ChatGPT and Zapier for business automation.

    Keywords:
    Zapier, marketing automation platform, digital strategy company, ChatGPT, underutilized business tool, Microsoft Copilot, episode, viewers, educational content, generative AI, business, Google, political advertisements, AI, California governor, executive order, risk assessment, energy usage, Apple, conversational AI, AI models, automation, efficiency, ChatGPT plugins, WCI plugin, content creation, SEO, Zapier plugins, scaling businesses, GPT technology, external interaction, conditional logic zap.

    #55 - A Safe Return to the Workplace with Kevin Steinberger

    #55 - A Safe Return to the Workplace with Kevin Steinberger

    🦠 Covid-19 or no Covid-19 🦠 - marketers gotta market! And voila! 🎩 🎩 🎩

    It’s time for another edition of the 4 AM Report, and today, we talk returning to the workplace!

    We’ve been lucky during this lockdown, as we work from home on the regular. 🌟🌟🌟

    But for many, returning to work will bring no amount of trepidation and anxiety! How should your reopening work? How much space-per-employee should you dedicate? How do you keep everyone safe? 

    We went straight to an expert for answers!

    Today we have with us Kevin Steinberger, Program Director and Producer, Future Offices Conference Series at IQPC.

    His job is to know the ins and outs of space utilization, leasing new technology, new sanitization measures, automation within design, etc. You name it, he knows it!

    Through his research with global heads of real estate, workplace HR, and Fortune 500 brands he’s synthesized a safe return to the workplace to three main things: Safety, trust and productivity.

    Have a listen!

    About Kevin

    Kevin Steinberger is responsible for developing global market research for corporate real estate, facilities and workplace teams across all industries of the Fortune 500. This research is used for advising tenants on next steps for their workplace strategy and real estate footprint, and additionally is used to develop the speaking content for the annual Future Offices conferences at IQPC. As the producer for these shows, Kevin brings together the highest level of research and content circling around people, place and technology to ultimately help enterprises develop their next generation workplaces.

    LinkedIn

    ***

    You can also listen to the entire episode, as well as all our previous episodes, over on Apple Podcasts. We'd love it if you could subscribe give us a review! 

    If you're losing sleep over a particular marketing/business related problem during this Covid-19 economic uncertainty, or if you have a guest idea on the topic, let us know. Drop us a line at c+p digital. 

    And as always, sweet dreams…well, hopefully!

    Supper Club × Developer Experience with Shawn Wang

    Supper Club × Developer Experience with Shawn Wang

    In this supper club episode of Syntax, Wes and Scott talk with Shawn Wang about his thoughts on developer experience, why DX is important, and the importance of learning in public.

    Hasura - Sponsor

    With Hasura, you can get a fully managed, production-ready GraphQL API as a service to help you build modern apps faster. You can get started for free in 30 seconds, or if you want to try out the Standard tier for zero cost, use the code “TryHasura” at this link: hasura.info. We’ve also got an amazing selection of GraphQL tutorials at hasura.io/learn.

    LogRocket - Sponsor

    LogRocket lets you replay what users do on your site, helping you reproduce bugs and fix issues faster. It’s an exception tracker, a session re-player and a performance monitor. Get 14 days free at logrocket.com/syntax.

    Show Notes

    ××× SIIIIICK ××× PIIIICKS ×××

    Shameless Plugs

    Tweet us your tasty treats