Logo
    Search

    Podcast Summary

    • Comparing Tech Stacks for Building and Selling Online CoursesScott and Wes, hosts of the Syntax podcast, discuss their unique approaches to building and selling online courses using different tech stacks, focusing on APIs, dashboards, authentication, email, and more.

      Scott and Wes, the hosts of the Syntax podcast, both have extensive experience in building and selling online courses, and they each use different tech stacks to create their respective course platforms. They discussed the various components of their stacks, including APIs, dashboards, authentication, email, and more. Scott's platform, which he calls the Boss Monster, powers multiple domain names and handles marketing, purchasing, and course access. He recently underwent a massive redesign, focusing on improving the CSS and design. Wes's stack also includes an API, dashboard, and authentication, but the specific technologies used differ from Scott's. Both hosts find it intriguing to compare their similar yet different approaches to building and selling online courses. They are sponsored by Content by Kentico, Headless CMS, LogRocket, and dottech domain names. The episode also includes a fun game from LogRocket.

    • Comparing Express and Fastify APIs with MongoDB and GraphQLBoth Express and Fastify APIs serve their applications effectively, with Express offering stability and MongoDB flexibility, while Fastify boasts speed and GraphQL loaders for efficient queries.

      Both APIs, one built on Express with MongoDB and the other on Fastify with GraphQL, serve their respective applications effectively. The choice of technology for each API was not based on the latest trends but on the longevity and practicality of the existing tech stack. The speaker's API uses Express, MongoDB, and various packages, while the other uses Fastify, GraphQL, and Mercurius with built-in caching. Despite some differences, both APIs function well and have their unique advantages, such as Express's stability and MongoDB's flexibility versus Fastify's speed and GraphQL's loaders for efficient database queries. Ultimately, the decision to use one technology over another comes down to the specific needs and goals of the project.

    • Optimizing Backend Processes with Redis, Mercurius Auth, Fastify, and MongooseThey use Redis for caching, Mercurius auth for authentication, Fastify as their server framework, and Mongoose as their ORM to build a fast and secure GraphQL API

      This team uses a combination of technologies like Redis, Mercurius auth, Fastify, and Mongoose to optimize their backend processes and secure their GraphQL API. They cache frequently used data in Redis to speed up back-end processes and use Mercurius auth for authentication checks at the API level. Fastify is their server framework of choice, and they use Mongoose as their Object-Relational Mapping (ORM) system to interact with their database. The team is considering adopting TypeScript, GraphQL, and serverless technologies to refactor their API, but for now, they're content with their current setup. In essence, they've built a robust and efficient backend infrastructure using a mix of popular tools.

    • MongoDB Atlas vs Kontent: Different Solutions for Web ApplicationsMongoDB Atlas optimizes database performance while Kontent caters to both marketers and developers for managing content in web applications

      Both MongoDB Atlas and Kontent provide valuable solutions for different aspects of building and managing web applications. MongoDB Atlas offers insights and suggestions for optimizing database performance, making it a great choice for handling data storage. On the other hand, Kontent is a headless CMS that caters to both marketers and developers, enabling live editing for non-technical users and providing technical tools for developers. It integrates with various frameworks and tools, making it an excellent option for managing content. When it comes to customer dashboards, they can be a mix of server-rendered and client-rendered elements. For instance, a server-rendered customer dashboard may display a user's courses, receipts, and certifications, while a client-rendered dashboard could offer a more dynamic viewing experience. Ultimately, understanding the unique strengths of each platform can help developers make informed decisions about which tools to use in their tech stack.

    • Comparing React and SvelteKit in different applicationsBoth React and SvelteKit have their uses in different applications, with the former prioritizing server side rendering and user data access, and the latter prioritizing performance and organization through client side rendering.

      While both applications use React for the viewing experience, they differ in how they handle server side rendering and user information management. The first application keeps the customer dashboard server side rendered for faster loading times and the ability to access user data from the database. In contrast, the second application, built more recently, has reevaluated its architecture and decided to have all parts of the app, including the viewing experience, run on SvelteKit. The first application's history includes using Meteor for a long time before transitioning to SvelteKit, while the second application was initially built with server rendering and later added the viewing experience in React. Both applications recognize the importance of considering what parts of the app benefit from server side rendering and what can be client side rendered for optimal performance and organization.

    • Improving the Learning Experience with Video Corrections and Versus Code ThemesCreators can enhance their viewers' experience by implementing video corrections, clarifications, and copypasta for easier access and utilizing Versus Code themes for better code readability.

      Creators are constantly seeking ways to enhance their viewers' experience, and two specific improvements discussed were implementing video corrections, clarifications, and copypasta for easier access, and utilizing Versus Code highlighting themes for better code readability. The corrections are hosted on GitHub, allowing for easy updates and access, while the Versus Code theme ensures consistency between code samples in videos and text. Another notable mention was the use of a custom video player based on Video.js, which the creator expressed frustration with due to its complex configuration and potential compatibility issues with different front-end frameworks. Overall, the focus is on providing a seamless and efficient learning experience for viewers.

    • Importance of clear foundations for businessesClear naming conventions and consistent language are crucial for a business's structure and future updates. Inconsistent terms and lack of proper database setup can lead to confusion and complications.

      Building a business relies on clear and consistent foundations. The speaker in this discussion shared their experience of having to restructure and rename various elements of their business due to early decisions that didn't hold up over time. They mentioned the use of inconsistent language, such as calling a "customer" a "purchase" or a "course," and how this caused confusion and the need for a renaming PRN. Additionally, their business was initially built around YouTube and used the term "playlist" for what would later be called "courses," leading to further complications. The speaker also mentioned the lack of a proper database migration setup, which made updating their system a challenge. They emphasized the importance of having a well-structured foundation and a clear naming convention to avoid confusion and make future updates smoother.

    • The Hidden Costs of Free Video Hosting PlatformsAs content grows, creators may face unexpected costs and limitations on free video hosting platforms. Custom solutions offer more control but require additional work.

      Creators who rely on free platforms like YouTube for their video hosting can face unexpected costs when their content becomes popular. This was the case for the speaker, who went from paying $200 a year on Vimeo to potentially $20,000 a year due to high bandwidth usage. Although Vimeo offers cheaper bandwidth than competitors, the speaker encountered issues with their video embedding and control over streaming. To address these issues, they transitioned to Mux, a more custom solution, but one that required building their own video uploader and parsing file names for metadata. Despite the additional work, the speaker valued having full control over their videos and access to the code, which they couldn't get elsewhere for free. The moral of the story is that while free platforms can be a good starting point, creators should consider the potential costs and limitations as their content grows, and weigh the benefits of custom solutions against the added work involved.

    • Real-time visibility and control over user interactions with videos and toolsDebug video playback errors with Vimeo and LogRocket, optimize user experience with a scrubbable video replay, and manage sales, customer data, and statistics with an effective admin dashboard using Flexbox and Postmark.

      Having real-time visibility and control over user interactions with videos and tools on your website can greatly enhance your ability to troubleshoot issues and optimize user experience. The speaker discussed using Vimeo for video scrubbing events and LogRocket for debugging video playback errors. He also shared his experience with creating an admin dashboard using Flexbox for displaying proportional charts and Postmark for transactional emails. One of the key benefits of having a scrubbable video replay, as demonstrated by LogRocket, is the ability to identify and address issues with custom video uploaders. By having access to video replays, network requests, and error logs, developers can efficiently diagnose and resolve problems, much like how a mechanic would benefit from having visibility while working on a car engine. Additionally, the speaker emphasized the importance of an admin dashboard for managing sales, customer data, and various statistics. He uses Flexbox for creating proportionally sized charts to visualize sales data and Postmark for handling transactional emails. By integrating these tools into his admin dashboard, he can efficiently manage customer interactions, sales data, and troubleshoot issues. Overall, the combination of real-time video scrubbing, debugging tools, and an effective admin dashboard can significantly improve the developer experience and lead to more efficient problem-solving and user experience optimization.

    • Assessing and Upgrading Systems for Growing BusinessesAs businesses expand, simple methods for managing operations may no longer suffice. Assessing and upgrading systems to more sophisticated solutions can improve efficiency and better manage larger volumes of data and complex operations.

      As businesses grow, managing various aspects of operations through simple methods like files may become cumbersome and inefficient. The speaker shares his experience of managing coupons through a JavaScript file and the hassle it caused, leading him to create a user interface for easier coupon management. He also discusses the evolution of his admin dashboard from a simple React one to a more comprehensive SvelteKit dashboard with features like charts and content management system (CMS)-like functionality. While a file might suffice for small businesses, a more sophisticated solution becomes necessary for managing larger volumes of data and more complex operations. The speaker's experience highlights the importance of assessing and upgrading systems as businesses grow.

    • Effective administrative tools improve business managementTools like customer service, sales charts, author royalty, and internal authentication streamline business processes and save time.

      Effective use of administrative tools can significantly reduce the workload and improve the efficiency of managing a business, particularly when dealing with large amounts of data. The speaker, who runs an educational platform, discussed how they have outgrown managing their courses through simple JavaScript files and the need for more robust administrative tools. They highlighted the benefits of having a customer service tool that allows for easy user management, refunds, and subscription cancellations. Additionally, sales charts that provide real-time revenue data were mentioned as essential for tracking business performance. The speaker also touched upon the importance of author royalty tools for managing payments to authors. They emphasized the value of these tools, stating that they could spend hours creating charts and reports manually but preferred having the data readily available. The speaker also acknowledged the importance of internal tooling for web development, as it is crucial for running a business as much as its customer-facing aspects. Authentication was mentioned as a simple yet necessary aspect of the administrative tools, with Passport JS and JSON Web Tokens being used for this purpose.

    • Custom Authentication Systems: Benefits and ChallengesCustom authentication systems offer specific access control and role management, but come with risks and require extra caution. Tools like bcrypt, insulting, and hashing can enhance security. Sending transactional emails with Node Mailer, Postmark, Pug, Inky, and Juice can provide good analytics and tracking.

      The use of custom authentication systems, while providing specific access control and role management, comes with its own set of challenges and security concerns. The speaker in this conversation mentioned that they have a custom authentication strategy using JSON Web Tokens stored as HTTP only cookies, and they use bcrypt, insulting, and hashing for security. However, they also acknowledged the potential risks involved and the importance of being extra cautious when dealing with authentication systems. Another key point discussed was the use of transactional emails, which the speaker sends using Node Mailer and Postmark. They mentioned that Postmark is affordable and provides good tooling for email tracking and analytics. The emails are templated using Pug and Inky, and the CSS is inlined using Juice. The speaker plans to eventually switch to MJML for email templates. The speaker also mentioned that they had previously used Meteor's authentication service but chose to design their own authentication system due to the frustration of transitioning. They acknowledged that using an external authentication service would have been easier and more efficient. In summary, the conversation highlighted the importance of secure authentication systems and the potential benefits and challenges of using custom systems versus external services. The speaker also shared their experience with using different tools and libraries for sending transactional emails.

    • Considering a transition to Stripe for expanded payment optionsThe speaker is exploring Stripe for its extensive payment methods, including bank transfers, Apple Pay, Alipay, WeChat Pay, and crypto, and is excited about the potential for parity pricing based on location.

      The speaker is currently using a custom checkout experience for their business, which includes credit card and PayPal payments, but they are considering transitioning to a more comprehensive payment processing solution like Stripe, which would allow them to accept a wider range of payment methods including bank transfers, Apple Pay, Alipay, WeChat Pay, and even crypto. They have been in discussions with Stripe for over a year and are excited about the possibility of implementing parity purchasing power, which would enable offering different prices based on the customer's location. The speaker also mentioned that they have had experience with Braintree in the past, but are looking for more options, specifically the ability to add Apple Pay and crypto payments. They have recently moved their hosting over to Render for the continuous integration features and are happy with the performance.

    • Giving things a second chance with RenderInitially had a negative experience with Render, but after a second chance, discovered improved features and benefits like quick rollbacks. Also, they're excited about the upcoming '.techdomainnames' sponsored game, 'Break the Code'.

      Sometimes first impressions can be misleading, and it's worth giving things a second chance. The speaker shared a personal experience with using a rendering platform called Render, where their initial encounter didn't go well. However, after receiving an invitation to try it again, they were pleasantly surprised by the improved experience and its additional benefits, such as quick rollbacks. The speaker also highlighted the upcoming ".techdomainnames" sponsored game, "Break the Code," which offers exciting prizes for solving puzzles. Beyond that, the speaker discussed various features of their usage of the platform, including tax reporting, an affiliate system, team license distribution, and the option for flex licenses. They also mentioned their interest in exploring TypeScript serverless, but currently, they're satisfied with their deployment times. Overall, the speaker emphasized the value of giving things a second chance and the practical benefits they've experienced with Render.

    • Desires for platform improvements and trying new keyboardsSpeakers shared their personal desires for admin dashboard enhancements, team license systems, and affiliate programs for their platforms, and also tried a new mechanical keyboard, the VISLAZ v84, which offers Bluetooth connectivity and RGB lighting, and praised affordable competitors like Keychron.

      As individuals and businesses, we constantly evolve and have wishes for how we want our platforms or tools to improve. The speakers discussed their personal desires for their own platforms, such as admin dashboard enhancements, team license systems, and affiliate programs. While these improvements may not directly generate revenue, they are crucial for supporting businesses and teams. The speakers also shared their experiences with trying new keyboards, specifically the VISLAZ v84 mechanical keyboard, which they found to be a great alternative to the Apple keyboard, especially for its Bluetooth connectivity and RGB lighting. The speakers also mentioned their appreciation for companies like Keychron, which aim to compete with more established brands by offering similar features at more affordable prices. Overall, the discussion emphasized the importance of continuous improvement and adaptation to meet changing needs and preferences.

    • The importance of finding the right technology for individual needsPeople invest time and money to find technology that caters to their unique preferences, even if it requires effort and frustration.

      People have unique preferences when it comes to technology and are often willing to invest time and money into finding the perfect fit for their needs. The speaker, Tonie Box, was a premium product that brought joy to a child, who had difficulty being alone in his room at night. Similarly, the speaker's father was on a quest for an ergonomic keyboard with specific features, despite the challenges of assembling and configuring it himself. Both individuals' experiences illustrate the importance of finding the right technology that caters to their individual needs and preferences, even if it requires some effort and investment. The Tonie Box and the elusive ergonomic keyboard serve as reminders that the journey towards finding the perfect technology can be frustrating but ultimately rewarding.

    • Exploring Effective Learning Tools and ResourcesUsing the right tools and resources can significantly enhance your learning experience and lead to better outcomes. Experiment with different platforms like Wes Bos' courses and Level Up Tutorials to find what fits your needs and learning style.

      Having the right tools and resources in place can significantly enhance your learning experience and lead to better outcomes. The speakers in this discussion shared their personal experiences using two different learning platforms, Wes Bos' courses and Level Up Tutorials, both of which have evolved over time to offer more features and benefits. Wes Bos mentioned his courses, which include both paid and free options, and the use of coupon codes for discounts. He emphasized the importance of experimenting with different stacks and tools to find what works best for you. Level Up Tutorials, on the other hand, offers a new tutorial course every month, with the latest one focusing on creating 3D projects using Svelte and Svelte Cubed. This platform allows learners to explore the possibilities of 3D web development with minimal coding. Both speakers emphasized the importance of continually updating and improving their stacks, acknowledging that legacy systems will always be a part of the development process. They encouraged listeners to explore different options and find the learning resources that best fit their needs and learning styles. In summary, having the right tools and resources can greatly enhance your learning experience and lead to better outcomes. Whether you choose to explore Wes Bos' courses or Level Up Tutorials, remember that the right stack for you may change over time, and that's okay. Keep experimenting and finding what works best for you.

    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

    747: Middleware Explained

    747: Middleware Explained

    Join Wes and Scott for a hasty episode of Syntax as they unpack the power of middleware for developers, covering caching, authentication, A/B testing, error handling, and user redirection in a quick, punchy rundown to supercharge your backend skills!

    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

    GraphQL? Here is what you need to know!

    GraphQL? Here is what you need to know!

    Snipcart — Sponsor

    Snipcart allows you to create online shopping carts without any backend work. It's entirely client-side which means it's the perfect fit for anyone building a SPA in React, Angular or any other framework. Check out the full list of features over at Snipcart.com/syntax and sign up for three months free!

    Freshbooks — Sponsor

    If you are a small business or freelancer check out Freshbooks.com Cloud Accountingand get 30 days free. Make sure to enter SYNTAX into the "How did you hear about us" section.

    { show(id: 027) { notes }}

    02:40

    • What is GraphQL anyways?
    • GraphQL Relational Data

    04:45

    • How is it different than REST?

    08:30

    • GraphQL's self documenting Nature

    09:20

    • You don't need to replace your existing REST api
    • It can sit infront of multiple APIs

    10:00

    11:50

    13:30

    • Why we like Apollo
    • Setup is amazingly fast

    15:00

    • Pagination
    • Refreshing of data

    18:00

    • The GraphQL Core Concepts
    • Queries
    • Mutations
    • Filtering and Sorting
    • It's not really a query language

    21:00

    • How do you say Schema?

    22:00

    • More on Resolvers

    22:50

    • Mutations
    • Updating the cache

    27:00

    • Using with existing APIs
    • Do you have two schemas now? One for MongoDB and one for GraphQL?

    35:00

    45:00

    53:00

    • Apollo Link
    • Apollo VS Redux

    56:00

    • Graphiql

    SIIIIICK PICKS

    Shameless Plugs

    Tweet us your tasty treats!

    Potluck — Video Hosting × Fake Names? × Portfolio Projects × Monorepos × APIs × TLDs × Recording Tips × More!

    Potluck — Video Hosting × Fake Names? × Portfolio Projects × Monorepos × APIs × TLDs × Recording Tips × More!

    In this episode of Syntax, Scott and Wes talk about how to keep your skill up to date when you have a job and a family, when you should start looking for your first job, monorepos, video hosting, TLDs, APIs, fake names, and more!

    Sanity - Sponsor

    Sanity.io is a real-time headless CMS with a fully customizable Content Studio built in React. Get a Sanity powered site up and running in minutes at sanity.io/create. Get an awesome supercharged free developer plan on sanity.io/syntax.

    Sentry - Sponsor

    If you want to know what’s happening with your code, track errors and monitor performance with Sentry. Sentry’s Application Monitoring platform helps developers see performance issues, fix errors faster, and optimize their code health. Cut your time on error resolution from hours to minutes. It works with any language and integrates with dozens of other services. Syntax listeners new to Sentry can get two months for free by visiting Sentry.io and using the coupon code TASTYTREAT during sign up.

    Vonage - Sponsor

    Vonage is a Cloud Communications platform that allows developers to integrate voice, video and messaging into their applications using their communication APIs. Whether you’re wanting to build video calls into your app, create a Facebook bot, or build applications on top of programmable phone numbers, you’ll have all the tools you need. Use promo code SYNTAX10 for €10 of free credit when signing up at vonage.dev/syntax.

    Show Notes

    02:10 - How do you handle token refresh when multiple API calls are made at the same time? Let’s says you get a 401 and do acquire a new token, but that will only be used by the first API call, while the other parallel APIs would still use the old one and error out. This has caused me to sort of artificially limit the total requests to be made to 1. How do you deal with it?

    06:40 - What service do you guys use for video storage and optimization? I am currently building out a side project that will require some video hosting so I figured I would ask the experts.

    15:22 - I’m trying to teach myself web development and I’m having problems making up the logic for my personal projects. I would have to watch YouTube tutorials or look at other people’s code in order to implement simple features to my website and I’ve been feeling pretty stupid for not spending the time to think of it. I feel like I’m missing out on knowing how to problem solve for myself whenever I copy other people’s code and try to understand them afterwards.

    19:27 - I just landed my first web development job after following The Odin Project and building personal projects for about a year. It tripled my income so I am incredibly excited! I have been using a PHP framework which was developed by one of my coworkers and has no documentation. In order to understand the code, I either have to read a bunch of source code or ask one of the other developers questions. While I am doing well, I can’t help but feel as if I am working way too slow and asking way too many questions. I assume this is imposter syndrome and lots of people deal with it, but how would you suggest dealing with this type of anxiety?

    25:11 - Monorepos, yes or no?

    29:43 - As a brand new self-taught web developer, how would you know if you’re ready to apply for junior positions?

    32:03 - Will there ever be a .eat domain or are the pre-order sites just ripping you off? Would like to know who decides what TLDs are possible or not.

    35:26 - I’m currently employed as a fullstack developer but want to build a portfolio for future job hunting. Would you say it’s ok to reference a project or two from an employer? My problem is that the only projects I have outside are mostly just smaller tools built for myself for fun.

    39:29 - Should developers always use their real first and last name when presenting themselves as a professional online (e.g. Twitter, LinkedIn, Github, personal site). Or is it acceptable to use a fake last name for example? My wife is quite conscious about privacy online, so would prefer I retain some anonymity. But also, my last name is a bit generic, and not very Googleable. I thought having a more snappy and interesting name would help me stand out, and be easier to find with a quick Google. You guys both have awesome names that are very unique and are hard to forget.

    43:59 - How do you find time to work and keep up with updates and libraries etc. having a wife & kids?

    46:06 - I am a beginner in making course content. I am trying to create a programming tutorial, but every time I try to record some tutorials I have to compromise on audio quality. Lots of background noises get captured on audio. Can you both share some tips to make soundproofing room? What tricks do you both use?

    53:33 - As someone who recently learned/is learning how to build websites using express/node/react, with a little know how with Python and Django too, how do you start building a portfolio that isn’t just a bunch of practice/show-pieces? How do I get a client?

    59:53 - Should I be using multiple web apps on a single site or try to make them all one? If I have a site that displays blog posts about parks for example, then a page with all the parks listed out that link to a page about each single park’s details, should I be making the entire thing in one app? Or make a blog app and publish it, then make a different app for the other content and publish it using a subdomain?

    Links

    ××× SIIIIICK ××× PIIIICKS ×××

    Shameless Plugs

    Tweet us your tasty treats!

    How to Implement Authentication in Your BFF Architecture in Minutes

    How to Implement Authentication in Your BFF Architecture in Minutes

    This story was originally published on HackerNoon at: https://hackernoon.com/how-to-implement-authentication-in-your-bff-architecture-in-minutes.
    In the web development field, auth (authentication + authorization) plays a vital role in securing user access and protecting sensitive data.
    Check more stories related to cybersecurity at: https://hackernoon.com/c/cybersecurity. You can also check exclusive content about #authentication, #clerk, #programming, #web-development, #typescript, #webdev, #graphql, #frontend-development, and more.

    This story was written by: @wunderstef. Learn more about this writer by checking @wunderstef's about page, and for more stories, please visit hackernoon.com.

    Auth (authentication + authorization) plays a vital role in securing user access and protecting sensitive data. Implementing auth solely in the frontend is easy, but is usually a terrible idea. Even when done in the backend, it can have its drawbacks. This article explores these limitations and presents a compelling third alternative: the Backends-for-Frontends pattern.