Episodes

Episode 92 - Warp with Zach Lloyd

<p><strong><em>Zach Lloyd is the CEO of Warp, a Rust-based terminal for modern development.</em></strong></p><p>In this episode we discuss the motivations for starting an entire company dedicated to building a terminal, the inefficiencies introduced by the current default terminals, and the company's future plans for monetization.</p><p><strong>Zach Lloyd</strong></p><ul> <li><a href="https://twitter.com/zachlloydtweets"><strong>Twitter</strong></a></li> <li><a href="https://www.linkedin.com/in/zachlloyd/"><strong>LinkedIn</strong></a></li> <li><a href="https://thezbook.com/"><strong>Blog</strong></a></li> </ul><p><strong>Warp</strong></p><ul> <li><a href="https://www.warp.dev/"><strong>Homepage</strong></a></li> <li><a href="https://twitter.com/warpdotdev"><strong>Twitter</strong></a></li> <li><a href="https://github.com/warpdotdev/Warp"><strong>GitHub</strong></a></li> <li><a href="https://discord.com/invite/warpdotdev"><strong>Discord</strong></a></li> <li><a href="https://www.youtube.com/@warpdotdev"><strong>YouTube</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://ohmyz.sh/"><strong>Oh My Zsh</strong></a></li> <li><a href="https://starship.rs/"><strong>Starship</strong></a></li> </ul><p><strong>Show Outline</strong></p><p><strong>00:10</strong> - Zach's background and motivation for creating Warp</p><p><strong>02:13</strong> - What are the Warp features that make developers more productive?</p><p><strong>07:01</strong> - Why is Warp written in Rust?</p><p><strong>10:36</strong> - Does Warp work on multiple platforms?</p><p><strong>12:22</strong> - How does Warp plan on monetizing in the future?</p><p><strong>16:06</strong> - What are the benefits of Warp for beginners learning the terminal?</p><p><strong>22:29</strong> - What shells does Warp support?</p><p><strong>25:17</strong> - How do you prioritize feature development and what is the roadmap for the next sixth months?</p><p><strong>29:31</strong> - Will Warp eventually be integrated with the VS Code terminal?</p><p><strong>31:43</strong> - Final thoughts and where to learn more about Warp</p>

Show notes

Episode 91 - IPFS with Daniel Norman

<p><strong><em>Daniel Norman is a Developer Advocate at Protocol Labs.</em></strong></p><p>In this episode we discuss the philosophy and motivation behind the creation of IPFS, IPFS pinning services and gateways, how Protocol Labs relates to IPFS, and how to moderate content on a distributed, censorship resistant network.</p><p><strong>Daniel Norman</strong></p><ul> <li><a href="https://twitter.com/daniel2color"><strong>Twitter</strong></a></li> <li><a href="https://norman.life/"><strong>Homepage</strong></a></li> </ul><p><strong>Protocol Labs</strong></p><ul><li><a href="https://protocol.ai/"><strong>Homepage</strong></a></li></ul><p><strong>IPFS</strong></p><ul><li><a href="https://ipfs.tech/"><strong>Homepage</strong></a></li></ul><p><strong>Links</strong></p><ul> <li><a href="https://aragon.org/"><strong>Aragon</strong></a></li> <li><a href="https://web3js.readthedocs.io/en/v1.8.1/"><strong>web3.js</strong></a></li> <li><a href="https://www.prisma.io/"><strong>Prisma</strong></a></li> <li><a href="https://docs.ipfs.tech/concepts/content-addressing/"><strong>Content Addressing</strong></a></li> <li><a href="https://blueskyweb.org/"><strong>Bluesky</strong></a></li> <li><a href="https://atproto.com/"><strong>AT Protocol</strong></a></li> <li><a href="https://fleek.co/"><strong>Fleek</strong></a></li> <li><a href="https://web3.storage/"><strong>web3.storage</strong></a></li> <li><a href="https://www.infura.io/"><strong>Infura</strong></a></li> <li><a href="https://www.pinata.cloud/"><strong>Pinata</strong></a></li> <li><a href="https://arxiv.org/abs/1407.3561"><strong>IPFS - Content Addressed, Versioned, P2P File System</strong></a></li> <li><a href="https://developers.cloudflare.com/web3/ipfs-gateway/"><strong>Cloudflare IPFS Gateway</strong></a></li> <li><a href="https://fission.codes/"><strong>Fission</strong></a></li> <li><a href="https://blog.ipfs.tech/state-of-ipfs-in-js/"><strong>State of IPFS in JS</strong></a></li> <li><a href="https://ajcwebdev.com/2022/06/12/a-first-look-at-ipfs/"><strong>A First Look at IPFS</strong></a></li> <li><a href="https://someantics.dev/ipfs/"><strong>Some Antics - Deploy to the Decentralized Web with IPFS</strong></a></li> </ul><p><strong>Show Outline</strong></p><p><strong>00:11</strong> - Daniel’s code journey<br><strong>11:19</strong> - What is web3?<br><strong>13:36</strong> - What does it mean to “own” something digital?<br><strong>22:19</strong> - Bluesky and the At Protocol<br><strong>25:35</strong> - Living in a high trust society<br><strong>28:01</strong> - What is IPFS?<br><strong>36:32</strong> - IPFS pinning services and gateways<br><strong>45:23</strong> - Protocol Labs<br><strong>48:20</strong> - Is it possible to block or moderate content on IPFS?<br><strong>54:58</strong> - Where should someone go to get started with IPFS or get in touch with the IPFS community?<br><strong>58:17</strong> - How can listeners get in touch with Daniel?</p>

Show notes

Episode 90 - Partytown with Adam Bradley

<p><strong><em>Adam Bradley is the Director of Technology at Builder.io and co-creator of Partytown, a lazy-loaded library to help relocate resource intensive scripts off the main thread and into a web worker.</em></strong></p><p>In this episode we discuss making sites significantly more performant by offloading third party scripts into a web worker with Partytown, how Partytown fits into the larger suite of tools that Builder.io is working on including Qwik, and cross-compiling any frontend UI library with Mitosis.</p><p><strong>Adam Bradley</strong></p><ul> <li><a href="https://twitter.com/adamdbradley"><strong>Twitter</strong></a></li> <li><a href="https://github.com/adamdbradley"><strong>GitHub</strong></a></li> </ul><p><strong>Partytown</strong></p><ul> <li><a href="https://partytown.builder.io/"><strong>Homepage</strong></a></li> <li><a href="https://github.com/BuilderIO/partytown"><strong>GitHub</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://github.com/WordPress/performance/issues/176"><strong>WordPress Partytown Support</strong></a></li> <li><a href="https://github.com/WordPress/performance/pull/271"><strong>Add Partytown support to run scripts in WordPress Worker Thread</strong></a></li> <li><a href="https://nextjs.org/docs/basic-features/script#offloading-scripts-to-a-web-worker-experimental"><strong>Offloading Scripts To A Web Worker in Next.js (experimental)</strong></a></li> <li><a href="https://www.gatsbyjs.com/blog/how-to-add-google-analytics-gtag-to-gatsby-using-partytown/"><strong>How to Add Google Analytics gtag to Gatsby Using Partytown</strong></a></li> <li><a href="https://www.netlify.com/blog/how-to-deploy-the-qwik-javascript-framework/"><strong>How to Deploy the Qwik JavaScript Framework</strong></a></li> <li><a href="https://developers.cloudflare.com/pages/framework-guides/deploy-a-qwik-site/"><strong>Deploy a Qwik site on Cloudflare Pages</strong></a></li> <li><a href="https://www.youtube.com/watch?v=Y22xf8EjioE"><strong>Building Marko 6 w/ Dylan Piercey, and Michael Rawlings</strong></a></li> <li><a href="https://dev.to/this-is-learning/resumability-wtf-2gcm"><strong>Resumability, WTF?</strong></a></li> </ul><p><strong>Show Outline</strong></p><p><strong>00:12</strong> - Introduction<br><strong>01:26</strong> - Do you miss mobile?<br><strong>04:43</strong> - What is Partytown?<br><strong>07:50</strong> - Can you use Partytown with WordPress?<br><strong>09:42</strong> - How does Google Tag Manager work with Partytown?<br><strong>12:45</strong> - Is there a roadmap for upcoming features or is Partytown feature complete?<br><strong>13:50</strong> - What is Partytown's opinion on shipping no JavaScript?<br><strong>14:39</strong> - How does Partytown fit into the larger suite of tools that Builder.io is working on?<br><strong>16:24</strong> - Qwik as a server-side rendering first framework with QwikCity<br><strong>19:35</strong> - Will it be possible in the future to migrate a Next.js project to QwikCity? <br><strong>23:07</strong> - Is QwikCity production ready?<br><strong>25:00</strong> - How do you deploy a Qwik or QwikCity application?<br><strong>30:45</strong> - What is Mitosis?<br><strong>34:19</strong> - How does Qwik compare to Solid and Marko?<br><strong>40:09</strong> - Will JavaScript ever reach utopia by attaining the nirvana of PHP?</p>

Show notes

Episode 89 - Astro Community with A Fuzzy Bear

<p><strong><em>A Fuzzy Bear is the Community Manager at Astro.</em></strong></p><p>In this episode we discuss the origin of the name “Fuzzy Bear,” the benefits of learning Astro over other popular metaframeworks, and how to get involved in the Astro community.</p><p><strong>A Fuzzy Bear</strong></p><ul> <li><a href="https://twitter.com/aFuzzyBear2"><strong>Twitter</strong></a></li> <li><a href="https://github.com/aFuzzyBear"><strong>GitHub</strong></a></li> </ul><p><strong>Astro</strong></p><ul> <li><a href="https://astro.build/"><strong>Homepage</strong></a></li> <li><a href="https://astro.new/"><strong>Create a New Astro Project</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://fuzzybear-projects.netlify.app/projects/asteroids%20game/asteroids.html"><strong>Asteroids Fuzzybear Project</strong></a></li> <li><a href="https://docs.astro.build/en/guides/server-side-rendering/"><strong>Server-side Rendering in Astro</strong></a></li> <li><a href="https://hackathon-1-0-projects.vercel.app/"><strong>Astro Hackathon Projects</strong></a></li> </ul><p><strong>Show Outline<br></strong><br></p><p><strong>01:15</strong> - What is the origin of the name “Fuzzy Bear?”<br><strong>03:13</strong> - Why did you learn Astro over other frameworks and when did you join the team?<br><strong>06:00</strong> - The pitfalls of Create React App<br><strong>08:30</strong> - Fuzzy's life before web development<br><strong>09:48</strong> - Learning web development through building the Astroids game<br><strong>12:10</strong> - Fuzzy got into web development to make money but tripped into open source<br><strong>12:50</strong> - How did you first hear about Astro?<br><strong>15:22</strong> - How did you initially get involved in the Astro community?<br><strong>19:41</strong> - What is the status of server-side rendering support in Astro?<br><strong>22:24</strong> - What happened when Chris tried Astro for the first time?<br><strong>33:09</strong> - Can Astro be used for dashboards?</p> <br><p>-------------------</p><p>This episode is sponsored by Cloud66, a platform that allows you to deploy Jamstack sites on any cloud for just $1.99 per site per month. It's like your own Netlify and includes free unlimited team members, real-time logs, programmable traffic management, SSL certificates, and more. You can get started with Cloud 66 for free and <a href="https://www.cloud66.com/frameworks/static-sites?utm_source=r&utm_medium=a&utm_campaign=FSJam">get an extra $66 of free credits with the code FSJam-66</a>.</p>

Show notes

Episode 88 - Supabase DevRel with Jon Meyers

<p><strong><em>Jon Meyers is a Developer Advocate at Supabase, an open source Firebase alternative built with PostgreSQL.</em></strong></p><p>In this episode we discuss how DevRel is organized at Supabase, why Supabase decided to build their own PostgreSQL extension, and new capabilities enabled by Supabase's Edge Functions. </p><p><strong>Jon Meyers</strong></p><ul> <li><a href="https://jonmeyers.io/"><strong>Homepage</strong></a></li> <li><a href="https://twitter.com/jonmeyers_io"><strong>Twitter</strong></a></li> <li><a href="https://github.com/dijonmusters"><strong>GitHub</strong></a></li> <li><a href="https://www.youtube.com/@JonMeyers/videos"><strong>YouTube</strong></a></li> <li><a href="https://egghead.io/q/resources-by-jon-meyers"><strong>Egghead</strong></a></li> </ul><p><strong>Supabase</strong></p><ul> <li><a href="https://supabase.com/"><strong>Homepage</strong></a></li> <li><a href="https://twitter.com/supabase"><strong>Twitter</strong></a></li> <li><a href="https://github.com/supabase"><strong>GitHub</strong></a></li> <li><a href="https://www.youtube.com/c/supabase"><strong>YouTube</strong></a></li> <li><a href="https://discord.supabase.com/"><strong>Discord</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://fsjam.org/33"><strong>Supabase with Paul Copplestone (FSJam33)</strong></a></li> <li><a href="https://fsjam.org/52"><strong>Open Source Stacks with Ant Wilson (FSJam52)</strong></a></li> <li><a href="https://supabase.com/blog/pg-graphql"><strong>pg_graphql: A GraphQL extension for PostgreSQL</strong></a></li> <li><a href="https://supabase.com/blog/graphql-now-available"><strong>GraphQL is now available in Supabase</strong></a></li> <li><a href="https://supabase.com/blog/pg-graphql-v1"><strong>pg_graphql v1.0</strong></a></li> <li><a href="https://supabase.github.io/pg_graphql/"><strong>pg_graphql Documentation</strong></a></li> <li><a href="https://supabase.com/launch-week"><strong>Launch Week</strong></a></li> <li><a href="https://supabase.com/blog/supabase-functions-updates"><strong>Updates for Supabase Functions</strong></a></li> <li><a href="https://supabase.com/docs/guides/functions"><strong>Supabase Edge Functions</strong></a></li> <li><a href="https://github.com/supabase/supabase/tree/master/examples/edge-functions"><strong>Edge Function Examples</strong></a></li> <li><a href="https://supabase.com/partners/integrations"><strong>Supabase Integrations</strong></a></li> <li><a href="https://supabase.com/blog/supabase-series-b"><strong>Supabase Series B</strong></a></li> <li><a href="https://www.madewithsupabase.com"><strong>Made with Supabase</strong></a></li> </ul><p><strong>Show Outline<br></strong><br></p><p><strong>01:25</strong> - Jon Meyers Introduction</p><p><strong>04:44</strong> - How is the DevRel team at Supabase organized?</p><p><strong>06:41</strong> - What is Supabase?</p><p><strong>07:55</strong> - Building and Using Postgres Extensions</p><p><strong>10:46</strong> - How does the GraphQL Postgres Extension Work?</p><p><strong>12:15</strong> - What is Supabase Launch Week?</p><p><strong>14:19</strong> - Supabase Edge Functions</p><p><strong>22:31</strong> - Supabase Integrations</p><p><strong>24:11</strong> - Supabase Series B</p><p><strong>25:27</strong> - What are people building with Supabase?</p><p><strong>27:24</strong> - Jon's Favorite FSJam Episodes</p><p><strong>30:03</strong> - Closing Thoughts</p> <br><p>-------------------</p><p>This episode is sponsored by Cloud66, a platform that allows you to deploy Jamstack sites on any cloud for just $1.99 per site per month. It's like your own Netlify and includes free unlimited team members, real-time logs, programmable traffic management, SSL certificates, and more. You can get started with Cloud 66 for free and <a href="https://www.cloud66.com/frameworks/static-sites?utm_source=r&utm_medium=a&utm_campaign=FSJam">get an extra $66 of free credits with the code FSJam-66</a>.</p>

Show notes

Episode 87 - Netlify Edge Functions with Eduardo Bouças

<p><strong><em>Eduardo Bouças is a software engineer at Netlify and principal engineer building Netlify's newly created Edge Functions.</em></strong></p><p>In this episode we discuss the past, present, and future of running serverless functions on the edge, why Netlify decided to build their edge functions with Deno, and the need for compatible edge runtimes built on open standards.</p><p><strong>Eduardo Bouças</strong></p><ul> <li><a href="https://eduardoboucas.com/"><strong>Homepage</strong></a></li> <li><a href="https://twitter.com/eduardoboucas"><strong>Twitter</strong></a></li> <li><a href="https://infra.social/@eduardoboucas"><strong>Mastodon</strong></a></li> <li><a href="https://github.com/eduardoboucas"><strong>GitHub</strong></a></li> </ul><p><strong>Netlify</strong></p><ul> <li><a href="https://netlify.com/"><strong>Homepage</strong></a></li> <li><a href="https://twitter.com/Netlify"><strong>Twitter</strong></a></li> <li><a href="https://github.com/netlify"><strong>GitHub</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://softwareengineeringdaily.com/2020/11/11/edge-handlers-with-mathias-biilmann-christensen/"><strong>Edge Handlers with Mathias Biilmann Christensen</strong></a></li> <li><a href="https://www.netlify.com/products/#netlify-edge-functions"><strong>Netlify Edge Functions</strong></a></li> <li><a href="https://docs.netlify.com/edge-functions/overview/"><strong>Edge Functions Documentation</strong></a></li> <li><a href="https://www.netlify.com/blog/announcing-serverless-compute-with-edge-functions/"><strong>Netlify Edge Functions: A new serverless runtime powered by Deno</strong></a></li> <li><a href="https://www.netlify.com/blog/deep-dive-into-netlify-edge-functions/"><strong>Living on the edge: A deep dive into Netlify Edge Functions</strong></a></li> <li><a href="https://www.netlify.com/blog/edge-functions-explained/"><strong>Understanding Edge Functions: The Edge and Beyond</strong></a></li> <li><a href="https://wintercg.org/"><strong>Web-interoperable Runtimes Community Group</strong></a></li> </ul> <br><p>-------------------</p><p>This episode is sponsored by Cloud66, a platform that allows you to deploy Jamstack sites on any cloud for just $1.99 per site per month. It's like your own Netlify and includes free unlimited team members, real-time logs, programmable traffic management, SSL certificates, and more. You can get started with Cloud 66 for free and <a href="https://www.cloud66.com/frameworks/static-sites?utm_source=r&utm_medium=a&utm_campaign=FSJam">get an extra $66 of free credits with the code FSJam-66</a>.</p>

Show notes

Episode 86 - Stately with David Khourshid

<p><strong><em>David Khourshid is the founder of Stately, the visual software platform for application logic and workflows.</em></strong></p><p>In this episode we discuss how to visualize state machines, building tools to collaborate around state machines, and using state machines on the server.</p><p><strong>David Khourshid</strong></p><ul> <li><a href="https://twitter.com/DavidKPiano"><strong>Twitter</strong></a></li> <li><a href="https://www.polywork.com/davidkpiano"><strong>Polywork</strong></a></li> <li><a href="https://www.linkedin.com/in/davidkpiano/"><strong>LinkedIn</strong></a></li> </ul><p><strong>Stately</strong></p><ul> <li><a href="https://stately.ai/"><strong>Homepage</strong></a></li> <li><a href="https://twitter.com/statelyai"><strong>Twitter</strong></a></li> <li><a href="https://discord.gg/xstate"><strong>Discord</strong></a></li> </ul><p><strong>Links</strong></p><ul><li><a href="https://zagjs.com/"><strong>Zag</strong></a></li></ul> <br><p>-------------------</p><p>This episode is sponsored by Cloud66, a platform that allows you to deploy Jamstack sites on any cloud for just $1.99 per site per month. It's like your own Netlify and includes free unlimited team members, real-time logs, programmable traffic management, SSL certificates, and more. You can get started with Cloud 66 for free and <a href="https://www.cloud66.com/frameworks/static-sites?utm_source=r&utm_medium=a&utm_campaign=FSJam">get an extra $66 of free credits with the code FSJam-66</a>.</p>

Show notes

Episode 85 - Storybook with Michael Chan

<p><strong><em>Michael Chan is a DX Community Engineer at Chromatic, a cloud service and platform for automating Storybook workflows.</em></strong></p><p>In this episode we discuss how to distinguish a design system from a component library, strategies to become a better user of Storybook, and the long-awaited release of React 18.</p><p><strong>Michael Chan</strong></p><ul> <li><a href="https://chan.dev/"><strong>Homepage</strong></a></li> <li><a href="https://twitter.com/chantastic"><strong>Twitter</strong></a></li> <li><a href="https://github.com/chantastic"><strong>GitHub</strong></a></li> <li><a href="https://www.youtube.com/c/chantastic"><strong>YouTube</strong></a></li> <li><a href="https://egghead.io/q/resources-by-michael-chan"><strong>Egghead</strong></a></li> <li><a href="https://react.holiday"><strong>React Holiday</strong></a></li> <li><a href="https://discord.gg/lunchdev"><strong>Lunch.dev</strong></a></li> </ul><p><strong>Storybook</strong></p><ul> <li><a href="https://storybook.js.org/"><strong>Homepage</strong></a></li> <li><a href="https://twitter.com/storybookjs"><strong>Twitter</strong></a></li> <li><a href="https://github.com/storybookjs"><strong>GitHub</strong></a></li> <li><a href="https://www.youtube.com/@storybookjs"><strong>YouTube</strong></a></li> <li><a href="https://discord.gg/storybook"><strong>Discord</strong></a></li> </ul><p><strong>Chromatic</strong></p><ul> <li><a href="https://twitter.com/chromaui"><strong>Twitter</strong></a></li> <li><a href="https://www.chromatic.com/"><strong>Homepage</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://storybook.js.org/docs/react/writing-stories/play-function"><strong>Storybook Play Function</strong></a></li> <li><a href="https://storybook.js.org/blog/component-story-format-3-0/"><strong>Component Story Format 3.0</strong></a></li> <li><a href="https://egghead.io/courses/integrate-storybook-in-a-next-js-application-b6dd4df3"><strong>Integrate Storybook in a Next.js Application</strong></a></li> <li><a href="https://storybook.js.org/blog/integrate-nextjs-and-storybook-automatically/"><strong>Integrate Next.js and Storybook automatically</strong></a></li> <li><a href="https://storybook.js.org/blog/framework-api/"><strong>Storybook Framework API</strong></a></li> <li><a href="https://egghead.io/courses/migrate-a-client-side-application-to-react-18-beta-9379f0d1"><strong>Migrate a Client-Side Application to React 18 Beta</strong></a></li> <li><a href="https://reactjs.org/blog/2022/03/08/react-18-upgrade-guide.html"><strong>How to Upgrade to React 18</strong></a></li> <li><a href="https://reactjs.org/blog/2022/03/29/react-v18.html"><strong>React v18.0</strong></a></li> <li><a href="https://reactjs.org/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.html"><strong>React Labs: What We've Been Working On</strong></a></li> <li><a href="https://beta.nextjs.org/docs/rendering/server-and-client-components"><strong>React Server Components with Next 13</strong></a></li> </ul> <br><p>-------------------</p><p>This episode is sponsored by Cloud66, a platform that allows you to deploy Jamstack sites on any cloud for just $1.99 per site per month. It's like your own Netlify and includes free unlimited team members, real-time logs, programmable traffic management, SSL certificates, and more. You can get started with Cloud 66 for free and <a href="https://www.cloud66.com/frameworks/static-sites?utm_source=r&utm_medium=a&utm_campaign=FSJam">get an extra $66 of free credits with the code FSJam-66</a>.</p>

Show notes

Episode 84 - Cloud 66 with Khash Sajadi

<p><strong><em>Khash Sajadi is the CEO of Cloud 66. Cloud 66 gives you everything you need to build, deploy, and maintain your applications on any cloud, without the headache of the “server stuff."</em></strong></p><p>In this episode we discuss the evolution of platforms-as-a-service over the last decade, how to most effectively leverage a multi-cloud world, and the characteristics of a resilient hosting provider.</p><p><strong>Khash Sajadi</strong></p><ul><li><a href="https://twitter.com/khash"><strong>Twitter</strong></a></li></ul><p><strong>Cloud 66</strong></p><ul> <li><a href="https://www.cloud66.com/?utm_source=r&utm_medium=a&utm_campaign=FSJam"><strong>Homepage</strong></a></li> <li><a href="https://twitter.com/cloud66"><strong>Twitter</strong></a></li> <li><a href="https://github.com/cloud66"><strong>GitHub</strong></a></li> </ul> <br><p>-------------------</p><p>This episode is sponsored by Cloud66, a platform that allows you to deploy Jamstack sites on any cloud for just $1.99 per site per month. It's like your own Netlify and includes free unlimited team members, real-time logs, programmable traffic management, SSL certificates, and more. You can get started with Cloud 66 for free and <a href="https://www.cloud66.com/frameworks/static-sites?utm_source=r&utm_medium=a&utm_campaign=FSJam">get an extra $66 of free credits with the code FSJam-66</a>.</p>

Show notes

Episode 83 - This Dot Labs with Tracy Lee and Dustin Goodman

<p><strong><em>Tracy Lee (CEO) and Dustin Goodman (Engineering Manager) join us to talk about This Dot Labs, a JavaScript consultancy that helps teams through staff augmentation, consulting, and training.</em></strong></p><p>In this episode we discuss how to compare open source frameworks, starter projects that help developers quickly begin building, and the potential of a post-React future. </p><p><strong>Tracy Lee</strong></p><ul> <li><a href="https://twitter.com/ladyleet"><strong>Twitter</strong></a></li> <li><a href="https://www.linkedin.com/in/tracyslee/"><strong>LinkedIn</strong></a></li> <li><a href="https://github.com/ladyleet"><strong>GitHub</strong></a></li> <li><a href="https://www.ladyleet.com/"><strong>Homepage</strong></a></li> </ul><p><strong>Dustin Goodman</strong></p><ul> <li><a href="https://twitter.com/dustinsgoodman"><strong>Twitter</strong></a></li> <li><a href="https://www.linkedin.com/in/dustinsgoodman/"><strong>LinkedIn</strong></a></li> <li><a href="https://github.com/dustinsgoodman"><strong>GitHub</strong></a></li> <li><a href="https://dustingoodman.dev/"><strong>Homepage</strong></a></li> </ul><p><strong>This Dot Labs</strong></p><ul> <li><a href="https://www.thisdot.co/"><strong>Homepage</strong></a></li> <li><a href="https://twitter.com/thisdotlabs"><strong>Twitter</strong></a></li> <li><a href="https://www.linkedin.com/company/thisdot/"><strong>LinkedIn</strong></a></li> <li><a href="https://github.com/thisdot"><strong>GitHub</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://github.com/thisdot/open-source"><strong>This Dot Open Source</strong></a></li> <li><a href="https://github.com/thisdot/starter.dev-github-showcases"><strong>starter.dev GitHub Showcases</strong></a></li> <li><a href="https://framework.dev/"><strong>framework.dev</strong></a></li> <li><a href="https://www.youtube.com/watch?v=Hs1ccQFnNZI"><strong>The Perfect Egg Recipe</strong></a></li> <li><a href="https://react.framework.dev/"><strong>react.framework.dev</strong></a></li> <li><a href="https://starter.dev/"><strong>starter.dev</strong></a></li> <li><a href="https://npms.io/about"><strong>About npm</strong></a></li> <li><a href="https://www.blockchain.education/"><strong>blockchain.education</strong></a></li> <li><a href="https://smartcontractdb.com/"><strong>Smart Contract Database</strong></a></li> <li><a href="https://tanstack.com/"><strong>TanStack</strong></a></li> </ul> <br><p>-------------------</p><p>This episode is sponsored by Cloud66, a platform that allows you to deploy Jamstack sites on any cloud for just $1.99 per site per month. It's like your own Netlify and includes free unlimited team members, real-time logs, programmable traffic management, SSL certificates, and more. You can get started with Cloud 66 for free and <a href="https://www.cloud66.com/frameworks/static-sites?utm_source=r&utm_medium=a&utm_campaign=FSJam">get an extra $66 of free credits with the code FSJam-66</a>.</p>

Show notes

Episode 82 - React Bricks with Matteo Frana

<p><strong><em>Matteo Frana is the CEO and Founder of React Bricks, a visually editable CMS for Next.js, Gatsby and Remix.</em></strong></p><p>In this episode we discuss the origins and motivations of React Bricks, the challenges of creating content with grey forms, and how to build a CMS that balances the needs of both developers and content creators.</p><p><strong>Matteo Frana</strong></p><ul> <li><a href="https://twitter.com/matfrana"><strong>Twitter</strong></a></li> <li><a href="https://github.com/matteofrana"><strong>GitHub</strong></a></li> </ul><p><strong>React Bricks</strong></p><ul> <li><a href="https://reactbricks.com/"><strong>Homepage</strong></a></li> <li><a href="https://twitter.com/reactbricks"><strong>Twitter</strong></a></li> <li><a href="https://discord.com/invite/8mBXKQUmyV"><strong>Discord</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://en.wikipedia.org/wiki/Logo_(programming_language)"><strong>Logo</strong></a></li> <li><a href="https://reactbricks.com/learn"><strong>React Bricks Tutorial</strong></a></li> <li><a href="https://reactbricks.com/live-demo"><strong>React Bricks Live Demo</strong></a></li> <li><a href="https://reactbricks.com/use-cases/success-stories/neoskop"><strong>Neoskop Case Study</strong></a></li> <li><a href="https://reactbricks.com/use-cases/success-stories/everfund"><strong>Everfund Case Study</strong></a></li> <li><a href="https://reactbricks.com/use-cases/success-stories/woosmap"><strong>Woosmap Case Study</strong></a></li> </ul> <br><p>-------------------</p><p>This episode is sponsored by Cloud66, a platform that allows you to deploy Jamstack sites on any cloud for just $1.99 per site per month. It's like your own Netlify and includes free unlimited team members, real-time logs, programmable traffic management, SSL certificates, and more. You can get started with Cloud 66 for free and <a href="https://www.cloud66.com/frameworks/static-sites?utm_source=r&utm_medium=a&utm_campaign=FSJam">get an extra $66 of free credits with the code FSJam-66</a>.</p>

Show notes

Episode 81 - Netlify Scheduled Functions with Simon Knott

<p><strong><em>Simon Knott is the creator of Quirrel and the newly created Scheduled Functions from Netlify.</em></strong></p><p>In this episode we discuss the difficulties of running jobs on serverless, use cases for Netlify's Scheduled Functions, the future of Blitz.js, and the trade-offs inherent to remote work.</p><p><strong>Simon Knott</strong></p><ul> <li><a href="https://twitter.com/skn0tt"><strong>Twitter</strong></a></li> <li><a href="https://github.com/skn0tt"><strong>GitHub</strong></a></li> <li><a href="https://simonknott.de/"><strong>Homepage</strong></a></li> </ul><p><strong>Netlify's Scheduled Functions</strong></p><ul> <li><a href="https://docs.netlify.com/functions/scheduled-functions/"><strong>Scheduled Functions Documentation</strong></a></li> <li><a href="https://docs.quirrel.dev/netlify-acquisition-faq/"><strong>Netlify Acquisition FAQ</strong></a></li> <li><a href="https://dev.to/quirrel/quirrel-is-acquired-and-i-am-joining-netlify-dha"><strong>Quirrel is Acquired! And I Am Joining Netlify</strong></a></li> <li><a href="https://simonknott.de/articles/netlify-acquires-quirrel"><strong>Netlify Acquires Quirrel</strong></a></li> <li><a href="https://www.netlify.com/blog/quirrel-joins-netlify-and-scheduled-functions-launches-in-beta/"><strong>Quirrel Joins Netlify and Scheduled Functions Launches in Beta</strong></a></li> <li><a href="https://www.learnwithjason.dev/scheduled-functions-cron-jobs-with-netlify"><strong>Scheduled Functions (Cron Jobs) With Netlify - Learn with Jason</strong></a></li> <li><a href="https://www.netlify.com/blog/how-to-schedule-deploys-with-netlify/"><strong>How to Schedule Deploys with Netlify</strong></a></li> </ul><p><strong>Blitz.js 2.0</strong></p><ul> <li><a href="https://fsjam.org/episodes/episode-68-flightcontrol-with-brandon-bayer-and-mina-abadir"><strong>Flightcontrol with Brandon Bayer and Mina Abadir (FSJam68)</strong></a></li> <li><a href="https://github.com/blitz-js/blitz/discussions/3075"><strong>Important Discussion On Possible Blitz.js Pivot - Brandon Bayer</strong></a></li> <li><a href="https://blitzjs.com/docs/blitz-pivot"><strong>Future of Blitz.js</strong></a></li> <li><a href="https://www.youtube.com/watch?v=-fJkucccHqI"><strong>Announcing Blitz.js 2.0 - Brandon Bayer</strong></a></li> <li><a href="https://www.youtube.com/watch?v=9KTpUoYR728"><strong>Introduction to Blitz.js Toolkit - Simon Knott</strong></a></li> <li><a href="https://github.com/blitz-js/blitz/issues/3475"><strong>2.0 Stable Launch - Brandon Bayer</strong></a></li> <li><a href="https://twitter.com/aleksandrasays/status/1559157616810475521"><strong>Announcing Blitz.js 2.0 Beta - Aleksandra Sikora</strong></a></li> <li><a href="https://blitzjs.com/docs/upgrading-from-framework"><strong>Upgrading Your Blitz.js App to Blitz.js 2.0</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://fsjam.org/episodes/episode-15-quirrel-with-simon-knott"><strong>Quirrel with Simon Knott (FSJam15)</strong></a></li> <li><a href="https://www.swyx.io/self-provisioning-runtime"><strong>The Self Provisioning Runtime</strong></a></li> <li><a href="https://www.youtube.com/watch?v=155Q4gDU1Uo"><strong>Schedule Netlify Builds with GitHub Actions - Lunchdev</strong></a></li> <li><a href="https://chan.dev/posts/schedule-netlify-builds-with-github-actions/"><strong>Schedule Netlify Builds with GitHub Actions, Cron, and Webhooks - Michael Chan</strong></a></li> <li><a href="https://trpc.io/"><strong>tRPC</strong></a></li> <li><a href="https://retool.com/"><strong>Retool</strong></a></li> </ul>

Show notes

Episode 80 - Eleventy with Ben Myers

<p><strong><em>Ben Myers is a frontend developer at Microsoft and an advocate for web accessibility.</em></strong></p><p>In this episode we discuss the fundamentals of Eleventy, how to approach web development from a conservationist's point of view, and utilizing Eleventy Serverless for deferred, on-demand rendering.</p><p><strong>Ben Myers</strong></p><ul> <li><a href="https://benmyers.dev/"><strong>Homepage</strong></a></li> <li><a href="https://twitter.com/BenDMyers"><strong>Twitter</strong></a></li> <li><a href="https://github.com/bendmyers"><strong>GitHub</strong></a></li> <li><a href="https://www.twitch.tv/SomeAnticsDev"><strong>Twitch</strong></a></li> <li><a href="https://someantics.dev/"><strong>Some Antics</strong></a></li> <li><a href="https://showmy.chat/"><strong>showmy.chat</strong></a></li> </ul><p><strong>Eleventy</strong></p><ul> <li><a href="https://www.11ty.dev/"><strong>Homepage</strong></a></li> <li><a href="https://twitter.com/eleven_ty"><strong>Twitter</strong></a></li> <li><a href="https://github.com/11ty/eleventy/"><strong>GitHub</strong></a></li> <li><a href="https://www.11ty.dev/"><strong>Discord</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://fsjam.org/episodes/episode-31-fullstack-accessibility-with-ben-myers"><strong>Fullstack Accessibility with Ben Myers (FSJam31)</strong></a></li> <li><a href="https://fsjam.org/episodes/episode-49-slinkity-with-ben-holmes"><strong>Slinkity with Ben Holmes (FSJam49)</strong></a></li> <li><a href="https://www.11ty.dev/docs/data-cascade/"><strong>Eleventy Data Cascade Documentation</strong></a></li> <li><a href="https://benmyers.dev/blog/eleventy-data-cascade/"><strong>I Finally Understand Eleventy's Data Cascade</strong></a></li> <li><a href="https://events.lunch.dev/"><strong>events.lunch.dev</strong></a></li> <li><a href="https://www.11ty.dev/docs/plugins/serverless/"><strong>Eleventy Serverless</strong></a></li> <li><a href="https://www.youtube.com/watch?v=wneO9XKkGTA"><strong>A First Look at Eleventy Serverless with Zach Leatherman (Some Antics)</strong></a></li> <li><a href="https://fsjam.org/episodes/episode-63-modern-css-with-stephanie-eckles"><strong>Modern CSS with Stephanie Eckles (FSJam63)</strong></a></li> <li><a href="https://nextjs.org/docs/basic-features/data-fetching/incremental-static-regeneration"><strong>Incremental Static Regeneration</strong></a></li> <li><a href="https://www.netlify.com/blog/2021/04/14/distributed-persistent-rendering-a-new-jamstack-approach-for-faster-builds/"><strong>Distributed Persistent Rendering</strong></a></li> <li><a href="https://bejamas.io/blog/understanding-rendering-in-the-jamstack/"><strong>Understanding Rendering in the Jamstack by Brian Rinaldi</strong></a></li> <li><a href="https://www.11ty.dev/docs/glossary/"><strong>Eleventy Glossary</strong></a></li> <li><a href="https://learneleventyfromscratch.com/"><strong>Learn Eleventy From Scratch by Andy Bell</strong></a></li> <li><a href="https://codepen.io/amit_sheen"><strong>Amit Sheen Codepens</strong></a></li> <li><a href="https://11tymeetup.dev/"><strong>THE Eleventy Meetup</strong></a></li> <li><a href="https://www.11ty.dev/blog/eleventy-oss/"><strong>Full Time Open Source Development for Eleventy, Sponsored by Netlify</strong></a></li> </ul><p><strong>Transcript</strong></p><p><em>[Pre-show Clip]</em></p><p><br></p><p><strong>Ben</strong></p><p>When I was on Learn with Jason talking about Eleventy Serverless, I actually spent a fair amount of time talking about... "hey, Eleventy doesn't work for every use case." There are certain websites you have in mind that Eleventy would not be a good fit for. That's okay, that just means it's better suited for other kinds of sites. I think there is this instinct in Jamstack communities to try to kludge Jamstack into a fundamentally un-Jamstacky problem space.</p><p><br></p><p><strong>Chris</strong></p><p>What do you mean? Gatsby is the best for everything and we should have never moved off Gatsby and there's no need for Svelte or Solid or anything like that. Gatsby, it did everything.</p><p><br></p><p><em>[Opening Theme Song]</em></p><p><br></p><p><strong>Anthony</strong></p><p>Ben Myers, welcome back.</p><p><br></p><p><strong>Ben</strong></p><p>Hey! It's good to be back.</p><p><br></p><p><strong>Anthony</strong></p><p>You were on an earlier episode, 30-something, talking about web accessibility. You are a web developer and accessibility advocate at Microsoft. Today, we're going to be talking to you about Eleventy cause Eleventy is a project that I know you're really passionate about. We've had others on the show talk about it a little bit, especially Ben Holmes who is building a meta framework on top of Eleventy called Slinkity. But, today we're going to be talking about Eleventy proper. What it is, why people are excited about it, and what kind of stuff they're building with it.</p><p> </p><p><strong>Ben</strong></p><p>I'm thrilled, I absolutely love Eleventy as a tool and it's one of those things that's been an absolute privilege to get to introduce people to. Fair disclosure! I totally have not introduced people to it through a podcast medium, so this is gonna be very interesting. Super excited to chat about it with y'all.</p><p><br></p><p><strong>Anthony</strong></p><p>Why don't we first start with what Eleventy is. I think if anyone has heard about it, they know that it's a static site generator. They may have heard that it's based a bit on Jekyll, so if you can talk a little bit about what it does and what you would build with it.</p><p><br></p><p><strong>Ben</strong></p><p>Yeah, so I find that simply saying, "Jekyll but JavaScript" is enough for some people to just get it. I will say that the fact that it is powered by JavaScript makes it more approachable than other static site generators for many people because JavaScript is the language of the web. If you're doing front end development, JavaScript is something you're very likely to be very familiar with. A static site generator that leverages JavaScript, specifically the Node.js ecosystem, is a very compelling sell for a lot of people. But, I should definitely back up and explain the bigger picture.</p><p>You described it as a static site generator in the vein of Jekyll. I think that's absolutely, absolutely fair. But personally, I don't have experience with Jekyll. That's not something that really helps me understand what it is. The simplest way to think of Eleventy is, it is a tool that will take content, typically in a format such as markdown. It'll take that content, it'll just convert it to some pure, raw, boring, fantastic HTML (or other assets). That is, I think, the simplest way to think of it. You've got some content, maybe it's blog posts, maybe it's documentation pages. Maybe it's a landing page for some product. Some content that is mostly static and you want some output, typically HTML.</p><p><br></p><p>That is what Eleventy is and what it's really, really good at. What Eleventy isn't, is a tool for building highly dynamic interactive experiences. For those, you might still consider a client side web application framework such as React or Vue. Eleventy simply isn't as interested in addressing those kinds of websites and I think that's totally fair. But if you've got something that could be expressed in static HTML, Eleventy is possibly a very good project for you.</p><p><br></p><p><strong>Anthony</strong></p><p>I actually first started learning about Eleventy for a big reason cause of you, Ben. We were building out the lunch.dev calendar with it. That was a really interesting project because we were trying to create like an events calendar. What we did is we had a Git repo that was building the static site and then we had markdown files for the individual events. Then the individual events would be transformed into little cards on the front end. If you wanna talk a little bit about why you picked Eleventy specifically for building that cause I think Chan also, the reason why we went with that was cause you were really passionate about, we wanted to learn more about it. So I'd be curious about the thought process behind that.</p><p><br></p><p><strong>Ben</strong></p><p>An event calendar like that is, if you think about it, nothing but a bunch of articles. At the time, we were not heavily invested in doing anything interactive with that calendar. We just needed a place to stick a bunch of descriptions and details of different events going on, different links that we could send people to. That is, again, something that is very well suited for that kind of static markup. When you think about a lot of web application frameworks, a common criticism that some folks in various web dev spaces will point to, is that web app frameworks can be quite large and bloated.</p><p><br></p><p>That means if you are building your site with those, your end user very likely will have to download all of that and construct an experience from that. Whereas, you could get more or less the same experience but very, very lightweight. I think that lightweight websites are fundamentally good and responsible. I try to take a very conservation mindset to the web. I like to only use what I need and I apply this to users resources such as their data. If they're out and about on their mobile phone and they're using their data plan, chances are good that they could have a really slow connection and they could have data caps.</p><p><br></p><p>I think that if we don't need to send them an entire web app framework, we probably shouldn't send them a web app framework. That is, I think, not being the best steward of their resources. They're gonna have a slower chunkier experience as a result. So, why did I choose Eleventy for this project? It's because the project, at least as we were thinking of it at the time, didn't need anything more than that. We just wanted some lightweight HTML pages out there on the web that could build quickly, that anyone could add to.</p><p><br></p><p>Eleventy is really based around this concept of a template. A template is a content file written in a language such as Markdown or HTML and sometimes with templating languages such as Liquid or Nunjucks that Eleventy builds into a page or pages of HTML (or sometimes other static assets). It's weird because there always feels like there needs to be some asterisks. But broadly, think of a template as a content file that gets transformed into some output pages.</p><p><br></p><p>The nice thing is Markdown for most developers is a fairly ergonomic experience. That meant that if people wanted to add things to that site, they didn't have to worry about the whole instrumentation and orchestration of the entire project. They could contribute simply a Markdown file and that was really nice. Eleventy also has built into it this concept called the data cascade which I think is one of the most crucial things to understand about Eleventy. It's also one of the things that took me the longest time to wrap my head around. When you're in a template, again a content file, you can use template syntax.</p><p>Eleventy allows you the opportunity to expose variables essentially in that template syntax that you can either print out onto the page as part of the content or you can transform or operate on them in different ways. It's data, it's variables that you have access to. Eleventy has this amazing order of operations for how it lets you aggregate that data. So you can say, "oh, I've got some data that will be made available to every template of my site." Or, "I've got data that's available to every template that uses a certain layout." Or "I've got data that applies to every template in a given directory or its sub directories." Or, "I have data that corresponds exactly to one template."</p><p><br></p><p>The lovely thing about this is, it exactly follows the mental model you would hope for something like that. It is powered by co-location. Data that applies much more specifically to an individual template will have a higher precedence over data that corresponds globally. This mental model (once you start playing with it) allows for some really, really powerful configuration of your website. You can almost afford to set it and then forget it which I think is incredibly powerful. You could set some sensible defaults at the global level, such as maybe "every blog post uses this blog post layout that I've defined."</p><p><br></p><p>Then one blog post you could override that and use a different layout, maybe to accomplish some art direction. You've got a very special blog post that you want to have a special layout. You can change that data as you go. That kind of configuration (once you start wrapping your head around the order of operations) is incredibly powerful and flexible. At the same time, it's magic enough that you can bring new people into the project and they don't have to worry about any of it. I think that is super cool.</p><p><br></p><p><strong>Anthony</strong></p><p>Something that was interesting that came up while we were working on it was, we ended up in a situation where we had to rebuild certain things at certain times. Because the way events work, there'll be an event upcoming then there'll be an event that has passed. You don't want to have stale events still on the homepage. We ended up setting up a cron job type thing with a GitHub Action.</p><p><br></p><p>But I think that this is the type of thing that now, today if we had been building that there would be other ways to do that. Not even mentioning the new scheduled jobs functions that Netlify just added. But, what I was curious to get more into was the serverless bit. There is now Eleventy Serverless, and you've actually been on the forefront of this. You did a stream with Zach when this first came out and you've been building stuff out with it this whole time.</p><p>We talked with Stephanie Eckles a little bit about it and I'm really curious to get your take on it cause we've talked about serverless a ton of times here at Redwood it was built on serverless. We love serverless - well I love serverless, I don't know if Chris loves serverless - but I'd love to hear what is Eleventy Serverless and why was it built?</p><p><br></p><p><strong>Ben</strong></p><p>Eleventy Serverless is an opt-in build mode for Eleventy. Typically with Eleventy, everything is pre-rendered. You have a build step, you run probably `npm run build` if we're being honest. Eleventy kicks in and picks up all your templates and then converts them into HTML files. Once they're built, they're built. If data changes behind the scenes, such as data that was fueled by an API, you don't get any updates to that because there's nothing in the HTML linking that data like real data in any sort of backend. It's just pure HTML.</p><p><br></p><p>This meant that Eleventy has historically been very limited. Eleventy could only reflect what was true at build time. Eleventy Serverless is this new opt-in build mode for Eleventy, where you can say certain templates are built whenever you request them. Again, non-Eleventy people should probably read that as either "certain pages are built when you request them", or I prefer to think of it as "certain routes are built when you request them." I think that framing gets really, really powerful because you can use Eleventy's data cascade, you can use Eleventy's front matter and templating languages.</p><p>All the stuff that you absolutely love about Eleventy, you can use but in this on-demand way, this on request way. You create a page as you request it and if you're using, for instance, Netlify's on-demand builders, you can then cache that page. It's as if you had built that page in the build step. This is hugely powerful for a couple of reasons. I use this demonstration when I go on people's streams to talk about Eleventy Serverless. It's a color contrast checker. Take two Hex codes and display in this pretty format, the color contrast ratio. If you have two Hex codes, which are six digits long each, then that is - I want to say 2.75 times 10 to the 14th contrast ratio.</p><p>I don't wanna build that. I don't want my dev server building that. I don't want my Netlify high build minutes building that, that's incredibly wasteful. I love to defer building those kinds of things until they're needed, because chances are the vast majority of those contrast ratios will never see the light of day. Very few of the ratios on that site will ever be explored, so why build them? Eleventy Serverless is a great way to defer building a large data set that folks might not ever look at. You also don't have to cache by default. Eleventy Serverless built pages don't cache. You have to use specific things like on-demand builders to cache.</p><p><br></p><p>But what that means is that you can have up to date data. During the on request build you can hit an API and you can get the latest, greatest up-to-datest data. I think that is incredibly powerful. That is something that we haven't really had in Eleventy before. But at the end of the day, what gets sent over the wire is still an incredibly lightweight HTML page. It's not a whole client side page that's holding in a large framework. You don't have to worry about things like loading spinners because all the fetching is done server-side. You don't have to worry about things like authentication because all the fetching is done server-side.</p><p>You get to take advantage of everything that you love about serverless functions and everything that you love about Eleventy. I've also brought up a couple times that this is opt-in. I really love this because you aren't turning your whole site suddenly into a quote unquote "serverless site." You first opt-in by installing the serverless plugin and then you still have to opt-in on a template by template basis. The core of your website, the main pages that guaranteed people are gonna hit (like your landing page, about page, and stuff like that) are still built during the build step and are still totally cached.</p><p><br></p><p>They're still available for search engines to crawl and all of that. It's just that this one subsection of your site is now served on-demand. I think that that is super exciting. Another benefit of Eleventy Serverless routes is that you can take advantage of arguments passed in the URL. You have parameters in the path, or you could have query parameters, for instance. This allows for some really dynamic experiences all. Anthony, you've alluded to, I've got this project that I built that is designed really to test what I believe is the absolute limit of Eleventy Serverless.</p><p>This product is showmy.chat. Anyone who's been in the streaming biz will know that it's very common for Twitch streamers to use websites as part of their stream layout. A very common use case for this is showing your chat bot as part of your stream so that folks can see who's interacting with the stream. It's really exciting, "look at me, Mom, I'm famous. I'm on my favorite Twitch streamers stream." Doing anything like that requires some understanding of web development and WebSockets to be able to read from the chat. This is not something I feel like people should not have to worry about.</p><p>So, I built this site, showmy.chat. It allows you to put in your channel name as well as set a couple of other properties, configure a couple of extra values there. It will generate using Eleventy Serverless a page that has all of the WebSocket logic, the action to display the chat, and all of the theming all set in place for you. You get this on-demand themed chat that responds to the arguments that you passed in through the query parameters. Do I think that Eleventy Serverless was the right tool for that job? I'm not entirely sure.</p><p><br></p><p>I've actually been kind of considering maybe looking and seeing if I could have done the same thing, but maybe more flexibly using something like SvelteKit. But I think that it's incredibly exciting that Eleventy, which has been this kind of beloved pre-build tool now affords you this extra flexibility where just because you wanted a page that always had dynamic stuff or the latest information, you don't have to like opt into a completely different framework. Now, you can still say within the Eleventy ecosystem that you love.</p><p><br></p><p><strong>Chris</strong></p><p>That was a lot. I've literally just been sitting here just like absorbing it all in. I feel like a mega React, Chad, when I say, "Yeah, but you didn't say any of the buzzwords. SSG, ISR, SSR..."</p><p><br></p><p><strong>Anthony</strong></p><p>I think DPR would be one of them technically, right? Distributed persistent rendering?</p><p><strong>Chris<br></strong>Yeah, haha.</p><p><br></p><p><strong>Ben</strong></p><p>The Venn diagram of all of these words is a very pretty butterfly and also inscrutable to anyone outside of the space. For folks at home who are playing buzzword bingo, it's Eleventy's implementation of distributed persistent rendering, or sometimes not distributed persistent rendering, Brian Rinaldi calls it deferred rendering. That's the term I like. It's deferred rendering. Everyone's got their own different take depending on whether they're a framework or whether they're a CDN. It's deferred rendering that's most similar to - I think Gatsby now has, I forget what they're calling it now.</p><p><br></p><p><strong>Chris</strong></p><p>I think they're calling it deferred... incremental deferred rendering? Something like that.</p><p><br></p><p><strong>Ben Myers</strong></p><p>This is exactly why I'm just using Brian's term of deferred rendering. If you're looking at this and going, "What's Eleventy's version of incremental static regeneration" or something like that, the closest thing is Eleventy Serverless. What is distributed persistent rendering? It's Eleventy Serverless hooked up to on-demand builders. That's what we're talking about. Hopefully that helps for people who are hoping to play buzzword bingo. The crux of it is you hit a route and Eleventy is run in the serverless function to create a page for you in basically real time.</p><p><br></p><p><strong>Chris</strong></p><p>The reason I say all the buzzwords is because sometimes they help define where it sits in the market, and sometimes they really do not. And this is where we talk about like functionality is obviously what really makes people understand what all these terms. Things like Next have this, Gatsby have this. For example, you build a website, let's say an e-commerce store, really easy and you add a new product. Does that product then just get rendered onto the website using like a webhook, or does that product only show if that specific URL is then entered? Because then Serverless knows to run and make that page?</p><p><br></p><p><strong>Ben</strong></p><p>Serverless is still in its infancy, but it would really depend on your implementation. I know Zach is still working on having serverless routes that have been created, but then saved can now get added to like what Eleventy calls collections (which are arrays of templates). You could be able to then display it on the rest of the site. Truthfully, I haven't done a whole lot with that. I think it would depend a lot on your implementation. It's in the moment the on request (your server function that's handling that) is looking for any arguments that you supply it in the URL. Either through the structure of the URL itself or through query parameters. You're probably passing in a SKU or some other identifier in there. It would look up some known database or API and be able to render that for you.</p><p><br></p><p><strong>Chris</strong></p><p>This is actually what I've personally seen with all these different types of rendering methods is that you chuck out the complete build, they add a new product and go, "it's not in the store." I'm like, "well it is on the store," if you know the URL, but you need to go to the URL for it to appear on the rest of the store. Cause that means the website now knows about it. It's like, how do you explain that to someone not technical? They need to know the URL to go to the right product to then appear on the rest of the website. It's like, "I thought this was meant to save millions and time on all these things." It's still a really complicated subject. One of the really big things that I wanted to ask is, what Serverless is sending down the pipe back to the client is not rehydrated JavaScript or JavaScript JSON, it's just HTML?</p><p><br></p><p><strong>Ben</strong></p><p>Yes. Just pure boring, lovely, fantastic, delightful HTML. Which means that it's gonna be fairly lightweight. Really, the way to think about this is, "this is how the web used to work and in many places still does." This is what we now call server rendering. Except you don't have to own a persistent server and you're very likely not doing anything with sustained sessions or anything like that. But the meat of, "I go talk to a server and I ask for a page and the server builds me that page on the fly," it's that, that's what's going on. I'm waving my hands doing jazz hands - imagine sparkles around this - it's now **Jamstack**! That's what it is. But it's bringing that kind of server functionality into a tool (into a framework, whatever you wanna call it) that previously has been prebuilt.</p><p>You create a directory of HTML files and then that directory of HTML files is yours to do whatever you want with. You could FTP that into some server and just host that directly. You could FTP that into a CDN. Or you could do what I do, which is I have a Git based workflow hooked up to a CDN (in this case, Netlify). Every time I push to my repo, Netlify rebuilds but you don't have to have any of that instrumentation and orchestration. You could just upload some boring old HTML to a server and host that. This provides the same lightweight end user experience where you're getting just HTML. It's not HTML that we then rehydrate down the road and replace your entire page with this app behind the scenes that hopefully you won't notice. It's just HTML, it's lightweight, it's easy to cache.</p><p>It's a little friendlier for search engines to optimize. When all you need is static HTML on a page and not a whole lot of dynamic interactive stuff, it's fantastic. It's glorious. I think the performance thing is an interesting conversation. I don't know if y'all know this. But right now we are in the middle of a pandemic and this means businesses have taken measures around this pandemic. There have been a small handful of times I have gone out to eat at a restaurant. On the tables, instead of giving me menus, there are table tents that have QR codes I can scan to pull up their menu. This, to me, is an example of a wonderful idea to meet user's needs that typically fails miserably in the execution.</p><p>When I scan the QR code, it pulls up the restaurant's website and the restaurant has used some site builder or something else that sends over gobs and gobs of JavaScript. A whole framework likely or at the very least probably jQuery, sending over a whole lot of stuff. I don't know if y'all have this experience, but every restaurant I seem to go to seems to have poor internet connection there. I don't have great connection there; I don't have great reception. It takes me, like, 20 seconds where there's just this spinner and then I get to see a list of foods, which is mostly text. Sometimes there's pictures but the pictures are strictly optional. That feels to me like no one quite anticipated this pandemic (restaurants least of all) and rearchitecting your website is an expensive process that you can't just say, "oh, just remake your website with faster stuff."</p><p>But we are several years into this now. Folks haven't looked at this and gone, "huh, those slow websites at our own restaurant to pull up our own menu, that's an area of opportunity for improvement there." Especially considering that when people are out and about, they're often in those kind of reception dead zones, such as a restaurant. They're operating off of finite data caps. They don't need gizmos and widgets and all sorts of interactive stuff. They just want to see what kind of food they can buy at your restaurant. There are times where having tools that make it really easy and flexible to just serve some boring, static HTML is exactly what your users need. Having that developer experience to make that easier is just gorgeous.</p><p><br></p><p><strong>Chris</strong></p><p>Yes, but I have two counterpoints.</p><p><br></p><p><strong>Ben</strong></p><p>I'm ready to hear them.</p><p><br></p><p><strong>Chris</strong></p><p>One, "But JavaScript. I can write my CSS in JavaScript. I can write my HTML in JavaScript. I can just write JavaScript" and two, "Hey, you're a captive audience in a restaurant. Of course, they want you to sit there a little bit longer."</p><p><br></p><p><strong>Ben</strong></p><p>Well, I mean, I think both of those arguments are very fair. But I think that too often we look at JavaScript as this great enabler and don't think of it as also a responsibility and a possible point of failure. Here's an example I sometimes use because I think documentation sites are a fantastic use case for Eleventy. I would like you to envision we're building a documentation site for some library we've made. As is the custom, we want to show how many GitHub stars this library. In the React ecosystem, it's fairly commonplace to set up a fetch to the GitHub API and display that. But what if the GitHub API is down? Well, I sure hope you set up some error boundaries and stuff like that.</p><p>What if the GitHub API isn't down but it's really sluggish? Well, I certainly hope that you set up loading states. You have a lot of complexity around a part of the page that honestly no one cares about. You incur risk and you incur complexity over such a minor part of the page. I think that sometimes that stuff is incredibly valuable and stuff to consider and to consider how do we do this responsibly? Of course, yes, we could work around the foot guns. We could build a robust, resilient experience. But I think it's also interesting sometimes to ask, "how critical is this really?" Could we get away with having the result of how many stars our GitHub project has? Could we get away with having that be just hard coded texts in the built HTML that gets updated with a nightly built? Is that acceptable in some cases?</p><p>No, it won't be, but in many cases it totally could be. You say, "oh, we've got JavaScript" and I say, "sure, but it might be more resilient in the backend." We don't have to worry about the costs and the risks and the complexity around doing all this stuff client side. As for a captive audience, I mean sure, but no one's gonna look at that and go, "ah yes, this restaurant was very fancy and stuff like that and I sure did feel very fancy waiting on my phone to pull up this menu in the middle of this steak restaurant going, 'it'll load, I promise. Do I need to refresh this another few times?'" It's all about different experiences and there is no one size solution that fits everything.</p><p><br></p><p><strong>Chris</strong></p><p>Yeah, I would've walked out the restaurant if the website was made in PHP. Just not for me. I don't care how rare you like your steak, this ain't for me! Um... no, all jokes aside, Eleventy Serverless looks really, really cool. I think one of the things that is really cool about it is, what it's spitting out is HTML. So many times when it comes to like, if you even think about Next's implementation or Gatsby, do I even know what it's spitting out? Kind of... to what I understand, it's just JSON. It spits out a massive JSON chunk that then gets stored in the HTML file that then gets rehydrated into the client. To what I understand! When you see those messages in Next.js saying, "Hey, your ISSG step is a bit too big," it's because you are literally dumping a massive JSON object into a script tag for Next.js to read later. If you didn't know.</p><p><br></p><p><strong>Ben Myers</strong></p><p>I don't want bash on those tools. I think there's absolutely a time and a place for them. But there's a time and a place for boring old HTML as well. And Eleventy... amazing.</p><p><br></p><p><strong>Chris</strong></p><p>And I think what's the most amazing thing about all this is that we're still very early. It's still all very early. Even what Next.js is doing, who you could say have been doing SSG for the longest time. We're still so early when we talk about things like frameworks like Marko who have been in the industry for like 10 years. Everything is still so early in this area. The more capabilities that we have with less abstraction, I think the better. I think what's really interesting is what you just said about it's opt-in, not automatically there. It still works as expected, but if you want to add this, then you get it.</p><p>So many times when it comes to things like say Next.js or Gatsby, I use next Next.js all day every day, so I don't mind bashing it. Do I even know how much JavaScript it sends to the client by default? Well, I hope it's not a lot. What we tend to forget is when I say about the question, "I know JavaScript, I could just write everything," is that I've made an abstraction line that is so high because it's all in JavaScript that so much performance can be potentially lost. You are technically compiling down CSS, HTML, JavaScript by default. What Eleventy is doing is just saying, "Look, you know HTML, you know CSS. Just send that down the wire and that is good enough for 80% of use cases like a blog or documentation."</p><p><br></p><p><strong>Ben</strong></p><p>And now with Serverless, you compliment the sites that are already built with static. A fantastic example, and I wanna give a shout out to both Brian Robinson and Stephanie Eckles who have done this kind of stuff. You can have your blog and the meat of your blog is all built statically ahead of time during a pre-build step. Great, using serverless you could add a search bar to that site. Now your search pages are generated serverless based on your search query. But the meat of your website is still that static, cached, search engine friendly version of your site so it's all additive.</p><p><br></p><p><strong>Chris</strong></p><p>That's what makes it really good. So much of the ecosystem right now is taking, like, your Ford Rapture by default. You're not starting with the smallest car you possibly can. It's like, "we got the biggest engine to do the school trip in." It's not like, "let's start with a really small city car," it's like, "take everything and just use it."</p><p><br></p><p><strong>Ben</strong></p><p>Absolutely.</p><p><br></p><p><strong>Anthony</strong></p><p>One of the other things I wanted to get into is, I know that you've been working a lot on adding to the Eleventy documentation. You've written a ton of blog posts about Eleventy. I think for the most part, when people want to explain the data cascade to people, your blog post is kind of the canonical example that is usually linked to. I would be curious, when you were looking at the Eleventy docs, where did you see areas that you felt you could add value?</p><p><br></p><p><strong>Ben</strong></p><p>One pull request that actually got merged in not long ago was I defined a bunch of terms because I was looking around for a definition of, for instance, the word "template." The definition that I eventually ended up adding to the site was the one that I gave y'all. "A content file, typically in a language such as HTML and Markdown that gets processed by a template language and gets built as output." I had the opportunity to add that to the site because I actually couldn't find anything like that anywhere on the site. I think that the Eleventy documentation right now is fantastic at showing you the breadth of Eleventy's API.</p><p>But a room for opportunity I see is, onboarding new people to Eleventy. As it stands, the getting started guide as you build a template and then run Eleventy to build a site using that template, and then it kind of just goes, "Tada! Welcome to Eleventy!" I would love to see more resources from the ecosystem, but especially more resources in the core Eleventy documentation around how to take that getting started guide and build a fully fledged application that you could host something pro on. So that's a room for growth, I think. I think that is going to require kind of some more explicit step-by-step walkthroughs.</p><p><br></p><p>I think that's also going to require a bit more tying pieces together, like painting a bigger picture of that. Which is why, for instance, I wrote that data cascade post. Eleventy has some great pages about each step of the data cascade. But painting that as one big picture - with the sense of when should you use one step or method versus when should you use another step or method - that was something that I felt was missing. that's something that I'm hoping to contribute more and more. I think it's a bit of a slow process. You don't wanna boil the ocean. You don't want to contribute every update all at once. This is something that I'm doing in a bit of my free time just here and there. Maybe I'll add a page or I'll add to a page that already exists but provide a bit more of the context in (what I hope is) a beginner, newcomer, friendly way to help them really understand why does this fit into the bigger picture of an Eleventy project.</p><p>This is a sentiment I've heard a couple times in the Eleventy space and I don't wanna bash on the Eleventy docs. I do think that they are great and again, they reflect the breadth of Eleventy's API. But this is something that, right now, there is a need for. People are writing blog posts and making videos that rise to that need. If you're listening to this and you, yourself do Eleventy (or if you're learning Eleventy) I would say right now the community needs you. The community could really benefit from you writing about your experiences and the things you learned. The real practical step by step process of how you built the thing that you've built whether that's on your own blog post or on your own YouTube channel or maybe it's in some way contributed to the documentation.</p><p>I have no official affiliation with Eleventy, but this is something that I'm seeing more and more that folks should benefit from. That is the encouragement I would give. I think this is what we need to see. Eleventy just hit 1.0 recently and that marks it as a mature product. I would love to see us figure out more and more ways to bring people into the fold. I myself learned Eleventy through Andy Bell's course "Learn Eleventy from Scratch," which used to be a paid course. It's now open and free, but no longer being updated. I think more resources like that, which take you from the docs (which can sometimes be very API focused) to something that is instead methodological in its design. I think it's something that Eleventy could benefit from.</p><p><br></p><p><strong>Anthony</strong></p><p>I would use the term explanatory.</p><p><br></p><p><strong>Chris</strong></p><p>One of the favorite things that I love, something you said earlier that I wish all frameworks said is as simply this. We can do everything, but we are not good at everything. You should use this for X and Y type of websites and if it's not X or Y, go look at something else. And you said documentation and blogs and homepages, that's what Eleventy is really good at. Don't go try build a dashboard in it.</p><p><br></p><p><strong>Ben</strong></p><p>Absolutely and it's like, it could be done and I think that there is value in experimenting. Using a thing far beyond what it was meant to do is something I see a lot with the CSS space. Amit Sheen's work is using CSS to create hyper realistic 3D animations. This is so far beyond the realm of what anyone ever intended of CSS. But we learned something as a community from pushing CSS to its limits. We learned techniques that we can use in the day to day. So it's not to say you can't build hyper interactive dashboards with Eleventy. You can certainly learn some things from that. But if you're trying to publish, if you're trying to deploy to production and you're trying to have a resilient app - those kinds of things - probably Eleventy isn't on the table for you and that's okay.</p><p>But I've definitely had this moment where I'll be working someone individually through Eleventy to rebuild their blog. They'll be coming from like a React mindset. Suddenly I show them how they could create something that looks identical to their blog but as HTML. There's that moment that clicks where they've been using a tool that wasn't intended for the. Now, they have a tool that was actually meant for that kind of thing, and it unlocks something in them. That is, I think, a huge takeaway. There's no one size fits all, but that means that the one size that fits all that you're thinking of, isn't a one size fits all.</p><p><br></p><p><strong>Chris</strong></p><p>Very true. Building blogs with Next and Gatsby, it's pretty overkill when you could just send sweet, sweet HTML.</p><p><br></p><p><strong>Ben</strong></p><p>Mm-hmm.</p><p><br></p><p><strong>Anthony</strong></p><p>Yeah. I was really happy that you were working on the docs cause I know I've struggled with the docs and I know others have as well. But as you said, just bashing the docs doesn't solve anything or make anyone feel good. Especially when Zach spent so much of his own, free time creating this project. When you see things like that, contribute back. Especially if you're someone who's in a position to help with things like documentation and explanation. That's really awesome, that's very much the spirit of open source, so I'm happy you did that.</p><p><strong>Ben</strong><br>I think in general, people benefit from having multiple possible explanations for things. If Zach is the only person writing documentation, then everything is going to be oriented around how Zach understands things. Zach has a lot of great context into the inner workings of Eleventy, as well as the inner workings of the web. But Zach is not everyone. I'm not everyone. The two of y'all aren't everyone, right? Bringing more people to the table documentation wise, means we can get a better diversity of explanations that can work better for a wider diversity of people who are coming to this project. That is awesome.</p><p><strong>Anthony</strong><br>Is there anything else about Eleventy you want to talk about before we wrap it?</p><p><strong>Ben</strong><br>We touched a bit on how it's HTML and I think that part itself is really huge. I feel like I've become a more robust developer as a result because I can't just rely on a component to do things for me. I have to think about, what is the best markup for this and what are the scripts that I have to write to make this work robustly? I've been very fortunate that Eleventy has improved me as a developer and I'm super, super excited to see how much the community is growing. It feels like it's exploded in popularity recently, I think in part to the Learn Eleventy from Scratch Course by Andy Bell and I think in part due to things like The Eleventy meetup that have been organized by Sia Karamalegos, Stephanie Eckles, and Thomas Semmler.</p><p>There's a lot more community outreach and stuff like that. I'm just incredibly excited to see this project grow. It just received full-time open source funding from Netlify, which means Zach is now paid to work on Eleventy full time. Already we've seen some longstanding pull requests get merged in that have enabled different things. The more people we could get in on this project, the more cool things we can build. Absolutely dive into Eleventy. See what you can build and see what you can break. See how you can make something that you previously might have wanted a whole framework for. See if you can build something lightweight, robust, semantic, performant, and just see what a different way to build is.</p><p><strong>Anthony</strong><br>Yep. And if you hit any roadblocks, check out Slinkity.</p><p><strong>Ben</strong></p><p>There we go. Yes.</p><p><br></p><p><strong>Anthony</strong></p><p>Go ahead and let our listeners know where they can find more about Eleventy or more about yourself.</p><p><br></p><p><strong>Ben</strong></p><p>Yeah, so if you want to learn about Eleventy, the documentation can be found at their website, which is 11ty.dev. Eleventy kind of has two spellings. It's a whole thing. I'm sure the link will be in the show notes. There's multiple links on there to find the documentation. Poke around, see if you can find the Easter eggs there because it's delightful. The documentation button is incredible. If you wanna find me out and about on the web, I'm on Twitter at BenDMyers. Again, I'm sure that link will be in the show notes. And I host a weekly Twitch show, which Anthony has been a part of four times now.</p><p>I think he was the inaugural guest and he's still the person who's been on the most times. It's called Some Antics. Every week I bring on a guest from around the web development and web design industry to teach me something about building a great user experience for the web in a hands on way with a focus on accessibility and/or core web technologies. You can find that at twitch.tv/someanticsdev. That's S-O-M-E-A-N-T-I-C-S-D-E-V, someanticsdev. I look forward to hearing from y'all. I look forward to seeing what y'all build, what y'all make, what y'all are learning, what you're doing. My cat has just jumped off the bed in a clunky, noisy way.</p><p><strong>Anthony</strong></p><p>Tuna wants to be on the show.</p><p><strong>Ben</strong></p><p>Yes. I think that probably means he is done with this podcast as well.</p><p><strong>Anthony</strong></p><p>Thank you so much, Ben. It's always a pleasure getting to speak with you.</p><p><strong>Ben<br></strong>Likewise!</p><p><strong>Anthony</strong><br>We appreciate your time and hope to have you back soon.</p><p><br><strong>Ben</strong></p><p>See y'all later.</p><p><br></p><p><em>[Post-show Clip]</em></p><p><br></p><p><strong>Chris</strong></p><p>I remember back in the Gatsby days when you'd have 10,000 pages. You're like, "I just wanna rebuild just that one page!"</p><p><br></p><p><strong>Ben</strong></p><p>Yep. Even Eleventy beat them to that punch.</p><p><br></p><p><strong>Chris</strong></p><p>Wow, I should learn more about Eleventy.</p><p><br></p><p><strong>Ben</strong></p><p>It's almost as though we need a podcast episode about it.</p><p><br></p><p><strong>Anthony</strong></p><p>Okay, that's our pre-show clip. Perfect. Okay, let's do it. Ready?</p><p><br></p><p><strong>Ben</strong></p><p>Yes sir.</p>

Show notes

Episode 79 - Widgets

<p><strong><em>Our hosts discuss widgets, documentation, and the future of FSJam.</em></strong></p><p><strong>Anthony Campolo</strong></p><ul> <li><a href="https://twitter.com/ajcwebdev"><strong>Twitter</strong></a></li> <li><a href="https://github.com/ajcwebdev/"><strong>GitHub</strong></a></li> <li><a href="https://dev.to/ajcwebdev"><strong>Blog</strong></a></li> </ul><p><strong>Christopher Burns</strong></p><ul> <li><a href="https://twitter.com/burnedchris"><strong>Twitter</strong></a></li> <li><a href="https://github.com/Burnsy"><strong>GitHub</strong></a></li> <li><a href="https://everfund.io/"><strong>Everfund</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://www.youtube.com/watch?v=qJWALEoGge4"><strong>uidotdev - JavaScript Modules</strong></a></li> <li><a href="https://github.com/everfund/everfund"><strong>Everfund GitHub</strong></a></li> </ul>

Show notes

Episode 78 - The Jamstack Innovation Fund with Matt Biilmann

<p><strong><em>Matt Biilmann is the CEO and founder of Netlify, a Jamstack deployment platform.</em></strong></p><p>In this episode we discuss the Jamstack Innovation Fund, open source sustainability, deciding whether to use Cloudflare Workers or Deno for Netlify's Edge Handlers, and the future of the Jamstack.</p><p><strong>Matt Biilmann</strong></p><ul><li><a href="https://twitter.com/biilmann"><strong>Twitter</strong></a></li></ul><p><strong>Netlify</strong></p><ul> <li><a href="https://netlify.com/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/Netlify"><strong>Twitter</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://www.netlify.com/jamstack-fund/"><strong>Jamstack Innovation Fund Home Page</strong></a></li> <li><a href="https://www.netlify.com/blog/2021/11/17/we-win-together-netlify-launches-dollar10-million-jamstack-innovation-fund/"><strong>Netlify Launches $10 Million Jamstack Innovation Fund</strong></a></li> <li><a href="https://www.netlify.com/blog/jamstack-innovation-fund-launches-with-the-10-most-promising-jamstack-startups/"><strong>Jamstack Innovation Fund Launches with the 10 Most Promising Jamstack Startups</strong></a></li> </ul><p><strong>The Fund</strong></p><ul> <li> <a href="https://chiselstrike.com/"><strong>ChiselStrike</strong></a><strong> - prototype-to-production data platform</strong> </li> <li> <a href="https://clerk.dev/"><strong>Clerk</strong></a><strong> - authentication service purpose-built for Jamstack</strong> </li> <li> <a href="https://clutch.io/"><strong>Clutch</strong></a><strong> - visual editor for Jamstack solutions</strong> </li> <li> <a href="https://www.convex.dev/"><strong>Convex</strong></a><strong> - global state management platform</strong> </li> <li> <a href="https://deno.land/"><strong>Deno</strong></a><strong> - modern runtime for JavaScript and TypeScript</strong> </li> <li> <a href="https://everfund.io/"><strong>Everfund</strong></a><strong> - developer-first nonprofit tool to build custom fundraising systems</strong> </li> <li> <a href="https://nuxtlabs.com/"><strong>NuxtLabs</strong></a><strong> - making web development intuitive with NuxtJS</strong> </li> <li> <a href="https://www.snaplet.dev/"><strong>Snaplet</strong></a><strong> - tool for copying Postgres databases</strong> </li> <li> <a href="https://www.takeshape.io/"><strong>TakeShape</strong></a><strong> - GraphQL API mesh</strong> </li> <li> <a href="https://www.tigrisdata.com/"><strong>Tigris Data</strong></a><strong> - zero-ops backend for web and mobile apps</strong> </li> </ul>

Show notes

Episode 77 - Qwik with Miško Hevery

<p><strong><em>Miško Hevery is the creator of Qwik, a resumable framework that serializes application and framework state into HTML upon rendering the application.</em></strong></p><p>In this episode we discuss what is a resumable framework and how resumability relates to partial hydration.</p><p><strong>Miško Hevery</strong></p><ul> <li><a href="https://twitter.com/mhevery"><strong>Twitter</strong></a></li> <li><a href="https://github.com/mhevery"><strong>GitHub</strong></a></li> <li><a href="https://www.linkedin.com/in/misko-hevery-3883b1/"><strong>LinkedIn</strong></a></li> </ul><p><strong>Qwik</strong></p><ul> <li><a href="https://qwik.builder.io/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/qwikdev"><strong>Twitter</strong></a></li> <li><a href="https://github.com/BuilderIO/qwik"><strong>GitHub</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://www.builder.io/"><strong>Builder.io</strong></a></li> <li><a href="https://partytown.builder.io/"><strong>Partytown</strong></a></li> </ul>

Show notes

Episode 76 - Composability with Ishan Anand and Scott Steinlage

<p><strong><em>Ishan Anand (VP Product, AppOps) and Scott Steinlage (Technical Community Manager) join us to talk about Edgio (formerly Layer0 by Limelight), a developer tools platform for deploying edge-enabled solutions via a low-latency, global caching network.</em></strong></p><p>In this episode we discuss strategies for navigating remote work, whether it's useful or counterproductive to push all computing to the edge, and how to build composable websites and applications.</p><p><strong>Ishan Anand</strong></p><ul> <li><a href="https://twitter.com/ianand"><strong>Twitter</strong></a></li> <li><a href="https://www.linkedin.com/in/ishananand/"><strong>LinkedIn</strong></a></li> <li><a href="https://github.com/ianand"><strong>GitHub</strong></a></li> </ul><p><strong>Scott Steinlage</strong></p><ul> <li><a href="https://twitter.com/SteinlageScott"><strong>Twitter</strong></a></li> <li><a href="https://www.linkedin.com/in/scottsteinlage/"><strong>LinkedIn</strong></a></li> </ul><p><strong>Edgio</strong></p><ul> <li><a href="https://edg.io/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/edgioinc"><strong>Twitter</strong></a></li> </ul><p><strong>Links</strong></p><ul><li><a href="https://composability.dev/"><strong>Composability Summit</strong></a></li></ul>

Show notes

Episode 75 - Prisma with Austin Crim

<p><strong><em>Austin Crim is a Technical Support Engineer at Prisma, an ORM and data platform that makes databases easy.</em></strong></p><p>In this episode we discuss the history and mission of Prisma, the boundary between Prisma Client and Prisma Migrate, and whether developers need to know the difference between SQL and NoSQL.</p><p><strong>Austin Crim</strong></p><ul> <li><a href="https://austincrim.com/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/crim_codes"><strong>Twitter</strong></a></li> <li><a href="https://github.com/austincrim"><strong>GitHub</strong></a></li> <li><a href="https://www.linkedin.com/in/austin-crim/"><strong>LinkedIn</strong></a></li> </ul><p><strong>Prisma</strong></p><ul> <li><a href="https://www.prisma.io/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/prisma"><strong>Twitter</strong></a></li> <li><a href="https://github.com/prisma/prisma"><strong>GitHub</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://cloud.prisma.io/"><strong>Prisma Data Platform</strong></a></li> <li><a href="https://www.prisma.io/docs/guides/deployment/deployment-guides/deploying-to-cloudflare-workers"><strong>Deploying Prisma to Cloudflare Workers</strong></a></li> <li><a href="https://fsjam.org/episodes/episode-71-remix-with-kent-c-dodds"><strong>Remix with Kent C. Dodds</strong></a></li> </ul>

Show notes

Episode 74 - Live at Remix Conf with Scott Steinlage and Will De Ath

<p><strong><em>Scott Steinlage and Will De Ath join our hosts at Remix Conf for the first ever, in-person FSJam episode.</em></strong></p><p>In this episode we discuss podcasting in person for the first time, why we are attending Remix Conf, and the crucial role of marketing in a startup.</p><p><strong>Scott Steinlage</strong></p><ul> <li><a href="https://twitter.com/steinlagescott"><strong>Twitter</strong></a></li> <li><a href="https://www.linkedin.com/in/scottsteinlage/"><strong>LinkedIn</strong></a></li> <li><a href="https://www.limelight.com/"><strong>Limelight</strong></a></li> </ul><p><strong>Will De Ath</strong></p><ul> <li><a href="https://twitter.com/willde_ath"><strong>Twitter</strong></a></li> <li><a href="https://www.linkedin.com/in/willdeath/"><strong>LinkedIn</strong></a></li> <li><a href="https://everfund.co.uk/"><strong>Everfund</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://remix.run/conf/2022"><strong>Remix Conf 2022</strong></a></li> <li><a href="https://remix.run/conf/2023"><strong>Remix Conf 2023</strong></a></li> </ul>

Show notes

Episode 73 - Serverless Guru with Ryan Jones

<p><strong><em>Ryan Jones is the CEO of Serverless Guru, an agency that provides serverless consulting and development.</em></strong></p><p>In this episode we discuss leveraging serverless knowledge to launch your career, measuring the true cost of migrating a production application, and how serverless initiatives can spin out.<br><strong><br>Ryan Jones</strong></p><ul> <li><a href="https://twitter.com/ryanjonesirl"><strong>Twitter</strong></a></li> <li><a href="https://www.linkedin.com/in/ryanjonesirl"><strong>LinkedIn</strong></a></li> </ul><p><strong>Serverless Guru</strong></p><ul> <li><a href="https://www.serverlessguru.com/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/serverlessguru"><strong>Twitter</strong></a></li> <li><a href="https://www.talkingserverless.io/"><strong>Talking Serverless</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://fsjam.org/episodes/episode-37-talking-serverless-with-josh-proto"><strong>FSJam37 - Talking Serverless with Josh Proto</strong></a></li> <li><a href="https://training.serverlessguru.com/courses/serverless-from-zero-to-paid-professional"><strong>Serverless: Zero to Paid Professional</strong></a></li> </ul>

Show notes

Episode 72 - Elm with Lindsay Wardell

<p><strong><em>Lindsay Wardell is an Elm Software Engineer at NoRedInk and (former) co-host of Views on Vue.</em></strong> </p><p>In this episode we discuss NoRedInk's experience using Elm in production, the combined power of functional programming and static type systems, building a language for the long term, and the difficulty of explaining the benefits of purely functional languages to developers who have never experienced them.<strong></strong></p><p>Lindsay Wardell</p><ul> <li><a href="https://www.lindsaykwardell.com/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/lindsaykwardell"><strong>Twitter</strong></a></li> <li><a href="https://www.linkedin.com/in/lindsaykwardell/"><strong>LinkedIn</strong></a></li> </ul><p><strong>Elm</strong></p><ul> <li><a href="https://elm-lang.org/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/elmlang"><strong>Twitter</strong></a></li> <li><a href="https://discourse.elm-lang.org/"><strong>Discourse</strong></a></li> <li><a href="https://elmlang.herokuapp.com/"><strong>Slack</strong></a></li> <li><a href="https://elm-lang.org/news"><strong>News</strong></a></li> </ul><p><strong>NoRedInk</strong></p><ul> <li><a href="https://www.noredink.com/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/noredink"><strong>Twitter</strong></a></li> </ul><p><strong>Links</strong></p><ul><li><a href="https://www.youtube.com/watch?v=5CYeZ2kEiOI"><strong>From Rails to Elm and Haskell</strong></a></li></ul>

Show notes

Episode 71 - Remix with Kent C. Dodds

<p><strong><em>Kent C. Dodds is the Director of Developer Experience for Remix, a JavaScript framework built on standard web APIs.</em></strong></p><p>In this episode we discuss building excellent user experiencers without embarrassment inducing code, the definition of a "center-stack framework," whether the technical benefits of partial hydration actually lead to better UX, and that time Kent almost died.</p><p><strong>Kent C. Dodds</strong></p><ul> <li><a href="https://kentcdodds.com/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/kentcdodds"><strong>Twitter</strong></a></li> <li><a href="https://github.com/kentcdodds"><strong>GitHub</strong></a></li> <li><a href="https://www.youtube.com/c/KentCDodds-vids/"><strong>YouTube</strong></a></li> </ul><p><strong>Remix</strong></p><ul> <li><a href="https://remix.run/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/remix_run"><strong>Twitter</strong></a></li> <li><a href="https://github.com/remix-run/remix"><strong>GitHub</strong></a></li> <li><a href="https://www.youtube.com/remix_run"><strong>YouTube</strong></a></li> <li><a href="https://discord.gg/remix"><strong>Discord</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://kentcdodds.com/blog/how-i-built-a-modern-website-in-2021"><strong>How I built a modern website in 2021</strong></a></li> <li><a href="https://remix.run/blog/react-server-components"><strong>React Server Components and Remix</strong></a></li> <li><a href="https://github.com/vercel/commerce"><strong>Next.js Commerce</strong></a></li> <li><a href="https://remix.run/blog/remix-vs-next"><strong>Remix vs Next.js</strong></a></li> <li><a href="https://prismic.io/blog/compare-remix-vs-nextjs"><strong>Remix vs. Next: Which React Meta-Framework Should You Use?</strong></a></li> <li><a href="https://remix.run/docs/en/v1/other-api/fetch"><strong>Web Fetch API</strong></a></li> <li><a href="https://remix.run/blog/remix-v1"><strong>Remix v1</strong></a></li> </ul>

Show notes

Episode 70 - Hydrogen with Josh Larson

<p><strong><em>Josh Larson is a software engineer at Shopify and a core developer of Hydrogen, a React-based framework for building custom storefronts on Shopify.</em></strong></p><p>In this episode we discuss server side rendering on the edge, the challenges of headless e-commerce, and designing a framework specifically for Shopify storefronts.</p><p><strong>Josh Larson</strong></p><ul> <li><a href="https://twitter.com/jplhomer"><strong>Twitter</strong></a></li> <li><a href="https://github.com/jplhomer"><strong>GitHub</strong></a></li> <li><a href="https://www.linkedin.com/in/jplhomer/"><strong>LinkedIn</strong></a></li> <li><a href="https://www.jplhomer.org/"><strong>Home Page</strong></a></li> </ul><p><strong>Hydrogen</strong></p><ul> <li><a href="https://hydrogen.shopify.dev/"><strong>Home Page</strong></a></li> <li><a href="https://github.com/Shopify/hydrogen"><strong>GitHub</strong></a></li> <li><a href="https://shopify.dev/custom-storefronts/hydrogen"><strong>Documentation</strong></a></li> <li><a href="https://hydrogen.new/"><strong>Stackblitz</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://flareact.com/"><strong>Flareact</strong></a></li> <li><a href="https://www.vsourz.com/blog/discover-shopify-hydrogen-and-shopify-oxygen-the-future-of-shopify-storefront/"><strong>Hydrogen and Shopify Oxygen</strong></a></li> <li><a href="https://shopify.dev/custom-storefronts/hydrogen/deployment"><strong>Deploy a Hydrogen App</strong></a></li> <li><a href="https://shopify.dev/custom-storefronts/tools/graphiql-storefront-api"><strong>Shopify Storefront API GraphiQL Explorer</strong></a></li> </ul>

Show notes

Episode 69 - Sizzy with Kitze

<p><strong><em>Kitze is the creator of Sizzy, the browser for developers.</em></strong></p><p>In this episode we discuss the shortcomings of developer tools in web browsers, VS Code versus WebStorm, GraphQL hypocrisy, and the differences between RedwoodJS and Blitz.js.<strong></strong></p><p>Kitze</p><ul> <li><a href="https://twitter.com/thekitze"><strong>Twitter</strong></a></li> <li><a href="https://github.com/kitze"><strong>GitHub</strong></a></li> <li><a href="https://www.youtube.com/c/Kitze/videos"><strong>YouTube</strong></a></li> <li><a href="https://www.twitch.tv/thekitze/videos"><strong>Twitch</strong></a></li> <li><a href="https://kitze.io/"><strong>Home Page</strong></a></li> </ul><p><strong>Sizzy</strong></p><ul> <li><a href="https://sizzy.co/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/sizzyapp"><strong>Twitter</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://www.jetbrains.com/fleet/"><strong>Fleet</strong></a></li> <li><a href="https://www.youtube.com/watch?v=VKiCjqO4Dpk"><strong>But... You're Not Facebook</strong></a></li> <li><a href="https://glink.so/"><strong>Glink</strong></a></li> </ul>

Show notes

Episode 68 - Flightcontrol with Brandon Bayer and Mina Abadir

<p><strong><em>Brandon Bayer and Mina Abadir are the founders of Flightcontrol, the fullstack deployment platform.</em></strong></p><p>In this episode we discuss building a better developer experience for managing AWS resources, designing an infrastructure as code language, the new Blitz.js toolkit, and how to make your users badass developers.</p><p><strong>Brandon Bayer</strong></p><ul> <li><a href="https://twitter.com/flybayer"><strong>Twitter</strong></a></li> <li><a href="https://github.com/flybayer"><strong>GitHub</strong></a></li> <li><a href="https://www.linkedin.com/in/brandonbayer1/"><strong>LinkedIn</strong></a></li> </ul><p><strong>Mina Abadir</strong></p><ul> <li><a href="https://twitter.com/abadir_"><strong>Twitter</strong></a></li> <li><a href="https://github.com/mabadir"><strong>GitHub</strong></a></li> <li><a href="https://www.linkedin.com/in/mabadir/"><strong>LinkedIn</strong></a></li> </ul><p><strong>Flightcontrol</strong></p><ul> <li><a href="https://www.flightcontrol.dev/"><strong>Home Page</strong></a></li> <li><a href="https://mobile.twitter.com/flightcontrolhq"><strong>Twitter</strong></a></li> <li><a href="https://discord.gg/wgUrbsF8Yp"><strong>Discord</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://fsjam.org/episodes/episode-8-fsjam-roundtable"><strong>FSJam Roundtable with Chris Ball, Brandon Bayer, and (the) David Price</strong></a></li> <li><a href="https://aws.amazon.com/fargate/"><strong>AWS Fargate</strong></a></li> <li><a href="https://aws.amazon.com/cloudfront/"><strong>Amazon CloudFront</strong></a></li> <li><a href="https://aws.amazon.com/rds/"><strong>Amazon RDS</strong></a></li> <li><a href="https://planetscale.com/"><strong>PlanetScale</strong></a></li> <li><a href="https://github.com/ajcwebdev/ajcwebdev-flightcontrol"><strong>A First Look at Flightcontrol</strong></a></li> </ul>

Show notes

Episode 67 - Developer Experience Engineering with Prince Wilson

<p><strong><em>Prince Wilson is a Developer Experience Engineer at Netlify, a platform for deploying web applications and static websites.</em></strong></p><p>In this episode we discuss developer experience engineering, the growing influence of Rust on web development, building Discord bots, and what programming streamers can learn from gaming streamers.<strong></strong></p><p>Prince Wilson</p><ul> <li><a href="https://prince.dev/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/maxcell"><strong>Twitter</strong></a></li> <li><a href="https://www.twitch.tv/maxcellw"><strong>Twitch</strong></a></li> <li><a href="https://github.com/maxcell"><strong>GitHub</strong></a></li> </ul><p><strong>Netlify</strong></p><ul> <li><a href="https://www.netlify.com/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/Netlify"><strong>Twitter</strong></a></li> <li><a href="https://github.com/netlify"><strong>GitHub</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://www.netlify.com/blog/2021/05/19/next-generation-deploy-previews-plus-netlify-acquires-featurepeek/"><strong>Next-generation Deploy Previews, plus Netlify acquires FeaturePeek</strong></a></li> <li><a href="https://www.netlify.com/blog/2021/11/17/netlify-acquires-onegraph-a-powerful-graphql-platform-for-connecting-apis-and-services/"><strong>Netlify Acquires OneGraph, A Powerful GraphQL Platform for Connecting APIs and Services</strong></a></li> <li><a href="https://www.netlify.com/jamstack-fund/"><strong>Netlify Jamstack Innovation Fund</strong></a></li> <li><a href="https://changelog.com/podcast/468"><strong>1Password is all in on its web stack</strong></a></li> <li><a href="https://serokell.io/blog/rust-in-production-1password"><strong>Rust in Production: 1Password</strong></a></li> <li><a href="https://discord.com/blog/using-rust-to-scale-elixir-for-11-million-concurrent-users"><strong>Using Rust to Scale Elixir for 11 million Concurrent Users</strong></a></li> </ul>

Show notes

Episode 66 - RedwoodJS with Peter Pistorius

<p><strong><em>Peter Pistorius is the co-creator of RedwoodJS, the JavaScript application framework for startups, and the founder of Snaplet.</em></strong></p><p>In this episode we discuss the history, development, and future of RedwoodJS.</p><p><em>Editor's Note: This episode was recorded over a year ago and kept in the vault because the audio is somewhat degraded relative to the average FSJam episode. But we are releasing it regardless because we believe the conversation is worthwhile for listeners that can tolerate the rougher sound quality.</em><br><strong><br>Peter Pistorius</strong></p><ul> <li><a href="https://twitter.com/appfactory"><strong>Twitter</strong></a></li> <li><a href="https://github.com/peterp"><strong>GitHub</strong></a></li> </ul><p><strong>RedwoodJS</strong></p><ul><li><a href="https://redwoodjs.com/"><strong>Home Page</strong></a></li></ul>

Show notes

Episode 65 - Snaplet with Peter Pistorius

<p><strong><em>Peter Pistorius is the co-creator of RedwoodJS and founder of Snaplet, a tool for copying your production database while protecting private information.</em></strong></p><p>In this episode we discuss managing personally identifiable information, simplifying local database testing, and developing in cloud environments.<br><strong><br>Peter Pistorius</strong></p><ul> <li><a href="https://twitter.com/appfactory"><strong>Twitter</strong></a></li> <li><a href="https://github.com/peterp"><strong>GitHub</strong></a></li> </ul><p><strong>Snaplet</strong></p><ul> <li><a href="https://snaplet.dev/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/_snaplet"><strong>Twitter</strong></a></li> <li><a href="https://github.com/snaplet"><strong>GitHub</strong></a></li> <li><a href="https://docs.snaplet.dev/"><strong>Documentation</strong></a></li> <li><a href="https://www.snaplet.dev/careers"><strong>Jobs</strong></a></li> </ul><p><strong>Links</strong></p><ul><li><a href="https://www.snaplet.dev/post/supabase-guide"><strong>Clone your Supabase production data to a development environment</strong></a></li></ul>

Show notes

Episode 64 - TypeScript with Orta Therox

<p><strong><em>Orta Therox is a (former) Compiler Engineer at Microsoft and core team member of TypeScript, a syntactical superset of JavaScript that adds optional static typing.</em></strong></p><p>In this episode we discuss compiler engineering, whether JavaScript will ever incorporate a native type system, and why TypeScript will never have zero configuration. <br><strong><br>Orta</strong></p><ul> <li><a href="https://twitter.com/orta"><strong>Twitter</strong></a></li> <li><a href="https://github.com/orta"><strong>GitHub</strong></a></li> <li><a href="https://www.linkedin.com/in/ortatherox/"><strong>LinkedIn</strong></a></li> <li><a href="https://orta.io/"><strong>Home Page</strong></a></li> </ul><p><strong>TypeScript</strong></p><ul> <li><a href="https://www.typescriptlang.org/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/typescript"><strong>Twitter</strong></a></li> <li><a href="https://github.com/microsoft/TypeScript"><strong>GitHub</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://github.com/davidtheclark/cosmiconfig"><strong>Cosmiconfig</strong></a></li> <li><a href="https://github.com/tsconfig/bases"><strong>TSConfig Bases</strong></a></li> <li><a href="https://complexity.risd.edu/methods-insights/dancing-landscapes/"><strong>Dancing Landscapes</strong></a></li> <li><a href="https://github.com/danger/danger-js"><strong>Danger JS</strong></a></li> <li><a href="https://github.com/CocoaPods/CocoaPods"><strong>CocoaPods</strong></a></li> </ul>

Show notes

Episode 63 - Modern CSS with Stephanie Eckles

<p><strong><em>Stephanie Eckles is a Front-End Focused Software Engineer and author of ModernCSS.dev, a course series on modern CSS solutions<br>for old CSS problems.</em></strong></p><p>In this episode we discuss when CSS became modern, if PostCSS can replace the enduring Sass, the new capabilities enabled by Eleventy Serverless, and the value of online streaming.</p><p><strong>Stephanie Eckles</strong></p><ul> <li><a href="https://twitter.com/5t3ph"><strong>Twitter</strong></a></li> <li><a href="https://github.com/5t3ph/"><strong>GitHub</strong></a></li> <li><a href="https://codepen.io/5t3ph/"><strong>Codepen</strong></a></li> <li><a href="https://dev.to/5t3ph"><strong>Blog</strong></a></li> <li><a href="https://www.twitch.tv/5t3phdev"><strong>Twitch</strong></a></li> <li><a href="https://moderncss.dev/"><strong>Modern CSS</strong></a></li> <li><a href="https://thinkdobecreate.com/links/"><strong>Home Page</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://www.w3.org/TR/css-cascade-5/#cascade-layers"><strong>CSS Cascade Layers</strong></a></li> <li><a href="https://www.smashingmagazine.com/2021/06/css-javascript-requirements-accessible-components/"><strong>When CSS Isn’t Enough: JavaScript Requirements For Accessible Components</strong></a></li> <li><a href="https://www.youtube.com/watch?v=oBICzNlg_nU"><strong>Modern CSS: Grid, Aspect Ratio, Container Queries, and More!</strong></a></li> <li><a href="https://wordwrap.dev/episodes/004/"><strong>Word Wrap - Eleventy and the Rise of Static</strong></a></li> <li><a href="https://11ty.rocks/"><strong>11ty Rocks</strong></a></li> <li><a href="https://someantics.dev/first-look-eleventy-serverless/"><strong>A First Look at Eleventy Serverless, with Zach Leatherman</strong></a></li> <li><a href="https://github.com/5t3ph/11ty-serverless-search"><strong>11ty Serverless Search</strong></a></li> </ul>

Show notes

Episode 62 - Fly with Rugwiro Valentin

<p><strong><em>Rugwiro Valentin is a Developer at Fly, a platform for fullstack applications and databases that need to run globally.</em></strong></p><p>In this episode we discuss deploying containers to the edge, microVMs, Twelve Factor Apps, Cloud Native Buildpacks, and WireGuard.<br><strong><br>Rugwiro Valentin</strong></p><ul> <li><a href="https://twitter.com/acodechef"><strong>Twitter</strong></a></li> <li><a href="https://github.com/rugwirobaker"><strong>GitHub</strong></a></li> <li><a href="https://codechef.fly.dev/"><strong>Home Page</strong></a></li> </ul><p><strong>Fly</strong></p><ul> <li><a href="https://fly.io/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/flydotio"><strong>Twitter</strong></a></li> <li><a href="https://github.com/superfly/"><strong>GitHub</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://fly.io/docs/reference/configuration/"><strong>App Configuration with fly.toml</strong></a></li> <li><a href="https://github.com/superfly/flyctl"><strong>flyctl</strong></a></li> <li><a href="https://fly.io/docs/reference/volumes/"><strong>Volumes on Fly</strong></a></li> <li><a href="https://12factor.net/"><strong>The Twelve-Factor App</strong></a></li> <li><a href="https://buildpacks.io"><strong>Cloud Native Buildpacks</strong></a></li> <li><a href="https://tokio.rs/"><strong>Tokio</strong></a></li> <li><a href="https://www.wireguard.com/papers/wireguard.pdf"><strong>WireGuard: Next Generation Kernel Network Tunnel</strong></a></li> <li><a href="https://github.com/WireGuard/wireguard-go"><strong>WireGuard Go</strong></a></li> <li><a href="https://ngrok.com/"><strong>ngrok</strong></a></li> <li><a href="https://community.redwoodjs.com/t/dockerize-redwoodjs/2291/4"><strong>Dockerize RedwoodJS with Fly</strong></a></li> </ul>

Show notes

Episode 61 - Everfund with Christopher Burns

<p><strong><em>Christopher Burns is the CEO of Everfund, a donation checkout system for non-profits and charities.</em></strong></p><p>In this Podrocket crossover episode, we discuss the motivation behind the creation of Everfund, the technologies the company has built upon, the process of migrating from a previous tech stack, and advice for other potential founders looking to start a company.</p><p><strong>Christopher Burns</strong></p><ul> <li><a href="https://twitter.com/burnedchris"><strong>Twitter</strong></a></li> <li><a href="https://github.com/Burnsy"><strong>GitHub</strong></a></li> <li><a href="https://www.linkedin.com/in/burnedchris/"><strong>LinkedIn</strong></a></li> </ul><p><strong>Everfund</strong></p><ul> <li><a href="https://everfund.co.uk/"><strong>Home Page</strong></a></li> <li><a href="https://everfund.co.uk/blog"><strong>Blog</strong></a></li> <li><a href="https://twitter.com/_everfund"><strong>Twitter</strong></a></li> <li><a href="https://github.com/everfund/everfund"><strong>GitHub</strong></a></li> <li><a href="https://www.linkedin.com/company/everfunduk/"><strong>LinkedIn</strong></a></li> </ul>

Show notes

Episode 60 - Marko with Dylan Piercey

<p><strong><em>Dylan Piercey is a Member of Technical Staff at eBay and core team member of Marko, a declarative, HTML-based language for building web applications.</em></strong></p><p>In this episode we discuss the relation between progressive enhancement and partial hydration, appropriate use cases for the islands architecture, and the rediscovery of multi-page applications.<strong></strong></p><p>Dylan Piercey</p><ul> <li><a href="https://twitter.com/dylan_piercey"><strong>Twitter</strong></a></li> <li><a href="https://github.com/DylanPiercey"><strong>GitHub</strong></a></li> </ul><p><strong>Marko</strong></p><ul> <li><a href="https://markojs.com/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/MarkoDevTeam"><strong>Twitter</strong></a></li> <li><a href="https://github.com/marko-js/marko"><strong>GitHub</strong></a></li> <li><a href="https://discord.gg/marko"><strong>Discord</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://dev.to/ajcwebdev/what-is-partial-hydration-and-why-is-everyone-talking-about-it-3k56"><strong>What is Partial Hydration and Why is Everyone Talking About It?</strong></a></li> <li><a href="https://tech.ebayinc.com/engineering/async-fragments-rediscovering-progressive-html-rendering-with-marko/"><strong>Async Fragments: Rediscovering Progressive HTML Rendering with Marko</strong></a></li> <li><a href="https://tech.ebayinc.com/engineering/the-future-of-marko/"><strong>The Future of Marko</strong></a></li> <li><a href="https://medium.com/@mlrawlings/maybe-you-dont-need-that-spa-f2c659bc7fec"><strong>Maybe you don’t need that SPA</strong></a></li> <li><a href="https://dev.to/ryansolid/a-first-look-at-markojs-3h78"><strong>A First Look at MarkoJS</strong></a></li> </ul>

Show notes

Episode 59 - GreenSock with Cassie Evans

<p><strong><em>Cassie Evans is the Lead Bestower of Animation Superpowers at Greensock, a JavaScript animation toolset.</em></strong></p><p>In this episode we discuss the limitations of CSS animations, techniques for animating SVGs, and building animation centric websites without JavaScript frameworks.</p><p><strong>Cassie Evans</strong></p><ul> <li><a href="https://www.cassie.codes/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/cassiecodes"><strong>Twitter</strong></a></li> <li><a href="https://linkedin.com/in/cassie-codes"><strong>LinkedIn</strong></a></li> </ul><p><strong>Greensock</strong></p><ul> <li><a href="https://greensock.com/"><strong>Home Page</strong></a></li> <li><a href="https://greensock.com/gsap/"><strong>GSAP</strong></a></li> <li><a href="https://twitter.com/greensock"><strong>Twitter</strong></a></li> <li><a href="https://www.linkedin.com/company/greensock/"><strong>LinkedIn</strong></a></li> <li><a href="https://github.com/greensock/GSAP"><strong>GitHub</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://codebar.io/"><strong>Codebar</strong></a></li> <li><a href="https://en.wikipedia.org/wiki/Web_banner"><strong>Banner Ads</strong></a></li> <li><a href="https://developer.mozilla.org/en-US/docs/Web/API/AnimationTimeline"><strong>AnimationTimeline</strong></a></li> <li><a href="https://css-tricks.com/almanac/properties/t/transform/"><strong>CSS Transforms</strong></a></li> <li><a href="https://developer.mozilla.org/en-US/docs/Web/API/WebGL_API"><strong>WebGL</strong></a></li> <li><a href="https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API"><strong>Canvas</strong></a></li> <li><a href="https://threejs.org/"><strong>three.js</strong></a></li> <li><a href="https://greensock.com/react/"><strong>GSAP + React, First Steps & Handy Techniques</strong></a></li> <li><a href="https://greensock.com/react-advanced/"><strong>GSAP + React, Advanced Animation Techniques</strong></a></li> <li><a href="https://www.framer.com/motion/"><strong>Framer Motion</strong></a></li> <li><a href="https://github.com/chenglou/react-motion"><strong>React Motion</strong></a></li> <li><a href="https://www.youtube.com/watch?v=vx_eF3tkmZ8"><strong>Building an Animated Castle Builder w/ Cassie Evans</strong></a></li> <li><a href="https://www.youtube.com/watch?v=6RmPAqlh2z0"><strong>Chattin' GSAP Helper Functions w/ Cassie Evans</strong></a></li> <li><a href="https://www.youtube.com/watch?v=kUDMwy2OaK4"><strong>FLIP Animations with GSAP! w/ Cassie Evans</strong></a></li> <li><a href="https://www.youtube.com/watch?v=XD7x2e5chvE"><strong>GreenSock Community Questions with Cassie Evans</strong></a></li> </ul>

Show notes

Episode 58 - Gitpod with Mike Nikles

<p><strong><em>Mike Nikles is a Senior Developer and Customer Success Engineer at Gitpod, a collaborative development environment in the browser.</em></strong></p><p>In this episode we discuss the challenges of local development and the unique benefits of developing in the cloud. <br><strong><br>Mike Nikles</strong></p><ul> <li><a href="https://twitter.com/mikenikles"><strong>Twitter</strong></a></li> <li><a href="https://github.com/mikenikles"><strong>GitHub</strong></a></li> <li><a href="https://www.linkedin.com/in/mikenikles/"><strong>LinkedIn</strong></a></li> <li><a href="https://www.mikenikles.com/"><strong>Home Page</strong></a></li> </ul><p><strong>Gitpod</strong></p><ul> <li><a href="https://www.gitpod.io/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/gitpod"><strong>Twitter</strong></a></li> <li><a href="https://github.com/gitpod-io/gitpod"><strong>GitHub</strong></a></li> </ul><p><strong>Webstone</strong></p><ul> <li><a href="https://github.com/WebstoneHQ/webstone"><strong>GitHub</strong></a></li> <li><a href="https://discord.gg/cvcQD7WjRz"><strong>Discord</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://theia-ide.org/"><strong>Theia</strong></a></li> <li><a href="https://www.gitpod.io/blog/github-flow"><strong>A Better GitHub Flow</strong></a></li> <li><a href="https://community.redwoodjs.com/t/run-redwoodjs-on-gitpod/2303"><strong>Run RedwoodJS on Gitpod</strong></a></li> <li><a href="https://www.mikenikles.com/blog/why-i-left-google-and-joined-gitpod"><strong>Why I Left Google and Joined Gitpod</strong></a></li> <li><a href="https://github.com/features/codespaces"><strong>GitHub Codespaces</strong></a></li> <li><a href="https://github.com/gitpod-io/openvscode-server"><strong>OpenVSCode Server</strong></a></li> <li><a href="https://www.gitpod.io/blog/openvscode-server-launch"><strong>VS Code in the browser for everyone</strong></a></li> <li><a href="https://www.gitpod.io/docs/config-gitpod-file"><strong>Config Gitpod File</strong></a></li> <li><a href="https://open-vsx.org/"><strong>Open VSX Registry</strong></a></li> <li><a href="https://www.gitpod.io/blog/local-app"><strong>Gitpod Local Companion</strong></a></li> <li><a href="https://www.gitpod.io/docs/examples/"><strong>Gitpod Example Projects</strong></a></li> <li><a href="https://www.gitpod.io/docs/languages-and-frameworks"><strong>Gitpod Languages & Frameworks</strong></a></li> <li><a href="https://www.mikenikles.com/cloud-native-web-development"><strong>Cloud Native Web Development</strong></a></li> <li><a href="https://www.mikenikles.com/blog/svelte-kit-prisma-a-match-made-in-digital-heaven"><strong>SvelteKit & Prisma</strong></a></li> </ul>

Show notes

Episode 57 - Sequin with Anthony Accomazzo and Eric Goldman

<p><strong><em>Anthony Accomazzo and Eric Goldman are the founders of Sequin, a database for real-time syncing of APIs.</em></strong></p><p>In this episode we discuss the superiority of SQL for query expressibility in comparison to HTTP and the benefits of having all your data centralized in one location for analysis.</p><p><strong>Anthony Accomazzo</strong></p><ul> <li><a href="https://twitter.com/accomazzo"><strong>Twitter</strong></a></li> <li><a href="https://github.com/acco"><strong>GitHub</strong></a></li> <li><a href="https://acco.io/"><strong>Home Page</strong></a></li> </ul><p><strong>Eric Goldman</strong></p><ul><li><a href="https://twitter.com/goldmanem"><strong>Twitter</strong></a></li></ul><p><strong>Sequin</strong></p><ul> <li><a href="https://www.sequin.io/"><strong>Home Page</strong></a></li> <li><a href="https://blog.sequin.io/"><strong>Blog</strong></a></li> <li><a href="https://twitter.com/sequin_io"><strong>Twitter</strong></a></li> <li><a href="https://www.linkedin.com/company/sequin-io/"><strong>LinkedIn</strong></a></li> </ul>

Show notes

Episode 56 - FeatureBoard with Jake Ginnivan

<p><strong><em>Jake Ginnivan is the creator of FeatureBoard, a lightweight feature toggling tool for teams.</em></strong></p><p>In this episode we discuss the ubiquity of feature toggles, implementing features by user categorizations instead of individual users, and utilizing third party authentication to create a Jamstack native solution for feature flags. </p><p><strong>Jake Ginnivan</strong></p><ul> <li><a href="https://twitter.com/JakeGinnivan"><strong>Twitter</strong></a></li> <li><a href="https://github.com/JakeGinnivan"><strong>GitHub</strong></a></li> <li><a href="https://jakeginnivan.medium.com/"><strong>Blog</strong></a></li> </ul><p><strong>FeatureBoard</strong></p><ul> <li><a href="https://featureboard.app/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/featureboardapp"><strong>Twitter</strong></a></li> <li><a href="https://blog.featureboard.app/why-featureboard-eedb3cf1a98d"><strong>Why FeatureBoard?</strong></a></li> <li><a href="https://blog.featureboard.app/releasing-featureboards-marketing-site-using-featureboard-part-i-release-toggles-1eb7834fbcf3"><strong>Releasing FeatureBoard’s marketing site, using FeatureBoard</strong></a></li> <li><a href="https://medium.com/pixel-and-ink/understanding-and-improving-emotion-10s-typescript-types-622e2d172f6f"><strong>Understanding and improving Emotion 10’s TypeScript types</strong></a></li> <li><a href="https://jakeginnivan.medium.com/using-typescript-project-references-in-nx-b3462b2fe6d4"><strong>Using TypeScript project references in NX</strong></a></li> <li><a href="https://jakeginnivan.medium.com/breaking-down-typescript-project-references-260f77b95913"><strong>Breaking down TypeScript project references</strong></a></li> </ul>

Show notes

Episode 55 - Prismic with Alex Trost

<p><strong><em>Alex Trost is a Developer Experience Engineer at Prismic and creator of Frontend Horse.</em></strong></p><p>In this episode we discuss leveraging existing non-technical skills as a developer, creating a safe space for questions on live streams, creative coding, and balancing the needs of developers and content editors with a headless CMS.</p><p><strong>Alex Trost</strong></p><ul> <li><a href="https://twitter.com/trostcodes"><strong>Twitter</strong></a></li> <li><a href="https://www.twitch.tv/trostcodes"><strong>Twitch</strong></a></li> <li><a href="https://github.com/a-trost"><strong>GitHub</strong></a></li> <li><a href="https://frontend.horse/"><strong>Frontend Horse Home Page</strong></a></li> <li><a href="https://twitter.com/FrontendHorse"><strong>Frontend Horse Twitter</strong></a></li> <li><a href="https://frontend.horse/chat"><strong>Frontend Horse Discord</strong></a></li> </ul><p><strong>Prismic</strong></p><ul> <li><a href="https://prismic.io/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/Prismicio"><strong>Twitter</strong></a></li> <li><a href="https://www.twitch.tv/prismicio"><strong>Twitch</strong></a></li> <li><a href="https://www.youtube.com/channel/UCJq6AEgtWeZt7ziQ-fLKOeA/"><strong>YouTube</strong></a></li> <li><a href="https://github.com/prismicio"><strong>GitHub</strong></a></li> <li><a href="https://www.slicemachine.dev/"><strong>Slice Machine</strong></a></li> </ul>

Show notes

Episode 54 - Bedrock Layout with Travis Waith-Mair

<p><strong><em>Travis Waith-Mair is the creator of Bedrock Layout, a CSS framework for layout primitives built on styled-components.</em></strong></p><p>In this episode we discuss the battle over CSS purity, Styled Components versus Emotion, and how to form a mental model around styling by using patterns for common layouts instead of technology.</p><p><strong>Travis Waith-Mair</strong></p><ul> <li><a href="https://twitter.com/travisWaithMair"><strong>Twitter</strong></a></li> <li><a href="https://github.com/Jarvis1010"><strong>GitHub</strong></a></li> <li><a href="https://non-traditional.dev/"><strong>Home Page</strong></a></li> </ul><p><strong>Bedrock Layout</strong></p><ul> <li><a href="https://bedrock-layout.dev/"><strong>Home Page</strong></a></li> <li><a href="https://github.com/Bedrock-Layouts/Bedrock"><strong>GitHub</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://www.newline.co/courses/composing-layouts-in-react"><strong>Composing Layouts in React</strong></a></li> <li><a href="https://reactroundup.com/composing-layouts-for-react-ft-travis-waith-mair-rru-156"><strong>React Round Up - Composing Layouts for React</strong></a></li> </ul>

Show notes

Episode 53 - Solid with Ryan Carniato

<p><strong><em>Ryan Carniato is the creator of Solid, a reactive JavaScript library for building user interfaces.</em></strong></p><p>In this episode we discuss the definition of reactive programming, the benefits of building a new framework on JSX, the usefulness of benchmarks, and the reckoning of single-page apps versus multi-page apps.</p><p><strong>Ryan Carniato</strong></p><ul> <li><a href="https://twitter.com/ryancarniato"><strong>Twitter</strong></a></li> <li><a href="https://github.com/ryansolid"><strong>GitHub</strong></a></li> <li><a href="https://dev.to/ryansolid"><strong>Blog</strong></a></li> </ul><p><strong>Solid</strong></p><ul> <li><a href="https://twitter.com/solid_js"><strong>Twitter</strong></a></li> <li><a href="https://github.com/solidjs/solid"><strong>GitHub</strong></a></li> <li><a href="https://www.solidjs.com/"><strong>Home Page</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://podrocket.logrocket.com/solidjs"><strong>SolidJS with Ryan Carniato</strong></a></li> <li><a href="https://levelup.gitconnected.com/finding-fine-grained-reactive-programming-89741994ddee"><strong>Finding Fine-Grained Reactive Programming</strong></a></li> <li><a href="https://markojs.com/"><strong>Marko</strong></a></li> <li><a href="https://github.com/BuilderIO/qwik"><strong>Qwik</strong></a></li> </ul>

Show notes

Episode 52 - Open Source Stacks with Ant Wilson

<p><strong><em>Ant Wilson is the CTO of Supabase, the open source Firebase alternative.</em></strong></p><p>In this episode we discuss the origins of Supabase, building workflows with Amazon's states language, encouraging open source contributions by building in public, and the future of online code editors.</p><p><strong>Ant Wilson</strong></p><ul> <li><a href="https://twitter.com/AntWilson"><strong>Twitter</strong></a></li> <li><a href="https://github.com/awalias"><strong>GitHub</strong></a></li> <li><a href="https://sg.linkedin.com/in/anthony-wilson-46179937"><strong>LinkedIn</strong></a></li> </ul><p><strong>Supabase</strong></p><ul> <li><a href="https://supabase.io/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/supabase_io"><strong>Twitter</strong></a></li> <li><a href="https://github.com/supabase/supabase"><strong>GitHub</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://supabase.io/blog/2021/03/30/supabase-storage"><strong>Storage is now available in Supabase</strong></a></li> <li><a href="https://supabase.io/blog/2021/04/02/supabase-workflows"><strong>Workflows are coming to Supabase</strong></a></li> <li><a href="https://supabase.io/blog/2021/03/11/using-supabase-replit"><strong>Using Supabase in Replit</strong></a></li> <li><a href="https://codesandbox.io/post/codesandbox-acquires-playjs"><strong>Announcing CodeSandbox has Acquired Play.js, a Native JavaScript IDE for iOS</strong></a></li> </ul>

Show notes

Episode 51 - Storyblok with Facundo Giuliani

<p><strong><em>Facundo Giuliani is a Developer Relations Engineer at Storyblok.</em></strong></p><p>In this episode we discuss the role of a developer relations engineer, the benefits of a headless CMS with a visual editor, and how to enable collaboration between developers and content creators.</p><p><strong>Facundo Giuliani</strong></p><ul> <li><a href="https://fgiuliani.com/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/facundozurdo"><strong>Twitter</strong></a></li> <li><a href="https://github.com/fgiuliani"><strong>GitHub</strong></a></li> <li><a href="https://www.linkedin.com/in/facundogiuliani/"><strong>LinkedIn</strong></a></li> </ul><p><strong>Storyblok</strong></p><ul> <li><a href="https://www.storyblok.com/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/storyblok"><strong>Twitter</strong></a></li> <li><a href="https://github.com/storyblok"><strong>GitHub</strong></a></li> </ul>

Show notes

Episode 50 - One Year Later

<p><strong><em>Our hosts reconvene for the one year anniversary of the Fullstack Jamstack podcast to discuss the current state of FSJam and its future.</em></strong></p><p><strong>Links</strong></p><ul> <li><a href="https://nextjs.org/blog/next-12"><strong>Next.js 12</strong></a></li> <li><a href="https://swc.rs/"><strong>swc</strong></a></li> <li><a href="https://parceljs.org/blog/beta3/"><strong>Parcel 2 Beta 3</strong></a></li> <li><a href="https://deno.land/"><strong>Deno.land</strong></a></li> <li><a href="https://nextjs.org/docs/api-reference/next.config.js/url-imports"><strong>URL imports</strong></a></li> <li><a href="https://github.com/faisalman/ua-parser-js/issues/536"><strong>Compromised npm packages of ua-parser-js</strong></a></li> <li><a href="https://nextjs.org/docs/advanced-features/react-18"><strong>React 18 and Next.js</strong></a></li> <li><a href="https://beta.reactjs.org/"><strong>React Docs Beta</strong></a></li> <li><a href="https://github.com/reactwg/react-18"><strong>React 18 Working Group</strong></a></li> <li><a href="https://dev.to/ajcwebdev/a-first-look-at-react-18-with-vite-and-netlify-5411"><strong>A First Look at React 18 with Vite and Netlify</strong></a></li> <li><a href="https://vercel.com/features/edge-functions"><strong>Vercel Edge Functions</strong></a></li> <li><a href="https://vercel.com/docs/concepts/functions/edge-functions#middleware"><strong>Next.js Middleware</strong></a></li> <li><a href="https://www.netlify.com/products/edge/edge-handlers/"><strong>Netlify Edge Handlers</strong></a></li> <li><a href="https://github.com/lukeed/worktop"><strong>Worktop</strong></a></li> <li><a href="https://planetscale.com/"><strong>PlanetScale</strong></a></li> <li><a href="https://www.cockroachlabs.com/blog/announcing-cockroachdb-serverless/"><strong>CockroachDB Serverless</strong></a></li> <li><a href="https://fly.io/"><strong>Fly</strong></a></li> <li><a href="https://www.prisma.io/docs/guides/deployment/deployment-guides/deploying-to-cloudflare-workers"><strong>Deploying Prisma Client to Cloudflare Workers</strong></a></li> <li><a href="https://kentcdodds.com/blog/how-i-built-a-modern-website-in-2021"><strong>How I Built a Modern Website in 2021 by Kent C Dodds</strong></a></li> <li><a href="https://flightcontrol.dev/"><strong>Flightcontrol</strong></a></li> <li><a href="https://github.com/WebstoneHQ/webstone"><strong>Webstone</strong></a></li> <li><a href="https://dev.to/ajcwebdev/a-first-look-at-nuxt-3-1769"><strong>A First Look at Nuxt 3</strong></a></li> </ul>

Show notes

Episode 49 - Slinkity with Ben Holmes

<p><strong><em>Ben Holmes is the creator of Slinkity, a framework that uses Vite to bring dynamic, client side interactions to your static 11ty sites.</em></strong></p><p>In this episode we discuss the origins of Slinkity, the two competing camps of website generators, migrating from Snowpack to Vite, and how to combine JSX and Markdown.</p><p><strong>Ben Holmes</strong></p><ul> <li><a href="https://twitter.com/bholmesdev"><strong>Twitter</strong></a></li> <li><a href="https://github.com/bholmesdev"><strong>GitHub</strong></a></li> <li><a href="https://bholmes.dev/"><strong>Blog</strong></a></li> </ul><p><strong>Slinkity</strong></p><ul> <li><a href="https://slinkity.dev/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/slinkitydotdev"><strong>Twitter</strong></a></li> <li><a href="https://github.com/slinkity/slinkity"><strong>GitHub</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://dev.to/ajcwebdev/a-first-look-at-slinkity-3ig"><strong>A First Look at Slinkity</strong></a></li> <li><a href="https://www.youtube.com/watch?v=fiqhXjatC7g"><strong>Introducing Slinkity - the SSG that grows with you (powered by 11ty)</strong></a></li> <li><a href="https://www.youtube.com/watch?v=CyTHEh2yyr8"><strong>Partial Hydration: Making the Static Interactive</strong></a></li> <li><a href="https://www.youtube.com/watch?v=DqUGJyuX8m0"><strong>Unlock component-driven web pages with Slinkity</strong></a></li> <li><a href="https://www.smashingmagazine.com/2021/10/building-ssg-11ty-vite-jam-sandwich/"><strong>Building The SSG I’ve Always Wanted: An 11ty, Vite And JAM Sandwich</strong></a></li> <li><a href="https://developer.chrome.com/blog/shared-element-transitions-for-spas/"><strong>Smooth and simple page transitions with the shared element transition API</strong></a></li> </ul>

Show notes

Episode 48 - Astro with Fred Schott

<p><strong><em>Fred K. Schott is the creator of Astro, Snowpack, and Skypack.</em></strong></p><p>In this episode we discuss the lasting influence of the Pika project, whether ES Modules have gone mainstream yet, current approaches to bundling, and the benefits of implementing the islands architecture with partial hydration.</p><p><strong>Fred Schott</strong></p><ul> <li><a href="https://twitter.com/FredKSchott"><strong>Twitter</strong></a></li> <li><a href="https://github.com/FredKSchott"><strong>GitHub</strong></a></li> <li><a href="https://dev.to/fredkschott"><strong>Blog</strong></a></li> </ul><p><strong>Astro</strong></p><ul> <li><a href="https://twitter.com/astrodotbuild"><strong>Twitter</strong></a></li> <li><a href="https://github.com/snowpackjs/astro"><strong>GitHub</strong></a></li> <li><a href="https://astro.build/"><strong>Home Page</strong></a></li> </ul><p><strong>Snowpack</strong></p><ul> <li><a href="https://twitter.com/snowpackjs"><strong>Twitter</strong></a></li> <li><a href="https://github.com/snowpackjs"><strong>GitHub</strong></a></li> <li><a href="https://www.snowpack.dev/"><strong>Home Page</strong></a></li> </ul><p><strong>Skypack</strong></p><ul> <li><a href="https://twitter.com/skypackjs"><strong>Twitter</strong></a></li> <li><a href="https://github.com/skypackjs"><strong>GitHub</strong></a></li> <li><a href="https://www.skypack.dev/"><strong>Home Page</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://github.com/snowpackjs/pack/blob/e75333c0966df98d05fa8b491ae70f1755a0100a/README.md"><strong>Original Pika Pack README</strong></a></li> <li><a href="https://www.pika.dev/blog/introducing-pika-pack/"><strong>Introducing @pika/pack</strong></a></li> <li><a href="https://dev.to/pika/a-future-without-webpack-ago"><strong>A Future Without Webpack</strong></a></li> <li><a href="https://dev.to/pika/introducing-pika-cdn-deno-p8b"><strong>Introducing: Pika CDN + Deno</strong></a></li> <li><a href="https://astro.build/blog/introducing-astro/"><strong>Introducing Astro: Ship Less JavaScript</strong></a></li> <li><a href="https://docs.astro.build/core-concepts/component-hydration/"><strong>Partial Hydration in Astro</strong></a></li> <li><a href="https://jasonformat.com/islands-architecture/"><strong>Islands Architecture</strong></a></li> <li><a href="https://dev.to/fredkschott/5-things-i-learned-while-building-snowpack-to-20-000-stars-b9d"><strong>5 Things I Learned Building Snowpack to 20,000 Stars</strong></a></li> <li><a href="https://dev.to/fredkschott/5-more-things-i-learned-building-snowpack-to-20-000-stars-5dc9"><strong>6 More Things I Learned Building Snowpack to 20,000 Stars</strong></a></li> </ul>

Show notes

Episode 47 - Podrocket with Kate Trahan

<p><strong><em>Kate Trahan is the host and producer of Podrocket, the podcast for Logrocket.</em></strong></p><p>In this episode we discuss the origins of our respective podcasts, podcasts that inspired us, the processes involved in podcast production, and the industry trends we've observed over the previous year.</p><p><strong>Kate Trahan</strong></p><ul> <li><a href="https://twitter.com/katerade4"><strong>Twitter</strong></a></li> <li><a href="https://www.linkedin.com/in/kate-trahan"><strong>LinkedIn</strong></a></li> </ul><p><strong>Podrocket</strong></p><ul> <li><a href="https://podrocket.logrocket.com/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/podrocketpod"><strong>Twitter</strong></a></li> </ul>

Show notes

Episode 46 - Layer0 with Ishan Anand and Mark Brocato

<p><strong><em>Ishan Anand (CTO) and Mark Brocato (VP of Engineering) join us to talk about Layer0, a Jamstack platform for managing and running your web applications.</em></strong></p><p>In this episode we discuss the origins of Layer0, the definition of Application Operations, the power of CDNs, parallel static rendering, and the potential future of Jamstack without static techniques.</p><p><strong>Ishan Anand</strong></p><ul> <li><a href="https://twitter.com/ianand"><strong>Twitter</strong></a></li> <li><a href="https://www.linkedin.com/in/ishananand/"><strong>LinkedIn</strong></a></li> <li><a href="https://github.com/ianand"><strong>GitHub</strong></a></li> </ul><p><strong>Mark Brocato</strong></p><ul> <li><a href="https://ee.linkedin.com/in/markbrocato"><strong>LinkedIn</strong></a></li> <li><a href="https://github.com/markbrocato"><strong>GitHub</strong></a></li> </ul><p><strong>Layer0</strong></p><ul> <li><a href="https://www.layer0.co/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/Layer0Deploy"><strong>Twitter</strong></a></li> <li><a href="https://github.com/layer0-docs"><strong>GitHub</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://www.javascriptjam.com/"><strong>JavaScript Jam</strong></a></li> <li><a href="https://cfe.dev/sessions/jamstack-identity-crisis/"><strong>The Evolution of Jamstack</strong></a></li> <li><a href="https://www.layer0.co/edgejs"><strong>EdgeJS</strong></a></li> <li><a href="https://docs.layer0.co/"><strong>Layer0 Starters</strong></a></li> <li><a href="https://www.layer0.co/rum"><strong>Real User Monitoring</strong></a></li> </ul>

Show notes

Episode 45 - Cloudinary with Tessa Mero

<p><strong><em>Tessa Mero is the Director of Developer Advocacy at Cloudinary.</em></strong></p><p>In this episode we discuss the usefulness of media APIs, the connection between teaching and developer advocacy, and how to manage code content.</p><p><strong>Tessa Mero</strong></p><ul> <li><a href="https://twitter.com/TessaMero"><strong>Twitter</strong></a></li> <li><a href="https://www.linkedin.com/in/tessamero/"><strong>LinkedIn</strong></a></li> </ul><p><strong>Cloudinary</strong></p><ul> <li><a href="https://cloudinary.com/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/cloudinary"><strong>Twitter</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://www.heavybit.com/library/podcasts/jamstack-radio/ep-76-growing-alongside-jamstack-communities-with-tessa-mero-of-cloudinary/"><strong>Growing Alongside Jamstack Communities with Tessa Mero of Cloudinary</strong></a></li> <li><a href="https://cloudinary.com/mde"><strong>Media Developer Experts Program</strong></a></li> <li><a href="https://cloudinary.com/blog/media_jamstack_mediajams_a_free_community_tool_for_finding_sample_code_for_media"><strong>Media + Jamstack = MediaJams</strong></a></li> <li><a href="https://www.storefrontui.io/"><strong>Storefront UI</strong></a></li> <li><a href="https://blog.vuestorefront.io/cloudinary-and-vue-storefront-join-forces-to-make-your-ecommerce-fast-and-flawless-as-it-should-be/"><strong>Cloudinary and Vue Storefront join forces</strong></a></li> <li><a href="https://discord.gg/mediadevs"><strong>Media Devs Discord</strong></a></li> <li><a href="https://www.meetup.com/jamstack-sf/"><strong>Jamstack SF</strong></a></li> </ul>

Show notes

Episode 44 - Hypercomplexity with Aldo Bucchi

<p><strong><em>Aldo Bucchi, the creator of Lambdragon, joins us to discuss the death of simplicity, the rise of hypercomplexity, and potential solutions for resurrecting it.</em></strong></p><p><strong>Aldo Bucchi</strong></p><ul> <li><a href="https://twitter.com/aldonline"><strong>Twitter</strong></a></li> <li><a href="https://www.linkedin.com/in/aldobucchi/"><strong>LinkedIn</strong></a></li> </ul><p><strong>Lambdragon</strong></p><ul> <li><a href="https://www.lambdragon.com/"><strong>Home Page</strong></a></li> <li><a href="https://www.youtube.com/watch?v=eUgKGIcrhE0"><strong>Lambdragon and the future of Self Provisioning Runtimes</strong></a></li> <li><a href="https://www.swyx.io/self-provisioning-runtime/"><strong>The Self Provisioning Runtime</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://wallabyjs.com/"><strong>Wallaby.js</strong></a></li> <li><a href="https://quokkajs.com/"><strong>Quokka.js</strong></a></li> <li><a href="https://bazel.build/"><strong>Bazel</strong></a></li> <li><a href="https://www.pantsbuild.org/"><strong>Pants</strong></a></li> </ul>

Show notes

Episode 43 - Lambdragon with Aldo Bucchi

<p><strong><em>Aldo Bucchi is the creator of Lambdragon, a pure code TypeScript platform and build tool that fights complexity with fire.</em></strong></p><p>In this episode we define the term "pure code platform" and explain the problem it is solving.</p><p><strong>Aldo Bucchi</strong></p><ul> <li><a href="https://twitter.com/aldonline"><strong>Twitter</strong></a></li> <li><a href="https://www.linkedin.com/in/aldobucchi/"><strong>LinkedIn</strong></a></li> </ul><p><strong>Lambdragon</strong></p><ul> <li><a href="https://www.lambdragon.com/"><strong>Home Page</strong></a></li> <li><a href="https://www.youtube.com/watch?v=eUgKGIcrhE0"><strong>Lambdragon and the future of Self Provisioning Runtimes</strong></a></li> <li><a href="https://www.swyx.io/self-provisioning-runtime/"><strong>The Self Provisioning Runtime</strong></a></li> </ul>

Show notes

Episode 42 - Docusaurus with Sebastien Lorber

<p><strong><em>Sebastien Lorber is an open source developer and maintainer of Docusaurus.</em></strong></p><p>In this episode we discuss the impetus for the project's creation, the development of the second major version, its relation to other React frameworks, and the process of migrating a large documentation website from version 1 to version 2.</p><p><strong>Sebastien Lorber</strong></p><ul> <li><a href="https://twitter.com/sebastienlorber"><strong>Twitter</strong></a></li> <li><a href="https://github.com/slorber"><strong>GitHub</strong></a></li> <li><a href="https://sebastienlorber.com/"><strong>Home Page</strong></a></li> </ul><p><strong>Docusaurus</strong></p><ul> <li><a href="https://docusaurus.io/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/docusaurus"><strong>Twitter</strong></a></li> <li><a href="https://github.com/facebook/docusaurus"><strong>GitHub</strong></a></li> </ul>

Show notes

Episode 41 - UserVitals with Tharshan Muthulingam

<p><strong><em>Tharshan Muthulingam is the founder of UserVitals, an all-in-one tool for feedback management and product development.</em></strong></p><p>In this episode we discuss the need for strong feedback loops between customers, support, and engineers, techniques for strengthening that feedback loop, and the technical implementation of running a user facing Redwood application in production.</p><p><strong>Tharshan Muthulingam</strong></p><ul> <li><a href="https://twitter.com/tharshan_09"><strong>Twitter</strong></a></li> <li><a href="https://www.linkedin.com/in/tharshan09/"><strong>LinkedIn</strong></a></li> </ul><p><strong>UserVitals</strong></p><ul> <li><a href="https://www.uservitalshq.com/"><strong>Home Page</strong></a></li> <li><a href="https://www.producthunt.com/posts/uservitals"><strong>Product Hunt</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://www.youtube.com/watch?v=bp02zINrYuw&t=2177s"><strong>UserVitals Demo: RedwoodJS Meetup</strong></a></li> <li><a href="https://community.redwoodjs.com/t/just-launched-a-product-with-redwood-built-the-mvp-in-under-2-weeks/1465"><strong>Just Launched a Product with Redwood</strong></a></li> <li><a href="https://github.com/contribsys/faktory"><strong>Faktory</strong></a></li> <li><a href="https://prerender.io/"><strong>Prerender.io</strong></a></li> <li><a href="https://github.com/stereobooster/react-snap"><strong>React-snap</strong></a></li> </ul>

Show notes

Episode 40 - Redux Toolkit with Mark Erikson

<p><strong><em>Mark Erikson is the lead maintainer of Redux and an internet cartoon character.</em></strong></p><p>In this episode we discuss conventions for simplifying state management with Redux, the challenges of learning Redux for a beginner to React, and the new data fetching functionality introduced by RTK Query.</p><p><strong>Mark Erikson</strong></p><ul> <li><a href="https://twitter.com/acemarke"><strong>Twitter</strong></a></li> <li><a href="https://github.com/markerikson"><strong>GitHub</strong></a></li> <li><a href="https://blog.isquaredsoftware.com/"><strong>Blog</strong></a></li> <li><a href="https://stackoverflow.com/users/62937/markerikson"><strong>Stack Overflow</strong></a></li> <li><a href="https://www.reddit.com/user/acemarke/"><strong>Reddit</strong></a></li> </ul><p><strong>Redux Toolkit</strong></p><ul> <li><a href="https://redux-toolkit.js.org/"><strong>Home Page</strong></a></li> <li><a href="https://github.com/reduxjs/redux-toolkit"><strong>GitHub</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://changelog.com/jsparty/146"><strong>Redux is definitely NOT dead</strong></a></li> <li><a href="https://podcast.newline.co/episodes/redux-in-2020-with-mark-erikson-acemarke"><strong>Redux in 2020 with Mark Erikson</strong></a></li> <li><a href="https://podrocket.logrocket.com/redux"><strong>Redux is alive and well with Mark Erikson</strong></a></li> <li><a href="https://redux.js.org/introduction/getting-started"><strong>Getting Started with Redux</strong></a></li> <li><a href="https://github.com/immerjs/immer"><strong>Immer</strong></a></li> <li><a href="https://www.learnwithjason.dev/lets-learn-esbuild"><strong>Let's Learn esbuild!</strong></a></li> </ul>

Show notes

Episode 39 - Blockchain with Noah Hein

<p><strong><em>Noah Hein is a Fullstack Web Developer and Technical Content Editor at QuickNode.</em></strong></p><p>In this episode we discuss how to get started learning blockchain technology, the perfect use case for a blockchain, societal differences between different blockchain philosophies, and how to create a Hello World blockchain program.</p><p><strong>Noah Hein</strong></p><ul> <li><a href="https://twitter.com/NHeinDev/"><strong>Twitter</strong></a></li> <li><a href="https://dev.to/nheindev"><strong>Blog</strong></a></li> </ul><p><strong>Quicknode</strong></p><ul> <li><a href="https://www.quicknode.com/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/QuickNode"><strong>Twitter</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://bitcoin.org/en/"><strong>Bitcoin</strong></a></li> <li><a href="https://ethereum.org/en/"><strong>Ethereum</strong></a></li> <li><a href="https://dev.to/nheindev/build-the-hello-world-of-blockchain-in-go-bli"><strong>Building a Blockchain in Go</strong></a></li> <li><a href="https://medium.com/coinmonks/using-redwoodjs-to-create-an-ethereum-app-8c385815b717"><strong>Using RedwoodJS to create an Ethereum app</strong></a></li> </ul>

Show notes

Episode 38 - Learn with Jason Lengstorf

<p><strong><em>Jason Lengstorf is the VP of Developer Experience at Netlify and the host of Learn with Jason.</em></strong></p><p>In this episode we discuss the dangers of hustle culture, nascent attempts at building GraphQL gateways for microservices, how to turn a joy of learning into a secret weapon for career advancement, the difference between developer advocacy and developer experience engineering, and objective key results for DX engineering.</p><p><strong>Jason Lengstorf</strong></p><ul> <li><a href="https://twitter.com/jlengstorf"><strong>Twitter</strong></a></li> <li><a href="https://github.com/jlengstorf"><strong>GitHub</strong></a></li> <li><a href="https://www.linkedin.com/in/jlengstorf/"><strong>LinkedIn</strong></a></li> <li><a href="https://www.jason.af/"><strong>Jason.af</strong></a></li> <li><a href="https://www.lengstorf.com/"><strong>Lengstorf.com</strong></a></li> </ul><p><strong>Learn with Jason</strong></p><ul> <li><a href="https://www.twitch.tv/jlengstorf"><strong>Twitch</strong></a></li> <li><a href="https://www.learnwithjason.dev/"><strong>Home Page</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://github.com/gramps-graphql/gramps"><strong>GrAMPS</strong></a></li> <li><a href="https://www.learnwithjason.dev/let-s-learn-redwoodjs"><strong>Let's Learn RedwoodJS with Anthony Campolo</strong></a></li> <li><a href="https://www.learnwithjason.dev/serverless-graphql-with-hasura"><strong>Serverless GraphQL with Hasura with Christian Nwamba</strong></a></li> <li><a href="https://www.learnwithjason.dev/build-a-portfolio-site-with-sanity-io-and-gatsby"><strong>Build a Portfolio Site with Sanity.io and Gatsby with Espen Hovlandsdal</strong></a></li> <li><a href="https://www.youtube.com/watch?v=NPnCz-hVQ-s"><strong>Visual Testing Using Cypress and Applitools with Angie Jones</strong></a></li> <li><a href="https://explorers.netlify.com/"><strong>Jamstack Explorers</strong></a></li> </ul>

Show notes

Episode 37 - Talking Serverless with Josh Proto

<p><strong><em>Josh Proto is the COO of Serverless Guru, Co-host of the Talking Serverless Podcast, and an AWS Community Builder.</em></strong></p><p>In this episode we discuss how to retool yourself for a serverless world, the value of technical conversations, how to grapple with cold starts, and the promise of edge native cloud functions.</p><p><strong>Josh Proto</strong></p><ul> <li><a href="https://twitter.com/serverlessjosh"><strong>Twitter</strong></a></li> <li><a href="https://www.linkedin.com/in/joshua-proto-2305041a/"><strong>LinkedIn</strong></a></li> </ul><p><strong>Serverless Guru</strong></p><ul> <li><a href="https://serverlessguru.com/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/serverlessguru"><strong>Twitter</strong></a></li> </ul><p><strong>Talking Serverless</strong></p><ul> <li><a href="https://www.talkingserverless.io/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/talkingsls"><strong>Twitter</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://docs.aws.amazon.com/lambda/latest/operatorguide/monolith.html"><strong>The Lambda Monolith</strong></a></li> <li><a href="https://aws.amazon.com/lambda/edge/"><strong>Lambda@Edge</strong></a></li> <li><a href="https://www.serverless.com/"><strong>Serverless Framework</strong></a></li> <li><a href="https://aws.amazon.com/cdk/"><strong>AWS Cloud Development Kit</strong></a></li> <li><a href="https://aws.amazon.com/serverless/sam/"><strong>AWS Serverless Application Model</strong></a></li> <li><a href="https://aws.amazon.com/amplify/"><strong>AWS Amplify</strong></a></li> <li><a href="https://arc.codes/docs/en/guides/get-started/quickstart"><strong>Architect</strong></a></li> <li><a href="https://www.terraform.io/"><strong>Terraform</strong></a></li> <li><a href="https://www.pulumi.com/"><strong>Pulumi</strong></a></li> <li><a href="https://www.fastly.com/blog/summary-of-june-8-outage"><strong>Fastly Summary of June 8 Outage</strong></a></li> </ul>

Show notes

Episode 36 - Is React a Rails Competitor Yet with Michael Chan

<p><strong><em>Michael Chan is the host of React Podcast, creator of lunch.dev, and maintainer of the React Podcast Discord.</em></strong></p><p>In this episode we discuss the importance of online learning communities, when to pivot away from React, the long awaited Concurrent Mode, shortcomings of Create React App, the challenges of learning React in a post-hooks world, and why you should build a hundred components.</p><p><strong>Michael Chan</strong></p><ul> <li><a href="https://twitter.com/chantastic"><strong>Twitter</strong></a></li> <li><a href="https://github.com/chantastic"><strong>GitHub</strong></a></li> <li><a href="https://reactpodcast.simplecast.com/"><strong>React Podcast</strong></a></li> <li><a href="https://chan.dev/posts/"><strong>Blog</strong></a></li> <li><a href="https://www.youtube.com/c/chantastic"><strong>YouTube</strong></a></li> </ul><p><strong>lunch.dev</strong></p><ul> <li><a href="https://discord.gg/dx7ZWCy"><strong>Discord</strong></a></li> <li><a href="https://www.lunch.dev/"><strong>Home Page</strong></a></li> <li><a href="https://events.lunch.dev/"><strong>events.lunch.dev</strong></a></li> <li><a href="https://github.com/LunchDevCommunity/"><strong>Lunch.dev Community</strong></a></li> <li><a href="https://www.youtube.com/channel/UCB5V77aiP0pz7RVbfQrbr7Q/"><strong>YouTube</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://fullstackradio.com/136"><strong>React Is Not a Rails Competitor</strong></a></li> <li><a href="https://spec.fm/podcasts/reactpodcast/6_mirYS8"><strong>Tom Preston-Werner on RedwoodJS</strong></a></li> </ul><p><strong><em>Note: In the time since this episode was recorded Michael has joined the newly formed </em></strong><a href="https://github.com/reactwg/react-18"><strong><em>React 18 Working Group</em></strong></a><strong><em>.</em></strong></p>

Show notes

Episode 35 - Bit with Debbie O'Brien

<p><strong><em>Debbie O'Brien is the Head Developer Advocate at Bit.</em></strong></p><p>In this episode we discuss workflows to enable sharing components across large codebases, how to make reusable frontend code, and techniques for navigating digital work environments.</p><p><strong>Debbie O'Brien</strong></p><ul> <li><a href="https://debbie.codes/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/debs_obrien"><strong>Twitter</strong></a></li> <li><a href="https://github.com/debs-obrien"><strong>GitHub</strong></a></li> <li><a href="https://www.youtube.com/c/DebbieOBrien"><strong>YouTube</strong></a></li> <li><a href="https://www.twitch.tv/debs_obrien"><strong>Twitch</strong></a></li> <li><a href="https://www.linkedin.com/in/debbie-o-brien-1a199975/"><strong>LinkedIn</strong></a></li> </ul><p><strong>Bit</strong></p><ul> <li><a href="https://bit.dev/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/bitdev_"><strong>Twitter</strong></a></li> <li><a href="https://github.com/teambit"><strong>GitHub</strong></a></li> </ul>

Show notes

Episode 34 - Echobind with Jenn Robison

<p><strong><em>Jenn Robison is the Director of Engineering at Echobind, a full service digital agency.</em></strong></p><p>In this episode we discuss similarities and differences between popular JavaScript frameworks, opportunities for exploring new technology presented by a fast paced agency, the potential for a universal runtime with React Native and Expo, and when to eject from a framework.</p><p><strong>Jenn Robison</strong></p><ul> <li><a href="https://twitter.com/_codejenn"><strong>Twitter</strong></a></li> <li><a href="https://github.com/cmejet"><strong>GitHub</strong></a></li> <li><a href="https://www.linkedin.com/in/jennifer-robison/"><strong>LinkedIn</strong></a></li> <li><a href="https://medium.com/@cmejet"><strong>Blog</strong></a></li> </ul><p><strong>Echobind</strong></p><ul> <li><a href="https://echobind.com/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/echobind"><strong>Twitter</strong></a></li> <li><a href="https://github.com/echobind"><strong>GitHub</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://github.com/echobind/react-native-template"><strong>react-native-template</strong></a></li> <li><a href="https://expo.io/"><strong>Expo</strong></a></li> <li><a href="https://github.com/necolas/react-native-web"><strong>React Native Web</strong></a></li> <li><a href="https://github.com/microsoft/react-native-windows"><strong>React Native Windows</strong></a></li> <li><a href="https://github.com/microsoft/react-native-macos"><strong>React Native MacOS</strong></a></li> <li><a href="https://github.com/echobind/bisonapp"><strong>Bison</strong></a></li> <li><a href="https://responsively.app/"><strong>Responsively</strong></a></li> <li><a href="https://sizzy.co/"><strong>Sizzy</strong></a></li> <li><a href="https://www.youtube.com/watch?v=q2hmTMORMHc"><strong>E2E testing in React Native with Jenn Robison</strong></a></li> </ul>

Show notes

Episode 33 - Supabase with Paul Copplestone

<p><strong><em>Paul Copplestone is the CEO and Co-Founder of Supabase, a PostgreSQL hosting provider for developers.</em></strong></p><p>In this episode we discuss building an open source alternative to Firebase, the architecture and open source tools underlying the Supabase platform, how companies can help push contributions back upstream, and the inherent trade off between velocity and stability among open source and closed source projects.</p><p><strong>Paul Copplestone</strong></p><ul> <li><a href="https://twitter.com/kiwicopple"><strong>Twitter</strong></a></li> <li><a href="https://github.com/kiwicopple"><strong>GitHub</strong></a></li> <li><a href="https://www.linkedin.com/in/paulcopplestone/"><strong>LinkedIn</strong></a></li> </ul><p><strong>Supabase</strong></p><ul> <li><a href="https://supabase.io/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/supabase_io"><strong>Twitter</strong></a></li> <li><a href="https://github.com/supabase/supabase"><strong>GitHub</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://softwareengineeringdaily.com/2020/10/15/supabase-open-source-firebase-with-paul-copplestone/"><strong>Supabase: Open Source Firebase with Paul Copplestone</strong></a></li> <li><a href="https://www.youtube.com/watch?v=PHmiWXDx9-w"><strong>Contribute to Supabase - The open source Firebase alternative</strong></a></li> <li><a href="https://techcrunch.com/2020/12/15/supabase-raises-6m-for-its-open-source-firebase-alternative/"><strong>Supabase raises $6M for its open-source Firebase alternative</strong></a></li> <li><a href="https://community.redwoodjs.com/t/supabase-redwood-experiments/1088"><strong>Supabase Redwood Experiments</strong></a></li> <li><a href="https://www.pgadmin.org"><strong>pgAdmin</strong></a></li> <li><a href="https://github.com/netlify/gotrue"><strong>GoTrue</strong></a></li> <li><a href="https://postgrest.org/en/stable/"><strong>PostgREST</strong></a></li> <li><a href="https://www.pgbouncer.org/"><strong>PgBouncer</strong></a></li> <li><a href="https://github.com/supabase/realtime"><strong>Realtime</strong></a></li> <li><a href="https://www.phoenixframework.org/"><strong>Phoenix</strong></a></li> <li><a href="https://elixir-lang.org/"><strong>Elixir</strong></a></li> <li><a href="https://en.wikipedia.org/wiki/Erlang_(programming_language)"><strong>Erlang</strong></a></li> <li><a href="https://konghq.com/"><strong>Kong</strong></a></li> </ul>

Show notes

Episode 32 - The Guild with Uri Goldshtein

<p><strong><em>Uri Goldshtein is the founder of The Guild, a group of open source developers where each library is under a person’s name, not under The Guild organization on GitHub.</em></strong></p><p>In this episode we discuss translating alternative API specifications into GraphQL with GraphQL Mesh, the benefits of using a GraphQL gateway, extending the ecosystem with Helix, Hive, and Envelop, and unconventional approaches to sustaining open source development.</p><p><strong>Uri Goldshtein</strong></p><ul> <li><a href="https://github.com/Urigo"><strong>GitHub</strong></a></li> <li><a href="https://twitter.com/urigoldshtein"><strong>Twitter</strong></a></li> </ul><p><strong>The Guild</strong></p><ul> <li><a href="https://the-guild.dev/"><strong>Home Page</strong></a></li> <li><a href="https://github.com/the-guild-org"><strong>GitHub</strong></a></li> <li><a href="https://twitter.com/TheGuildDev"><strong>Twitter</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://www.graphql-mesh.com/"><strong>GraphQL Mesh</strong></a></li> <li><a href="https://github.com/Urigo/SOFA"><strong>GraphQL SOFA</strong></a></li> <li><a href="https://github.com/contrawork/graphql-helix"><strong>GraphQL Helix</strong></a></li> <li><a href="https://github.com/dotansimha"><strong>Dotan Simha</strong></a></li> <li><a href="https://github.com/dotansimha/envelop"><strong>Envelop</strong></a></li> <li><a href="https://graphql-hive.com/"><strong>GraphQL Hive</strong></a></li> <li><a href="https://github.com/graphql/graphiql"><strong>GraphiQL</strong></a></li> <li><a href="https://github.com/graphql/graphql-playground"><strong>GraphQL Playground</strong></a></li> <li><a href="https://altair.sirmuel.design"><strong>Altair</strong></a></li> <li><a href="https://softwareengineeringdaily.com/2015/07/28/meteor-js-with-uri-goldshtein/"><strong>Meteor.js with Uri Goldshtein</strong></a></li> </ul>

Show notes

Episode 31 - Fullstack Accessibility with Ben Myers

<p><strong><em>Ben Myers is a web developer, accessibility advocate, and human T-rex. He is also the host of Some Antics, a weekly educational livestream.</em></strong></p><p>In this episode we discuss the processes that lead to inaccessible websites, the mental models fullstack developers need to build accessible websites, the tools they can leverage to improve their site's accessibility, how to keep a healthy skepticism towards accessibility focused products, and the necessity of centering accessibility efforts on the experiences of disabled users.</p><p><strong>Ben Myers</strong></p><ul> <li><a href="https://www.twitch.tv/SomeAnticsDev"><strong>Some Antics</strong></a></li> <li><a href="https://benmyers.dev/"><strong>Website</strong></a></li> <li><a href="https://twitter.com/BenDMyers"><strong>Twitter</strong></a></li> <li><a href="https://github.com/BenDMyers"><strong>GitHub</strong></a></li> <li><a href="https://www.linkedin.com/in/BenDMyers/"><strong>LinkedIn</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://www.youtube.com/watch?v=ois3P63Yiwc"><strong>Putting RedwoodJS Docs to the Test</strong></a></li> <li> <a href="https://en.wikipedia.org/wiki/JAWS_(screen_reader)"><strong>JAWS</strong></a><strong> - </strong><a href="https://www.freedomscientific.com/products/software/jaws/"><strong>Website</strong></a> </li> <li> <a href="https://en.wikipedia.org/wiki/NonVisual_Desktop_Access"><strong>NVDA</strong></a><strong> - </strong><a href="https://www.nvaccess.org/about-nvda/"><strong>Website</strong></a> </li> <li> <a href="https://en.wikipedia.org/wiki/VoiceOver"><strong>VoiceOver</strong></a><strong> - </strong><a href="https://www.apple.com/accessibility/vision/"><strong>Website</strong></a> </li> <li><a href="https://www.deque.com/axe/"><strong>axe DevTools</strong></a></li> <li><a href="https://github.com/dequelabs/axe-core"><strong>axe-core</strong></a></li> <li><a href="https://www.deque.com/axe-con/"><strong>axe-con</strong></a></li> <li><a href="https://design-system.service.gov.uk/components/details/"><strong>GOV.UK Design System</strong></a></li> <li><a href="https://github.com/govuk-react/govuk-react"><strong>GOVUK-react</strong></a></li> <li><a href="https://v2.grommet.io"><strong>Grommet</strong></a></li> <li><a href="https://web.dev/accessibility-scoring/"><strong>Lighthouse accessibility scoring</strong></a></li> <li><a href="https://web.dev/lighthouse-accessibility/"><strong>Lighthouse accessibility audits</strong></a></li> <li><a href="https://accessibility.deque.com/hubfs/Accessibility-Coverage-Report.pdf"><strong>The Automated Accessibility Coverage Report</strong></a></li> <li><a href="https://webaim.org/"><strong>Web Accessibility in Mind (WebAIM)</strong></a></li> <li><a href="https://www.deque.com/"><strong>Deque Systems</strong></a></li> <li><a href="https://www.a11yproject.com"><strong>The A11Y Project</strong></a></li> </ul><p><strong>Anthony</strong><br>Ben Myers, welcome to the show. </p><p><strong>Ben</strong><br>Howdy. Howdy. It's good to be here. </p><p><strong>Anthony</strong><br>Why don't you introduce yourself to our guests and let us know who you are and what you do?</p><p><strong>Ben</strong><br>Absolutely. My name is Ben. I've been doing web development full time for nearly three years now. I try to be a force in the community for accessibility advocacy. Web accessibility is a big passion of mine, I like to blog about it. Recently I've started a weekly Twitch stream where I bring on guests and they teach me something about web development, core web tech and/or accessibility. So if you've seen me around, that's likely why.</p><p><strong>Anthony<br></strong>We've gotten to know each other through the React Podcast Discord, we actually just talked with Chan yesterday. You have now spun off your Twitch channel, Some Antics, which I really like I think that's a really great name for an accessibility channel.</p><p>I was really excited that you were doing it because we had already been talking about doing some sort of accessibility themed stream for RedwoodJS. We got to do that for Some Antics and I had a great time. I would love to hear a little bit about who your influences were in terms of creating it. I kind of have an idea, but I think our listeners would find it interesting.</p><p><strong>Ben</strong><br>So in terms of that stream, the main influence would be a Jason Lengstorf and his Learn with Jason show. For viewers, or I guess listeners who are unfamiliar, Learn with Jason is a twice weekly show where Jason brings on guests and they cover various aspects of the Jamstack. It's really great because you get to see just a wide variety of the web development world. It's such an open, inviting community, which I really appreciate.</p><p>I've been trying to sort of, I don't want to say like, ape that whole thing. But, I've been inspired by that approach, bringing on people in the web development world. People who can show off interesting things that perhaps they don't always have the platform to do. And just teach me and teach the audience a new thing the web.</p><p>I focus on core web technologies because. I think that's really foundational to the stuff that we do on a day in and day out basis. We have tons of frameworks. We have meta frameworks, I'm sure at some point we'll have meta meta frameworks, but at some point it all comes down to the building blocks. And I think the single most impactful thing I can do for web development is really focusing on getting absolutely solid with those building blocks.</p><p><strong>Anthony</strong><br>I'd be really curious to hear, how did you first get it programming? Like what was the first kind of program you ever wrote or your first programming language or your first website? Anything like that? </p><p><strong>Ben</strong><br>Okay. I have always been a computer guy. This goes back to even as an infant, as a toddler. One of my favorite like family stories that gets passed around every once in a while, is that my parents realized like, "Oh, Ben's probably been on the computer too much as of late and we need to wean them off of that." They turned the computer off and you know, this was in the day where all computers by default had towers and everything that people weren't really using laptops.</p><p>They turn the computer off and they stuck a post-it note over the power button on the tower. If it said no little toddler me really wanted to use the computer. So he took the sticky note off, turned it upside down. So it said on stuck it back on, turn the power on and started using the computer. Just really and truly computers have been a big part of just me growing up. They were a big part of my childhood.</p><p>I actually made my first website back in like 4th and 5th grade. I used one of those free website builders and it was atrocious. I do not look back on that site with the most kindness, perhaps, but it was my first site. I got to college and I had this idea that I was probably going to end up doing something technical, but I wasn't sure what that would be.</p><p>I was undecided for my major, but I figured, you know what? I like computers. I'm going to play around with computer science as well as the business IT program that we had. Ultimately I ended up taking computer science and really enjoying that. That's kind of my journey to getting into programming, a childhood full of computers. </p><p><strong>Anthony</strong><br>Yeah, it definitely resonates with, I'm sure, me and Chris, same sort of situation growing up. We're really excited to have you here because something that I talked about when I was on your stream is that we're really focused on full stack development here, obviously this is FSJam, fullstack Jamstack. Part of what we really enjoy about that is that it allows solo developers to go really far by themselves with these tools. But what comes along with that is a responsibility, I see, of having a whole end to end understanding of the project.</p><p>You need to know where hangups could be or where faults could be. Accessibility can be something that tends to get kind of shuffled around to different departments or different developers and there's not always the investment that can be made into having just an accessibility expert. I think it's really important for people who are working in these kinds of spaces to make sure that they are thinking of accessibility and that they have a mental model about accessibility and they have the tools they need to make accessible websites.</p><p>For me, I think of it in those two kind of buckets, I think of the mental model. Of how do you think about whether your site or your app is actually accessible and then the tools you use to test and to verify, and to improve the accessibility of that site. So do you think that's a good framing and then which one would you like to kind of go into from there?</p><p><strong>Ben</strong><br>Yeah, I think that's a fantastic framing. You really do have to consider both the actual accessible experience and the process that you're going to take to get there. I would give the caution that in my experience, accessibility tends to fall apart not so much in the technical execution but in the process. Inaccessible sites are the product of processes that don't facilitate accessibility. </p><p><strong>Anthony</strong><br>Great and can we go into that? What are the processes that are failing us and how should they be altered? </p><p><strong>Ben</strong><br>This is largely going to depend a whole lot on the context of the work that you do. My experience is in enterprise. I'm able to take advantage of the teams that we have. I work with a design team and that design team is going to share some of the responsibilities. They are going to have to pick color palettes that are accessible. They're going to have to pick accessible typography.</p><p>Business takes some ownership. As a product owner you need to be including accessibility requirements in your acceptance criteria. To consider a story done, accessibility requirements have to be documented and met. You need testing. You may have a centralized accessibility team. You may have quality assurance engineers who work with the team directly.</p><p>Developers, and this is increasingly likely in a full-stack world, might be responsible for that testing yourself, but all of these roles have to be met. It's not just, it's about developing the accessible site. It's about designing the accessible site. It's about encoding those accessibility requirements into the agile workflow or into the requirements themselves for the stories.</p><p>It's about the testing. It's about all of these things. There's so many different parts of this picture. If you're living that full stack, JAMstack dream of being the lone developer that can build the site. That also means that you're taking on every piece of that puzzle as well. Which can be a challenge for sure.</p><p><strong>Chris</strong><br>One of the things, things that I always like to think of when it comes to accessibility is a spectrum. It's not just binary. Some people are colorblind. When you put a warning sticker and a success sticker, they may look exactly the same to some people or another instant is mouth support. Could be limited when they prefer to use a keyboard.</p><p>So could you tab down the entire page, you know, to the section you need. As I see it, yes, we could all always be better accessibility, but it's not necessary. Like how do I complete accessibility? How do I take it off? It's more, what am I doing to try my best? I believe if you're trying to even just do something is better than nothing.</p><p><strong>Ben</strong><br>I think there's a lot of truth to that. And I think there's a lot of truth to, as you're kind of talking about this spectrum of ability. When you're first coming to learn accessibility, and the importance of accessibility, you'll often find resources that break down disabilities into several categories. Those categories, for instance, might be vision impairments, like blindness, low vision, colorblindness, etc. There might be hearing impairments I'm for instance, hard of hearing. So I need to leverage captions and transcripts quite often, or they assist in my comprehension.</p><p>There's motor disabilities, live loss and paralysis. There's cognitive disabilities as well, learning disabilities and dyslexia and, and stuff like that. The thing about those categorizations as well, I think they can be helpful for developers to step outside of their bubble step outside of their comfort zone. And imagine what navigating the web, what that experience might be like for people with disabilities. I think it risks. Turning disability into a bit of a monolith into saying these are the properties that disabled people have.</p><p>These are the experiences that they have, and that's just simply not true. Two people with the same disability will experience a very differently based on their life circumstances. In fact, many disabled people have multiple disabilities. This is kind of a recurring joke. I see in the disability community that if you have one disability, you've actually have three disabilities, cause things are comorbid and they build on top of each other.</p><p>While disability is not one concrete experience, breaking it down into those categories of visual, auditory, cognitive motor can be a helpful way to start approaching experiences. We start breaking things down in terms of how might someone with those experiences navigate the page. Do y'all mind if I go through a quick exercise with you?</p><p><strong>Anthony</strong><br>Let's do it, yeah.</p><p><strong>Ben</strong><br>All right. Y'all have seen forums before. I'm pretty confident you've seen forms before. Um, and sometimes those forms are prone to having placeholders. If you're unfamiliar with the placeholder, that's the little grayed out text that exists inside of an empty form field. And once you start typing in that form field, the placeholder text goes away. Based on kind of the like categories of disabilities, the visual auditory, cognitive motor, what are some possible access issues you might, uh, think of with a placeholder. </p><p><strong>Chris</strong><br>You could on the placeholder put a pattern. It needs to be two letters. Space, two letters space, two lies like a sort code. And then obviously you don't copy the same structure, error, but that's one of them. I'm actually going to say my favorite Google's accessibility, placeholder label. They are all awful where the place holder becomes the label. When you start typing, I hate them. Please everybody stop doing them.</p><p><strong>Ben</strong><br>There are tons of things to side eye about that. But even if we're just talking about like the native placeholder, right? Like we're, we're talking like Symantec input element with type equals text and we're using the placeholder attributes. What are some possible access issues that we might get from that? </p><p><strong>Anthony</strong><br>An issue is as soon as you start typing and you lose the placeholder, then if you don't remember what it says, you like get lost. So I know people who have like, Attention disability type. That could be a problem.</p><p><strong>Ben</strong><br>Absolutely, or people with short term memory loss. We're providing a key context about the page and how we expect you to do it and then we take it away from you the moment you start doing anything with it. If you have short-term memory loss, if you have attention disorders, if you have really any cognitive disability that makes complex experiences difficult for you to understand, placeholders are an access problem there. We could also talk about the vision aspect of it. Placeholders usually appear in a very light gray, which means they're nightmarish for color contrast. </p><p><strong>Anthony</strong><br>I'd like to get into this. You had mentioned something I wanted to drill in on. You talked about designing for accessibility before even developing. And I think this is kind of some of the things that we're talking about right now is. The types of considerations you can make before a single line of code is written. And so what are some of those considerations you can make? And how can we design for accessibility before we even start coding? </p><p><strong>Ben</strong><br>When we work in the web we usually talk about making things accessible for people with vision disabilities, because much of the web is inherently visual in nature. I would also add that the kind of like second highest group that you need to consider is anyone who needs to navigate the page using the keyboard. We often make this assumption that our users have similar experiences and capabilities as we do, but the truth is you are not your user.</p><p>As you're considering accessibility from a design perspective before any code is written. You do need to consider, Hey, these colors, do they have sufficient contrast? That's super important. You also need to consider is color. The only way we're indicating information. If we're showing a graph, if part of our experience data visualization, and we have a couple of lines and one of those lines is blue and another is green, and this is our big, important data.</p><p>What if someone's colorblind or to tie it back to work that I do on a day-to-day basis, foreign validation often requires, uh, we, we show, Hey, you filled this out correctly with green and you filled this out incorrectly with red. Well, for someone who has red, green colorblind, those colors are likely the same color to them, or very similar. Right? So making sure that color isn't the only indicator of information is hugely important. Also keyboard behavior, focus management is absolutely.</p><p>One of the things that I think it's forgotten about is if you're opening modals and sidebars and dialogues, where should the focus go? Where should we put the users' cursor so that their screen reader announces where they're at and where should it go when you close that experience? And all of these things need to be decided before you ever write a line of code. And ideally if you're in an organization that has the design team to support it, Ideally that should be the design team that's documenting those requirements.</p><p><strong>Chris</strong><br>I've heard the iPhone is very good at accessibility. iOS is done by Apple. Where does the most impact come in accessibility: from an OS and then an app or from the app and then the OS? Does picking a browser matter more in terms of accessibility than the website?</p><p><strong>Ben</strong><br>That's a fantastic question. And the answer is specs are great. I love specs. So the truth is your operating system, your browser, and your website all work in concert and they all have different specs that they're trying to meet. Your browser packages up your page, your DOM, into an alternate version of the page called the accessibility tree. It's an alternate version of the DOM and it exposes us to the operating system in such a way that strangers can pull from and figure out like what's the state of the current application.</p><p>But browsers are limited by the language that the operating system uses, the primitives that the operating system provides. So if operating system, doesn't say that like, Hey, buttons are an element that can exist. Then the browser is limited by that. So browsers and operating systems have to work together, but browser just have to work together with your page for browsers to put together a meaningful representation of your page for assistive technology, you as the developer have to make sure that your page is descriptive meaning semantic markup.</p><p>So this is just one way, like you have to write a meaningful page so that your browser can translate it in a way that's meaningful for assistive technology and all of these three things work together that work together with specs. I would say that as far as we're concerned, while all three of these things work in concert, it is the site that's going to have the most effect your browser can't fix a broken site. Your operating system, can't fix a broken site. The only thing that can fix a broken site is the developer.</p><p>Additionally browsers and operating systems there they're usually adhering to specs that are put together by the worldwide web consortium, uh, specifically the web accessibility initiative team there they're conforming to those specs pretty well, decently consistently. So there is variation there, but you're not going to see nearly as much impact in that regard as you are from just. Building a strong site.</p><p><strong>Chris</strong><br>It's that question of how much you can control. You can control to support our year 11 or not. And you can control to support accessibility or not just things that you need accessibility no matter if you have any disabilities or not. For the prime example. As you age, you start relying on things like bigger text. How many websites do you know that have bigger text options by default? I think that's a really rabble as like built into the website.</p><p>I'm dyslexic myself. For so much of my life, I thought dyslexia was at disability, but now I view as a  and I removed the dis and keeping the ability. It really changes how you can see and your mind works differently. And that's why I always think about accessibility as this. Bonus instead of this thing that takes away, because like we say, with good accessibility, you get to properly, fully navigate a website using your keyboard, small things like that is things that you only get when you view the abilities from disabilities.</p><p><strong>Ben</strong><br>I think there's also something to be said for the web by default is pretty accessible. If you're using semantic elements you're a large chunk of the way there. This means that inaccessibility is often the product of the process, breaking things. Developers implemented the site in a way that broke the native accessibility or designers designed a site that out of the box was not accessible, etc.</p><p>I really, truly believe that accessibility is good design, no qualifiers there. Accessibility is good design. It does help everyone, right? Everyone benefits from a more accessible site. Chris, what you're referring to is an effect that in the disability community, we call the curb cut effect. Back in, I want to say it was the sixties, the city of Berkeley decided to implement curb cuts. This was through the efforts of several quadriplegic, Berkeley students who pushed for a more accessible path through the downtown Berkeley.</p><p>The city implemented these curb cuts, Chris, I believe they're called pram cuts or pram ramps on the other side of the pond. But it's where the sidewalk slopes down into the road, into the intersection. Basically this would allow wheelchair users to not have to hop the curb every time they wanted to get into the road to cross the road and not have to hop over the curb every time they wanted to get back on the sidewalk.</p><p>What Berkeley found over the next few years was that these curb cuts weren't only being used by wheelchair users. They were also being used by parents with strollers and people with luggage, people with like straight carts, just bring stuff along. Like many people were able to benefit from this. A modern day example of curb cuts might be closed captioning. So I mentioned I'm hard of hearing.</p><p>I often use captions as a way to just help my comprehension, even when I can technically hear the thing. It just helps to have that additional aid. However, closed captions can also benefit people with auditory processing disorders or people for who that language is not their first language or people who are in loud environments, such as bars, where you wouldn't be able to hear the TV anyway. Accessibility really does benefit everyone.</p><p>However, I think my caveat there is if we lean too heavily in the accessibility is for everyone aspect, we de-center disabled people. And that gets really uncomfortable. Like at its heart, accessibility is advocating for disabled users. If we de-center their experience then it often becomes about developer preferences and in many ways about developer egos. At the heart of accessibility has to be disabled people.</p><p><strong>Chris</strong><br>I wish I could have closed captions for real life. My girlfriend tries to talk to me, but if there's a washing machines going, I can hear what she's saying, but I can't comprehend what she said. It's just like, I can't explain it. It's so weird. </p><p><strong>Ben</strong><br>The single biggest use case, for me, for closed captions has been watching Dr. Who. Love Peter Capaldi but his accent was difficult for me to comprehend. It was a very, very strong accent. And yet I need my British Sci-fi, you know? </p><p><strong>Anthony</strong><br>We've talked about how to think about designing an accessible website, considerations, like semantic markup, color contrast, being able to tab through a page, being aware of different types of disabilities and the different challenges they will each encounter. Now we have a site that we've done our best to design. Once we're actually implementing it, what are some of the tools, the tips, the techniques that we can use to verify and test that it is accessible?</p><p><strong>Ben</strong><br>I think one of the easiest for people to wrap their head around is keyboard navigation. I think many developers, I'm not going to make this like a universal statement, but I think many developers would consider themselves power users of technology. And therefore many of us likely already use keyboard navigation to quickly hop through a form and stuff like that. This is something that's already pretty familiar to us.</p><p>It's also pretty clear when something doesn't behave as intended, right? When the focus order hops around or when something we expect to be focusable or keyboard navigable isn't focusable or keyboard navigable. Keyboard navigation is one of those things that I think for many of us will come pretty familiarly and is something that I think can provide immense accessibility testing value.</p><p>The next thing I'm going to suggest is getting really good with screen readers. This is something that can seem pretty daunting, but the truth is when disabled users use assistive technology, by necessity they become power users of their assistive technology. They have to, that's how they navigate the world. You have to get good at it. As developers who are committed to meeting accessibility needs and committed to meeting the needs of people with a wide variety, with a wide array of experiences, we have to test for those experiences.</p><p>So get familiar with screen readers. If you're on Windows, the screen reader that you're going to want to look into is JAWS, which is a paid screen reader. It's quite expensive, that's the most commonly used streaming, There's NVDA, which is free and I believe open source. If you're on Mac there's VoiceOver, which is built into the operating system. There are screenwriters for mobile operating systems as well. You can find those with a quick Google search.</p><p>But by and large screen readers are going to have several navigation modes. Tabbing. The focus that you're used to, focus implies interactivity. If you can tab to something that implies that it's interactive, so you should be able to tab to, for instance, links, buttons, and foreign fields. If you can tab to something and it's not keyboard interactive, that is a wrong experience.</p><p>Most of the time when you're tabbing, you're looking for keyboard interactive elements. The next screen reader, navigation mode is the virtual cursor. This is usually the, "just read everything" mode. So if you want to skim through all the static texts and the images and stuff like that, you're going to want to find whatever your screen readers virtual cursor is.</p><p>And the next thing is that screen readers, and this is something that I think a lot of developers don't actually really know about screen readers, most stream readers come with a way to hop between different elements of the same type. For JAWS it's a plethora of keyboard shortcuts, with Mac it's VoiceOver. It's a tool called the rotor. If you can't see the page, then you can't just scroll down the page and quickly skim through it. Screen readers provide whether it's the rotor or the keyboard shortcuts. They provide ways to skip through parts on the page to get to the parts that you care about really quickly.</p><p>That can often be very unintuitive. Like, we as sighted people, the three of us on this call, we might go, well, who would ever want to skip through a page by going from link to link? But many people do so this is a mode that screen readers provide. So figure out what your equipment for the reader that you're testing with and use that. There are also automated tools. You can run scans. One of the biggest ones is a Chrome extension called axe DevTools. This will scan through your page and automatically figure out some of the defects.</p><p>There are limits to automation, and I think we'll get to those in due time, I suspect. But there are a plethora of tools to use and I think you have to use all of them in concert. You have to test the keyboard navigability, you have to test the screen reader experience. You can run the automated tests, etc, but I think you have to do all of the above to really, truly get a holistic understanding of the experience. </p><p><strong>Chris</strong><br>What's your opinion on tools, like UserWay where it's like a SAS product to do accessibility for you? Is that a definitely no or is that just like a bandaid on the issue?</p><p><strong>Ben</strong><br>I have to be very careful about this. You're talking about tools called accessibility overlays for listeners who might not be familiar. You might go to a site and sometimes see in the bottom left corner there's a little accessibility symbol. You can click that and it opens up a panel that provides several accessibility features. Like, hey, we can update your color scheme, or we can make your texts large, stuff like that. Or we can read your page aloud.</p><p>The way I will word this is, Accessibility experts do not trust accessibility overlays. The truth is many of them do not do anything that the user would and already have the assistive technology to do, right? Like they're simulating a screen reader, but a simulated stream reader is not going to be anywhere near as good as the screen reader you actually use on a day to day basis. Additionally, it's been demonstrated that several of them actually commit accessibly errors themselves.</p><p>They have poor focus behavior and stuff like that. Really and truly, what you're looking at there is a field that realized that lawsuits were going to get more and more common and they started getting venture capital checks their way. I don't believe that they provide anywhere near the support for accessibility that just fixing your dang site would do. And I don't believe that they ever can.</p><p><strong>Chris</strong><br>It's interesting. If there's anything I'm proud about being British is our government websites. The UK government has that UI totally open on GitHub. I hear for accessibility it is really, really good. It's called like govuk-react. I think it is. But that's supposedly like really good for accessibility as that was one then main goals as like, how do you fully make something that everybody needs to use? Because to give the backstory that I do know before.</p><p>GOV.UK standardized that interfaces. Every single government agency had that own website, own forms, own styles, own system. All of it never spoke the same style or language. They decided to start an initiative where every government agency would use the same UI library, same user interface patterns. As a user, it doesn't visually look amazing, but for accessibility of a government website is next to none. Every time I use it. It's great.</p><p>For example, in the UK right now, we have a thing called a census. So that's every single house old in the country. You have to go onto the centers and say like, there's two people living in this house and this is what we do. So the government can allocate spending and voting rights and all them things, every single person in the UK has to do it. It's a really interesting thing to look up about the gov UK and how they achieved. I believe a very good accessibility record. Well, I'm not the answer about that. </p><p><strong>Ben</strong><br>I've heard fantastic things about the GOV.UK design system, and I'm incredibly excited to see more and more design systems that come out with accessibility baked in as much as possible. For me, the first one that flew onto my radar was a design system called grommet. I guess it's more of a component library than anything, but I think design systems and/or component libraries are a powerful tool.</p><p>They can standardize accessibility practices across a product and across an enterprise. I would encourage you, if you're working in the design space in your company, if you're working in part of a larger enterprise, to see how your design system can leverage accessibility and codify that into best practices there. I think oftentimes with design systems, you still have to do your own testing.</p><p>I think this is one of the recurring things I learned from accessibility. You can have tools that improve the developer ergonomics and handle a lot of stuff right out of the box. But accessibility is so contextual that you have to still test it yourself. You have to still make sure it works for everyone in the context of your own application. Yes, look for tools that are doing accessibility well. Look at tools that make it really easy to be successful at accessibility, and then still test it because every app is going to be different.</p><p><strong>Anthony</strong><br>Do you ever use the accessibility score from lighthouse? Because lighthouse gives you a whole bunch of metrics for like performance, SEO, and one of them is accessibility. I've always wondered about that metric and what goes into it and if it's useful to optimize around or not.</p><p>I once saw that we had deployed a Redwood to Netlify and Vercel, it was the exact same app deployed from the exact same code base and each deployed project got a different accessibility scores. I thought that was really interesting. The whole lighthouse thing is kind of a black box to me. I didn't really know how to drill into that, so I'm curious if you know anything about that. </p><p><strong>Ben</strong><br>The specific stats that lighthouse looks for you can read about at web.dev. I want to say lighthouse is behind the scenes using the same engine that powers the axe DevTools extension. Maybe with some more Google-y opinions in there, but I don't know what specifically might've caused your discrepancies that you were seeing there. But I think tools like that are incredibly powerful. I'm very passionate about accessibility, but the truth is I don't think every developer can or will be an accessibility expert.</p><p>I would hope that would be part of the expectation, but the truth is there are so many things on our plate. So many things can slip under the radar. One of the really important things is figuring out how to surface accessibility issues that might be lying latent in our app. I think automation fills a very powerful role. Deque system the company puts together the axe DevTools extension. They have just wrapped up their axe-con, which is an accessibility conference. I was fortunate enough to attend a talk by Glenda Sims about axe DevTools and the role automation plays in accessibility testing.</p><p>One of the things I was really surprised to learn was of all 2000 audits that Deque performed 57% of defects are surfaced by automation. And the bulk of these are going to be things that you can pretty easily calculate with a machine, right? 30% of all defects were color contrast issues, according to this report. And I can put the report in the show notes for y'all cause it's good stuff, but yeah, 57% of the issues surfaced in these audits were specifically surfaced by automation.</p><p>Because computers are really good at checking a whole bunch of simple rules really quickly. For instance, does all of your texts meet color, contrast requirements? That is something that to test that manually would be a waste of your developer or testers time. I'm really good at checking. Do all images have an alt attribute, but something that computers can do really quickly, it would be a waste of your testers time. You want accessibility engineers thinking about higher order problems. Like. Complex interactions.</p><p>I do want to talk about the limitations, though, of automation in this regard. We might be asking ourselves, well, why only 57%? Why can't the tools find 100%? Why can't they find 90%? Like why 57%? And the truth is, again, accessibility is very contextual. It's easy for a computer to say, "yes," this image has alt text. What's difficult is deciding whether that alt text is meaningful or helpful. And that's a very contextual thing. The same image might have different texts depending on what page it's on.</p><p>We could have, for instance, the example of George Washington's presidential portrait. The painting that was made of George Washington when he took office. On different pages the alt text for that might be different on some pages. It might just simply be president George Washington. It's simple as that. Totally fine. On a biography of George Washington, we might actually interpret that picture as decorative. It doesn't actually add anything, we're already talking about George Washington.</p><p>You don't really need to know that there even is a picture of George Washington. It might be all you have is the empty string, which causes screen readers to ignore that image altogether. Or if the presidential portrait is showing up on an art blog that's talking about the different painting styles, maybe you don't necessarily need to describe what George Washington looks like, but you do need to describe the brush strokes.</p><p>It's very contextual and something that machines are never really going to be able to solve. As ever, you really need to combine automated testing with manual testing, but in such a way that the automated testing handles all of the like low level, easily calculable binary pass-fail stuff so that your accessibly engineers can focus on solving the bigger, harder, more contextual problems.</p><p><strong>Anthony</strong><br>As we're getting close to the end of our time, are there any last big ideas, things that you think we haven't covered that is really important for developers to keep in mind?</p><p><strong>Ben</strong><br>Accessibly is important and there often times aren't one right answer. Again, make sure you're centering disabled people's experience in your advocacy of accessibility. There's a lot to it, but there are tons of resources out there. I'll make sure that some get added to the show notes, look for resources like web.dev or Deque systems or the a11y project. That's a 1 1 Y project. These are developers who are in this space day in, day out who have done testing and have just a wealth of expertise and a willingness to hop in and help solve problems.</p><p>Remember that when we're building experiences, when we're building interfaces, that's our job. Our job is building an interface that users can use. The HTML, the CSS, JavaScript, the frameworks, the meta-frameworks, the Redwood, all of that is incidental. It's how we work, it's not what we do. What we do is we make usable interfaces. Take some time to figure out what you can you do today to make your experience just a bit more usable and then what can you do going forward. How can you adjust your process to continue baking accessibility into your app? </p><p><strong>Anthony</strong><br>Thanks so much, Ben. I've really enjoyed getting to pick your brain in this episode, but also over the many months that we've gotten to know each other. I highly, highly encouraged people to check out both your streaming show and also your blog. You're one of these developers out there putting out this really fantastic accessibility content that I think people should know about. Why don't you also make sure that people know where they can find your stuff and how they can get in contact with you? </p><p><strong>Ben</strong><br>So, first of all, you should follow me on Twitter @bendmyers. You can also find me on my blog at benmyers.dev where I post mostly about accessibility stuff. And then finally, every Tuesday on Twitch at twitch.tv/someanticsdev where we will be sharing, just learning, following along with core web technologies, as well as with accessibility. It's been a great time and I would love to see y'all there.</p><p><strong>Chris</strong><br>My final question is simple. Yes or no, can beautiful websites still be accessible?</p><p><strong>Ben<br></strong>Yes.</p><p><strong>Chris</strong><br>There you go. Simple. </p><p><strong>Ben</strong><br>I think there's something to be said for emotional appeal as a key part of accessibility. I would argue that in many cases, beautiful sites are more accessible.</p>

Show notes

Episode 30 - To Fork or Not to Fork with Brandon Bayer

<p><strong><em>Brandon Bayer is the creator of Blitz.js.</em></strong></p><p>In this episode we discuss his recent decision to fork Next.js and continue building with it on a parallel track to Vercel.</p><p><strong>Brandon Bayer</strong></p><ul> <li><a href="https://twitter.com/flybayer"><strong>Twitter</strong></a></li> <li><a href="https://github.com/sponsors/flybayer"><strong>GitHub</strong></a></li> <li><a href="https://blitzjs.com/"><strong>Blitz.js</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://github.com/blitz-js/blitz/discussions/1990"><strong>RFC - Time to maintain a fork of Next.js?</strong></a></li> <li><a href="https://tomdale.net/2017/09/compilers-are-the-new-frameworks/"><strong>Compilers are the New Frameworks</strong></a></li> </ul>

Show notes

Episode 29 - The History of the Jamstack with Brian Douglas

<p><strong><em>Brian Douglas is a Staff Developer Advocate at GitHub.</em></strong></p><p>In this episode we discuss the origins of the Jamstack, the creation of the Netlify dashboard, advice for recent bootcamp grads, and how to increase diversity in open source.</p><p><strong>Brian Douglas</strong></p><ul> <li><a href="https://twitter.com/bdougieyo"><strong>Twitter</strong></a></li> <li><a href="https://dev.to/bdougieyo"><strong>Dev.to</strong></a></li> <li><a href="https://github.com/bdougie"><strong>GitHub</strong></a></li> <li><a href="https://www.heavybit.com/library/podcasts/jamstack-radio/"><strong>Jamstack Radio</strong></a></li> <li><a href="https://developingstory.netlify.app/"><strong>This Developing Story</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://github.com/open-sauced/open-sauced"><strong>Open Sauced</strong></a></li> <li><a href="https://github.com/readme/brian-douglas"><strong>The ReadME Project</strong></a></li> <li><a href="https://changelog.com/podcast/251"><strong>"I think the first guy that tipped the word was a friend of mine, Andreas Sæbjørnsen"</strong></a></li> </ul>

Show notes

Episode 28 - Elements with Chris Mather

<p><strong><em>Chris Mather is the Founder and CEO of Elements, an application framework and build tool for TypeScript that makes developing apps fun again.</em></strong></p><p>In this episode we discuss when to build your own solutions, the reinvention of server side rendering, horizontal scaleability through copying, why we should stop being afraid of SQL, and the origin behind the name of the project.</p><p><strong>Chris Mather</strong></p><ul> <li><a href="https://elements.dev/"><strong>Elements.dev</strong></a></li> <li><a href="https://discord.com/invite/QxGKhVn"><strong>Discord</strong></a></li> <li><a href="https://www.linkedin.com/in/chris-mather-b08a375/"><strong>LinkedIn</strong></a></li> <li><a href="https://twitter.com/cdmather"><strong>Twitter</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://podrocket.logrocket.com/7"><strong>Founder Friday: Chris Mather of Elements</strong></a></li> <li><a href="https://devchat.tv/js-jabber/jsj-473-the-elements-framework-with-chris-mather/"><strong>The Elements framework with Chris Mather</strong></a></li> <li><a href="https://www.seas.upenn.edu/~zives/03f/cis550/codd.pdf"><strong>A Relational Model of Data for Large Shared Data Banks</strong></a></li> </ul>

Show notes

Episode 27 - Open Source Education with Monica Powell

<p><strong><em>Monica Powell is a software engineer at Newsela, Egghead Instructor, and organizer of the React Ladies meetup.</em></strong></p><p>In this episode we discuss how to create free, high quality educational material, the Redwood IDE and structure package, and how to build a more diverse open source community.</p><p><strong>Monica Powell</strong></p><ul> <li><a href="https://aboutmonica.com/"><strong>Home Page</strong></a></li> <li><a href="https://twitter.com/indigitalcolor"><strong>Twitter</strong></a></li> <li><a href="https://github.com/m0nica"><strong>GitHub</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://www.npmjs.com/package/@redwoodjs/structure"><strong>RedwoodJS Structure</strong></a></li> <li><a href="https://pudding.cool/process/speaker-rider/"><strong>Pudding Speaker Rider</strong></a></li> <li><a href="https://www.devcolor.org/"><strong>devcolor</strong></a></li> </ul>

Show notes

Episode 26 - Multilingual Documentation with Claire Froelich

<p><strong><em>Claire Froelich is a Software Developer at Mintbean and a Core Member of RedwoodJS.</em></strong></p><p>In this episode we discuss the inherent complexity of translation, how to approach incorporating internationalization and localization into large scale open source projects, and whether linguistics can ever be captured by numbers.</p><p><strong>Claire Froelich</strong></p><ul> <li><a href="https://twitter.com/clairefroe"><strong>Twitter</strong></a></li> <li><a href="https://github.com/clairefro"><strong>GitHub</strong></a></li> <li><a href="https://www.linkedin.com/in/claire-froelich/"><strong>LinkedIn</strong></a></li> <li><a href="https://www.clairefroelichdev.com/"><strong>Portfolio</strong></a></li> <li><a href="https://learn.redwoodjs.com/docs/tutorial/welcome-to-redwood"><strong>Learn RedwoodJS</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://community.redwoodjs.com/t/translating-the-tutorial-and-maybe-docs/1319"><strong>Translating the Tutorial (and, maybe, Docs)</strong></a></li> <li><a href="https://fsjam.org/episodes/episode-3-monarch-wadia-mintbean-and-fullstack-education"><strong>Mintbean and Fullstack Education with Monarch Wadia</strong></a></li> <li><a href="https://docusaurus.io/"><strong>Docusaurus 2</strong></a></li> <li><a href="https://crowdin.com/"><strong>Crowdin</strong></a></li> <li><a href="https://vuepress.vuejs.org/"><strong>VuePress</strong></a></li> <li><a href="https://gitlocalize.com/"><strong>GitLocalize</strong></a></li> <li><a href="https://blog.acolyer.org/2016/04/21/the-amazing-power-of-word-vectors/"><strong>The amazing power of word vectors</strong></a></li> <li><a href="https://jalammar.github.io/illustrated-word2vec/"><strong>The Illustrated Word2vec</strong></a></li> <li><a href="https://community.redwoodjs.com/t/promoting-redwoodjs-follow-up-to-some-points-from-the-19th-feb-contributors-meetup/1864/7"><strong>It’s just plain HTML with a couple directives for including one smaller chunk of HTML (called a “partial”) inside of another.</strong></a></li> </ul>

Show notes

Episode 25 - Fullstack Serverless with Nader Dabit

<p><strong><em>Nader Dabit is a Developer Advocate at AWS Amplify.</em></strong></p><p>In this episode we discuss building fullstack applications with AWS Amplify, tools for enabling frontend developers, and the different architectures that can be created in the cloud.</p><p><strong>Nader Dabit</strong></p><ul> <li><a href="https://twitter.com/dabit3"><strong>Twitter</strong></a></li> <li><a href="https://github.com/dabit3"><strong>GitHub</strong></a></li> <li><a href="https://www.youtube.com/channel/UC7mca3O0DmdSG2Cr80sOD7g"><strong>YouTube</strong></a></li> </ul>

Show notes

Episode 24 - Plenti with Jim Fisk

<p><strong><em>Jim Fisk is a web developer and creator of Plenti, a Svelte Static Site Generator built with Go.</em></strong></p><p>In this episode we discuss the differences between Svelte and React, how to compare different bundlers including Webpack and Rollup, ESM imports, and the next generation of build tools.</p><p><strong>Jim Fisk</strong></p><ul> <li><a href="https://plenti.co/"><strong>Plenti</strong></a></li> <li><a href="https://twitter.com/jimafisk"><strong>Twitter</strong></a></li> <li><a href="https://github.com/jimafisk"><strong>GitHub</strong></a></li> </ul><p><strong>Plenti</strong></p><ul> <li><a href="https://dev.to/saystephanienow/plenti-a-svelte-ssg-for-people-that-don-t-like-web-maintenance-bullsh-t-1ld6"><strong>Plenti - a Svelte SSG for people that don’t like web maintenance bullsh#t</strong></a></li> <li><a href="https://www.youtube.com/watch?v=mPA_60o0Bek"><strong>Plenti - Svelte Society</strong></a></li> <li><a href="https://www.youtube.com/watch?v=lJhxNhXzNZk"><strong>Intro to Plenti, a Go Based SSG</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://svelte.dev/"><strong>Svelte</strong></a></li> <li><a href="https://rollupjs.org/guide/en/"><strong>Rollup</strong></a></li> <li><a href="https://esbuild.github.io/"><strong>Esbuild</strong></a></li> <li><a href="https://www.snowpack.dev/"><strong>Snowpack</strong></a></li> <li><a href="https://vitejs.dev/"><strong>Vite</strong></a></li> </ul>

Show notes

Episode 23 - Tutorial Driven Development with Rob Cameron

<p><strong><em>Rob Cameron is a web developer, woodworker, and Founding Member of RedwoodJS.</em></strong></p><p>In this episode we discuss how to create a useful tutorial, the differences between mocks and tests, and why you should just use Ruby on Rails for solving any problem.</p><p><strong>Rob Cameron</strong></p><ul> <li><a href="https://twitter.com/cannikin"><strong>Twitter</strong></a></li> <li><a href="https://github.com/cannikin"><strong>GitHub</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://cfwheels.org/"><strong>CFWheels</strong></a></li> <li><a href="https://www.cnbc.com/2020/04/06/new-jersey-seeks-cobol-programmers-to-fix-unemployment-system.html"><strong>New Jersey needs volunteers who know COBOL, a 60-year-old programming language</strong></a></li> <li><a href="https://community.redwoodjs.com/t/redwood-v0-26-the-prerender-release/1872"><strong>Redwood v0.26: The Prerender Release</strong></a></li> <li><a href="https://redwoodjs.com/stickers"><strong>Stickers!!!</strong></a></li> </ul>

Show notes

Episode 22 - Fullstack Security with Ryan Chenkie

<p><strong><em>Ryan Chenkie is a Developer Advocate at Prisma and creator of the React Security Fundamentals course.</em></strong></p><p>In this episode we discuss the role of a developer advocate, public versus private endpoints, and the necessity of a fullstack mindset in securing React applications.</p><p><strong>Ryan Chenkie</strong></p><ul> <li><a href="https://twitter.com/ryanchenkie"><strong>Twitter</strong></a></li> <li><a href="https://www.linkedin.com/in/ryan-chenkie-a6665890/"><strong>LinkedIn</strong></a></li> <li><a href="https://ryanchenkie.com/"><strong>Home Page</strong></a></li> <li><a href="https://github.com/chenkie"><strong>GitHub</strong></a></li> <li><a href="https://www.prisma.io/"><strong>Prisma</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://reactsecurity.io/"><strong>ReactSecurity</strong></a></li> <li><a href="https://www.prisma.io/blog/learn-typescript-a-pocketguide-tutorial-q329XmXQHUjz"><strong>Learn TypeScript: A Pocketguide Tutorial</strong></a></li> <li><a href="https://www.softwaresessions.com/episodes/react-authentication/"><strong>React Authentication with Ryan Chenkie</strong></a></li> <li><a href="https://www.youtube.com/watch?v=jPvWfG4UFQM&t=16m58s"><strong>Prisma Model Relations</strong></a></li> <li><a href="https://www.youtube.com/watch?v=4_Bcw7BULC8"><strong>Handling Authentication and Authorization in GraphQL</strong></a></li> <li><a href="https://www.youtube.com/watch?v=DIeg7gDbAjg"><strong>Build Your GraphQL APIs Faster with Nexus Schema</strong></a></li> </ul>

Show notes

Episode 21 - StepZen with Anant Jhingran

<p><strong><em>Anant Jhingran is the CEO of StepZen, a tool that enables frontend developers to quickly spin up a GraphQL API from a set of backends.</em></strong></p><p>In this episode we discuss imperative versus declarative programming, the definition of API management, the challenges of working with complex backend systems, and the unique capabilities of GraphQL.</p><p><strong>Anant Jhingran</strong></p><ul> <li><a href="https://twitter.com/jhingran"><strong>Twitter</strong></a></li> <li><a href="https://www.linkedin.com/in/anantjhingran/"><strong>LinkedIn</strong></a></li> <li><a href="https://stepzen.com/"><strong>StepZen</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://www.kanungo.com/pubs/semtag.pdf"><strong>SemTag and Seeker: Bootstrapping the semantic web via automated semantic annotation</strong></a></li> <li><a href="https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.444.8390&rep=rep1&type=pdf"><strong>A Case for Automated Large Scale Semantic Annotation</strong></a></li> <li><a href="https://jhingran.typepad.com/anant_jhingrans_musings/2012/03/five-things-that-have-changed-for-me-in-five-months-since-leaving-ibm.html"><strong>Five changes in my thinking in five months since leaving IBM</strong></a></li> </ul>

Show notes

Episode 20 - Bison with Chris Ball

<p><strong><em>Chris Ball is the CTO of Echobind and creator of Bison, a Fullstack Jamstack framework based on Echobind's "Greenfield Web Stack."</em></strong></p><p>In this episode we discuss the origins of Bison, conventions for continuous integration, and the need for differing opinions in nascent ecosystems.</p><p><strong>Chris Ball</strong></p><ul> <li><a href="https://twitter.com/cball_"><strong>Twitter</strong></a></li> <li><a href="https://echobind.com/"><strong>Echobind</strong></a></li> <li><a href="https://github.com/echobind/bisonapp"><strong>Bison</strong></a></li> <li><a href="https://apply.workable.com/echobind/"><strong>Open Positions at Echobind</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://nextjs.org/"><strong>Next.js</strong></a></li> <li><a href="https://nexusjs.org/"><strong>Nexus</strong></a></li> <li><a href="https://www.prisma.io/"><strong>Prisma</strong></a></li> <li><a href="https://graphql-code-generator.com/"><strong>GraphQL Codegen</strong></a></li> <li><a href="https://chakra-ui.com/"><strong>Chakra UI</strong></a></li> <li><a href="https://react-hook-form.com"><strong>React Hook Form</strong></a></li> <li><a href="https://www.cypress.io/"><strong>Cypress</strong></a></li> <li><a href="https://testing-library.com/docs/react-testing-library/intro"><strong>React Testing Library</strong></a></li> <li><a href="https://jestjs.io/"><strong>Jest</strong></a></li> </ul>

Show notes

Episode 19 - Building Fullstack Jamstack SaaS with Mike Cavaliere

<p><strong><em>Mike Cavaliere is a Senior Software Engineer at Echobind and author of Cut Into the Jamstack.</em></strong></p><p>In this episode we discuss his experience working on a range of client projects and the considerations behind the technology stack selected for the book. Cut Into the Jamstack explains how to utilize Next.js, Prisma, and Vercel to build a photo collaboration app.</p><p><strong>Mike Cavaliere</strong></p><ul> <li><a href="https://twitter.com/mcavaliere"><strong>Twitter</strong></a></li> <li><a href="https://www.linkedin.com/in/mikecavaliere"><strong>LinkedIn</strong></a></li> <li><a href="https://mikecavaliere.com/"><strong>Home Page</strong></a></li> <li><a href="https://echobind.com/"><strong>Echobind</strong></a></li> <li><a href="https://cutintothejamstack.com"><strong>Cut Into the Jamstack</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://blog.echobind.com/creating-your-own-jamstack-blog-in-no-time-with-next-js-and-bison-a3cdd507fd61"><strong>Creating Your Own Jamstack Blog with Next.js and Bison</strong></a></li> <li><a href="https://www.youtube.com/watch?v=60jOerHCNKQ"><strong>Lunch n' Learn - NextAuth.js</strong></a></li> <li><a href="https://vercel.com/"><strong>Vercel</strong></a></li> <li><a href="https://nextjs.org/"><strong>Next.js</strong></a></li> <li><a href="https://www.prisma.io/"><strong>Prisma</strong></a></li> <li><a href="https://react-hook-form.com/"><strong>React Hook Form</strong></a></li> <li><a href="https://next-auth.js.org/"><strong>NextAuth.js</strong></a></li> <li><a href="https://railway.app/"><strong>Railway</strong></a></li> <li><a href="https://chakra-ui.com/"><strong>Chakra</strong></a></li> </ul>

Show notes

Episode 18 - React Query with Tanner Linsley

<p><strong><em>Tanner Linsley is an open source maintainer and Co-founder of Nozzle, a monitoring tool for reverse engineering Google's Search Engine Results Pages.</em></strong></p><p>In this episode we discuss the suite of open source libraries Tanner maintains including React Query, React Table, and React Charts, the benefits of sane defaults, data visualization anti-patterns, the challenges of asynchronous interfaces, and why you should dogfood open source tools.</p><p><strong>Tanner Linsley</strong></p><ul> <li><a href="https://twitter.com/tannerlinsley"><strong>Twitter</strong></a></li> <li><a href="https://tanstack.com/"><strong>TanStack</strong></a></li> <li><a href="https://nozzle.io/"><strong>Nozzle.io</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://react-query.tanstack.com/"><strong>React Query</strong></a></li> <li><a href="https://react-table.tanstack.com/"><strong>React Table</strong></a></li> <li><a href="https://react-charts.tanstack.com/"><strong>React Charts</strong></a></li> <li><a href="https://github.com/airbnb/visx"><strong>visx</strong></a></li> <li> <a href="https://github.com/tannerlinsley/react-virtual"><strong>React Virtual</strong></a><strong> - </strong><a href="https://github.com/tannerlinsley/react-virtual#sample"><strong>Code Sample</strong></a> </li> <li><a href="https://github.com/tannerlinsley/react-ranger"><strong>React Ranger</strong></a></li> <li><a href="https://github.com/tannerlinsley/swimmer"><strong>Swimmer</strong></a></li> </ul>

Show notes

Episode 17 - Writing about Jamstack with Raymond Camden and Brian Rinaldi

<p><strong><em>Raymond Camden and Brian Rinaldi are the authors of The Jamstack Book.</em></strong></p><p>In this episode we discuss the evolution of the term "Jamstack," the methodology behind the selection of technologies for the projects, and the book's intended audience. The Jamstack Book includes a series of projects teaching how to lay out and generate a site, deploy that site to the cloud, and add dynamic features like user logins and search functionality.</p><p><strong>Links</strong></p><ul> <li><a href="https://www.manning.com/books/the-jamstack-book"><strong>The Jamstack Book</strong></a></li> <li><a href="https://www.raymondcamden.com/"><strong>Raymond Camden</strong></a></li> <li><a href="https://remotesynthesis.com/"><strong>Brian Rinaldi</strong></a></li> <li><a href="https://www.oreilly.com/library/view/working-with-static/9781491960936/"><strong>Working with Static Sites</strong></a></li> <li><a href="https://cfe.dev/"><strong>CFE.dev</strong></a></li> </ul><p><strong>Promo Code</strong></p><ul><li><a href="https://www.manning.com/?utm_source=podcast&utm_medium=organic&utm_campaign=fsjam&utm_content=discount"><strong>Enter podfsjam21 for 35% off all Manning publications</strong></a></li></ul>

Show notes

Episode 16 - Tape.sh with Danny Choudhury

<p><strong><em>Danny Choudhury is a member of the RedwoodJS Core Team and the founder of Tape.sh, a screen recording and collaboration tool for software teams.</em></strong></p><p>In this episode we discuss motivations for building with a nascent framework, the power of simplicity in screen capture workflows, the upcoming Redwood prerender implementation, and the cognitive cost of acronym salads.</p><p><strong>Danny Choudhury</strong></p><ul> <li><a href="https://twitter.com/dannychoudhury"><strong>Twitter</strong></a></li> <li><a href="https://www.tape.sh/"><strong>Tape.sh</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://community.redwoodjs.com/t/prerender-proposal/849"><strong>RedwoodJS Prerender proposal</strong></a></li> <li><a href="https://community.redwoodjs.com/t/pre-rendering-with-react-snap-redwood/863"><strong>Pre-rendering with react-snap & Redwood</strong></a></li> <li><a href="https://www.youtube.com/watch?v=k-A2VfuUROg"><strong>Rendering on the Web</strong></a></li> <li><a href="https://www.youtube.com/watch?v=eMwTEo6AjDc"><strong>CSR / SSR / SSG / ISR with Next.js</strong></a></li> </ul>

Show notes

Episode 15 - Quirrel with Simon Knott

<p><strong><em>Simon Knott is an Open Sourcerer and creator of Quirrel and SuperJSON.</em></strong></p><p>In this episode we discuss his various contributions to open source and the company he is building around Quirrel.</p><p><strong>Simon Knott</strong></p><ul> <li><a href="https://twitter.com/skn0tt"><strong>Twitter</strong></a></li> <li><a href="https://github.com/Skn0tt"><strong>GitHub</strong></a></li> <li><a href="https://simonknott.de/"><strong>Blog</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://www.youtube.com/watch?v=aW5TvT1mo9k"><strong>Billy Bass with built-in Alexa</strong></a></li> <li><a href="https://github.com/blitz-js/superjson"><strong>SuperJSON</strong></a></li> <li><a href="https://github.com/Rich-Harris/devalue"><strong>Devalue</strong></a></li> <li><a href="https://github.com/Rich-Harris/superjson-and-devalue"><strong>SuperJSON/Devalue Comparison</strong></a></li> <li><a href="https://quirrel.dev/"><strong>Quirrel</strong></a></li> </ul>

Show notes

Episode 14 - Programming Cultures with Peter Cooper

<p><strong><em>Peter Cooper is a developer, author, and founder of Cooperpress.</em></strong></p><p>In this episode we discuss Frontend First vs. Backend First Development, HotWire and the lasting influence of Ruby on Rails, different approaches to personal branding, the potential cultural influence of WebAssembly, and the economics of Open Source.</p><p><strong>Peter Cooper</strong></p><ul><li><a href="https://twitter.com/peterc"><strong>Twitter</strong></a></li></ul><p><strong>Cooperpress</strong></p><ul> <li><a href="https://twitter.com/Cooperpress"><strong>Twitter</strong></a></li> <li><a href="https://cooperpress.com/"><strong>Home Page</strong></a></li> <li><a href="https://jamstack.email/"><strong>Jamstacked</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://bref.sh/"><strong>Bref</strong></a></li> <li><a href="https://harmful.cat-v.org/software/ruby/rails/is-a-ghetto"><strong>Rails Is A Ghetto</strong></a></li> <li><a href="https://www.youtube.com/watch?v=Gzj723LkRJY"><strong>Ruby on Rails Demo</strong></a></li> <li><a href="https://hotwire.dev/"><strong>HotWire</strong></a></li> <li><a href="https://www.youtube.com/watch?v=AOvg_GbnsbA&t=8m38s"><strong>Paris Deno - Deno Crate Organization</strong></a></li> <li><a href="https://github.com/oakserver/oak"><strong>Oak</strong></a></li> <li><a href="https://github.com/drashland/deno-drash"><strong>Drash</strong></a></li> <li><a href="https://luminarypodcasts.com/listen/corey-quinn/screaming-in-the-cloud/media-as-table-stakes-with-peter-cooper/c42e2acd-1aba-4fb5-b99a-461f347b3ffc"><strong>Media as Table Stakes with Peter Cooper</strong></a></li> <li><a href="https://elm-lang.org/"><strong>Elm</strong></a></li> <li><a href="https://github.com/evanw/esbuild"><strong>Esbuild</strong></a></li> <li><a href="https://dotnet.microsoft.com/apps/aspnet/web-apps/blazor"><strong>Blazor</strong></a></li> <li><a href="https://www.prisma.io/blog/prisma-2-is-coming-soon-mwwfhevie993#rewriting-prisma-in-rust"><strong>Rewriting Prisma in Rust</strong></a></li> <li><a href="https://www.toast.dev/"><strong>Toast</strong></a></li> <li><a href="https://web.archive.org/web/20090130092236/http://www.alexhopmann.com/xmlhttp.htm"><strong>The Story of XMLHTTP</strong></a></li> <li><a href="https://dev.to/ajcwebdev/a-short-history-of-nodejs-2d82"><strong>A Short History of Node</strong></a></li> <li><a href="https://antirez.com/news/133"><strong>The End of the Redis Adventure</strong></a></li> <li><a href="https://prestonwernerventures.com/projects/open-source"><strong>Preston-Werner Ventures</strong></a></li> </ul>

Show notes

Episode 13 - Fauna with Brecht De Rooms

<p><strong><em>Brecht De Rooms is a Developer Advocate at Fauna.</em></strong></p><p>In this episode we discuss the architecture and consistency guarantees of Fauna, the Fauna Query Language, the origin of the term NoSQL, the problems with ORMs, modeling relations in a document database, and the importance of database developer experience.</p><p><strong>Brecht De Rooms</strong></p><ul> <li><a href="https://twitter.com/databrecht"><strong>Twitter</strong></a></li> <li><a href="https://www.linkedin.com/in/brecht-de-rooms-6b039013/"><strong>LinkedIn</strong></a></li> <li><a href="https://css-tricks.com/author/brechtderooms/"><strong>CSS Tricks</strong></a></li> </ul><p><strong>Consistent Backends and UX</strong></p><ul> <li><a href="https://css-tricks.com/consistent-backends-and-ux:-why-should-you-care/"><strong>Why Should You Care?</strong></a></li> <li><a href="https://css-tricks.com/consistent-backends-and-ux-what-can-go-wrong/"><strong>What Can Go Wrong?</strong></a></li> <li><a href="https://css-tricks.com/consistent-backends-and-ux-what-are-the-barriers-to-adoption/"><strong>What are the Barriers to Adoption?</strong></a></li> <li><a href="https://css-tricks.com/consistent-backends-and-ux:-how-do-new-algorithms-help/"><strong>How Do New Algorithms Help?</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://fauna.com/"><strong>Fauna</strong></a></li> <li><a href="https://jepsen.io/"><strong>Jepsen</strong></a></li> <li><a href="https://fauna.com/blog/comparing-fauna-and-dynamodb-pricing-features"><strong>Comparing Fauna and DynamoDB: Features & Pricing</strong></a></li> <li><a href="https://thenewstack.io/why-your-next-database-will-be-a-serverless-api/"><strong>Why Your Next Database Will Be a Serverless API</strong></a></li> </ul>

Show notes

Episode 12 - Amplify and DataStore with Shawn (Swyx) Wang

<p><strong><em>Shawn (Swyx) Wang works on Developer Experience at AWS Amplify.</em></strong></p><p>In this episode we discuss Amplify, DataStore, the difference between teaching and learning in public, migrating existing projects to AWS, containers vs. serverless, and the endgame of layer 2 clouds.</p><p><strong>Shawn (Swyx) Wang</strong></p><ul> <li><a href="https://twitter.com/swyx"><strong>Twitter</strong></a></li> <li><a href="https://www.swyx.io/"><strong>swyx's site</strong></a></li> <li><a href="https://www.svelteradio.com/"><strong>Svelte Radio</strong></a></li> <li><a href="https://careerchats.transistor.fm/"><strong>Career Chats</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://aws.amazon.com/amplify/"><strong>AWS Amplify</strong></a></li> <li><a href="https://docs.amplify.aws"><strong>Amplify Framework Documentation</strong></a></li> <li><a href="https://github.com/aws-amplify/amplify-js"><strong>Amplify-js</strong></a></li> <li><a href="https://www.swyx.io/amplify-serverless-containers/"><strong>You Can Run Containers on AWS Amplify Now</strong></a></li> <li><a href="https://swyx.io/react-sfcs-here/"><strong>React Single File Components Are Here</strong></a></li> <li><a href="https://github.com/redwoodjs/redwood/issues/947#issuecomment-691217300"><strong>RedwoodJS Fargate Deployment</strong></a></li> <li><a href="https://fab.dev"><strong>Frontend Application Bundles</strong></a></li> <li><a href="https://aws.amazon.com/about-aws/whats-new/2019/12/introducing-amplify-datastore/"><strong>DataStore</strong></a></li> <li><a href="https://www.swyx.io/js-third-age/"><strong>The Third Age of JavaScript</strong></a></li> </ul>

Show notes

Episode 11 - Microsoft Open Source with Kim-Adeline Miguel

<p><strong><em>Kim-Adeline Miguel is a Software Engineer at Microsoft.</em></strong></p><p>In this episode we discuss her work on the Python extension for Visual Studio Code, how she integrated RedwoodJS with Azure Postgres, Microsoft's ambitions for the Jamstack, and the promise of WebAssembly.</p><p><strong>Kim-Adeline Miguel</strong></p><ul> <li><a href="https://twitter.com/kimadeline_m"><strong>Twitter</strong></a></li> <li><a href="https://github.com/kimadeline"><strong>GitHub</strong></a></li> <li><a href="https://www.linkedin.com/in/kimadelinemiguel/"><strong>LinkedIn</strong></a></li> <li><a href="https://kimadeline.github.io/blog/"><strong>Blog</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://github.com/microsoft/vscode-python"><strong>Python extension for Visual Studio Code</strong></a></li> <li><a href="https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blob-static-website"><strong>Static website hosting in Azure Storage</strong></a></li> <li><a href="https://azure.microsoft.com/en-us/services/app-service/static/"><strong>Azure Static Web Apps</strong></a></li> <li><a href="https://english.stackexchange.com/questions/65728/origin-of-the-term-wizard-in-computing"><strong>Origin of the term Wizard in computing</strong></a></li> <li><a href="https://www.amazon.com/Where-Wizards-Stay-Up-Late/dp/0684832674"><strong>Where Wizards Stay Up Late: The Origins of the Internet</strong></a></li> <li><a href="https://en.wikipedia.org/wiki/Webmaster"><strong>Webmaster</strong></a></li> <li><a href="https://kimadeline.github.io/blog/posts/redwoodjs-azure-postgresql/"><strong>Using an Azure Database for PostgreSQL server with RedwoodJS</strong></a></li> <li><a href="https://community.redwoodjs.com/t/tutorial-using-an-azure-postgresql-db-with-redwood/1209"><strong>Using an Azure PostgreSQL DB with Redwood</strong></a></li> <li><a href="https://dotnet.microsoft.com/apps/aspnet/web-apps/blazor"><strong>Blazor</strong></a></li> <li><a href="https://www.figma.com/blog/webassembly-cut-figmas-load-time-by-3x/"><strong>WebAssembly cut Figma's load time by 3x</strong></a></li> <li><a href="https://microsoft.github.io/react-native-windows/"><strong>React Native for Windows + macOS</strong></a></li> <li><a href="https://github.com/microsoft/react-native-windows"><strong>React Native for Windows</strong></a></li> </ul>

Show notes

Episode 10 - Nexus and Code-First Schemas with Jason Kuhrt

<p><strong><em>Jason Kuhrt is the co-creator of Nexus and works on the developer productivity team at Prisma.</em></strong></p><p>In this episode we discuss the origins of Nexus, how Nexus fits into the Prisma ecosystem, and other contributions Jason has made to Prisma and the broader open source world.</p><p><strong>Jason Kuhrt</strong></p><ul> <li><a href="https://twitter.com/jasonkuhrt"><strong>Twitter</strong></a></li> <li><a href="https://github.com/jasonkuhrt"><strong>GitHub</strong></a></li> </ul><p><strong>Nexus</strong></p><ul> <li><a href="https://nexusjs.org/"><strong>Homepage</strong></a></li> <li><a href="https://github.com/graphql-nexus/nexus"><strong>Github</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://www.youtube.com/watch?v=_CAq7mnPqro"><strong>Paving a New Path for GraphQL Schemas</strong></a></li> <li><a href="https://www.youtube.com/watch?v=5oyWwjLpUS4"><strong>SDL as an Artifact: Codefirst Schemas and GraphQL Nexus</strong></a></li> <li><a href="https://www.youtube.com/watch?v=AqQEfFXxZKo"><strong>Boosting backend development productivity</strong></a></li> <li><a href="https://www.youtube.com/watch?v=oFk4rxz_KO8"><strong>Building a type-safe GraphQL server with Nexus and Prisma</strong></a></li> <li><a href="https://www.youtube.com/watch?v=W1Mux5nEuB0"><strong>Tightening the Full-Stack Development Loop with Nexus & Prisma</strong></a></li> <li><a href="https://community.redwoodjs.com/t/anyone-playing-around-with-nexus-js/360/5"><strong>Why RedwoodJS Doesn't Include Nexus</strong></a></li> </ul>

Show notes

Episode 9 - FSJam in 2021

<p><strong><em>As 2020 comes to a close, our hosts discuss projects, frameworks, and tools they are looking forward to in 2021.</em></strong></p><p><strong>Links</strong></p><ul> <li><a href="https://reactjs.org/blog/2020/12/21/data-fetching-with-react-server-components.html"><strong>Introducing Zero-Bundle-Size React Server Components</strong></a></li> <li><a href="https://github.com/reactjs/server-components-demo"><strong>React Server Components Demo</strong></a></li> <li><a href="https://github.com/josephsavona/rfcs/blob/server-components/text/0000-server-components.md"><strong>React Server Component RFC</strong></a></li> <li><a href="https://web.dev/hands-on-portals/"><strong>Portals</strong></a></li> <li><a href="https://aws.amazon.com/appsync/"><strong>AWS AppSync</strong></a></li> <li><a href="https://github.com/necolas/react-native-web"><strong>React Native for Web</strong></a></li> <li><a href="https://begin.com/"><strong>Begin</strong></a></li> <li><a href="https://rome.tools/"><strong>Rome</strong></a></li> <li><a href="https://www.snowpack.dev/"><strong>Snowpack</strong></a></li> <li><a href="https://blog.getbootstrap.com/2020/12/07/bootstrap-5-beta-1/"><strong>Bootstrap 5</strong></a></li> <li><a href="https://nuxtjs.org/"><strong>NuxtJS</strong></a></li> <li><a href="https://elderguide.com/tech/elderjs/"><strong>ElderJS</strong></a></li> </ul><p><strong>Music</strong></p><ul> <li> <strong>Artist - </strong><a href="https://www.facebook.com/TechnicalandRaw/"><strong>Technical and Raw</strong></a> </li> <li> <strong>Track - </strong><a href="https://www.youtube.com/watch?v=UFVqou0TbN4"><strong>Quest Of The Magi</strong></a> </li> </ul>

Show notes

Episode 8 - FSJam Roundtable with Chris Ball, Brandon Bayer, and (the) David Price

<p><strong><em>Our final episode of the year features guests from Redwood, Blitz, and Bison.</em></strong></p><p>In this episode we discuss what happened in 2020, lessons learned from a year of open source framework development, remaining challenges for 2021, and what everyone is looking forward to in the new year.</p><p><strong>Guests</strong></p><ul> <li><a href="https://twitter.com/cball_"><strong>Chris Ball</strong></a></li> <li><a href="https://twitter.com/flybayer"><strong>Brandon Bayer</strong></a></li> <li><a href="https://twitter.com/thedavidprice"><strong>David Price</strong></a></li> </ul>

Show notes

Episode 7 - Shipping Web Applications with Dominic Saadi

<p><strong><em>Dominic Saadi is a Core Maintainer and Advocate for RedwoodJS, the fullstack JavaScript framework for startups.</em></strong></p><p>In this episode we discuss Dom's wide ranging contributions to the framework, the importance of state management, why TailwindCSS is the most interesting project in open source, and how web applications can compete with mobile.</p><p><strong>Dominic Saadi</strong></p><ul> <li><a href="https://twitter.com/desaadi307"><strong>Twitter</strong></a></li> <li><a href="https://github.com/jtoar"><strong>GitHub</strong></a></li> <li><a href="https://us19.campaign-archive.com/?u=0c27354a06a7fdf4d83ce07fc&id=d147119419"><strong>RedwoodJS Newsletter</strong></a></li> <li><a href="https://community.redwoodjs.com/t/how-to-think-about-scaffolds/254"><strong>How to think about scaffolds?</strong></a></li> <li><a href="https://community.redwoodjs.com/t/services-general/891"><strong>Services General</strong></a></li> <li><a href="https://community.redwoodjs.com/t/upgrading-to-tailwindcss-v2/1472"><strong>Upgrading to TailwindCSS v2</strong></a></li> <li><a href="https://en.wikipedia.org/wiki/Vladimir_Nabokov"><strong>Vladimir Nabokov</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://jupyter.org/"><strong>Jupyter Notebook</strong></a></li> <li><a href="https://d3js.org/"><strong>D3.js</strong></a></li> <li><a href="https://roamresearch.com/"><strong>Roam</strong></a></li> <li><a href="https://fullstackradio.com/136"><strong>React Is Not a Rails Competitor</strong></a></li> <li><a href="https://fullstackradio.com/143"><strong>Svelte and Defending the Modern Web</strong></a></li> <li><a href="https://github.com/necolas/react-native-web"><strong>React Native Web</strong></a></li> <li><a href="https://www.prisma.io/docs/guides/general-guides/database-workflows/foreign-keys"><strong>Foreign keys in Prisma</strong></a></li> <li><a href="https://tailwindcss.com/"><strong>TailwindCSS</strong></a></li> <li><a href="https://bulma.io/"><strong>Bulma</strong></a></li> <li><a href="https://styled-components.com/"><strong>Styled-components</strong></a></li> <li><a href="https://css-tricks.com/bem-101/"><strong>BEM</strong></a></li> <li><a href="https://github.com/ben-rogerson/twin.macro"><strong>Twin.macro</strong></a></li> <li><a href="https://redux.js.org/"><strong>Redux</strong></a></li> <li><a href="https://mobx.js.org/README.html"><strong>MobX</strong></a></li> <li><a href="https://xstate.js.org/"><strong>XState</strong></a></li> <li><a href="https://deno.land/"><strong>Deno</strong></a></li> </ul>

Show notes

Episode 6 - Blitz.js and Fullstack React with Brandon Bayer

<p><strong><em>Brandon Bayer is the creator of Blitz.js, the Fullstack React Framework built on Next.js.</em></strong></p><p>In this episode we discuss the origins of Blitz, common deploy targets for apps built with Blitz, authentication, and the importance of community.</p><p><strong>Brandon Bayer</strong></p><ul> <li><a href="https://github.com/flybayer"><strong>GitHub</strong></a></li> <li><a href="https://twitter.com/flybayer"><strong>Twitter</strong></a></li> <li><a href="https://dev.to/flybayer/the-blitz-js-manifesto-a-new-react-framework-1gg7"><strong>The Blitz.js Manifesto</strong></a></li> <li><a href="https://www.youtube.com/watch?v=fIexr5UZfhU"><strong>Prisma Day 2020</strong></a></li> </ul><p><strong>Blitz.js</strong></p><ul> <li><a href="https://blitzjs.com/"><strong>Blitzjs.com</strong></a></li> <li><a href="https://github.com/blitz-js/blitz"><strong>GitHub</strong></a></li> <li><a href="https://twitter.com/blitz_js"><strong>Twitter</strong></a></li> <li><a href="https://github.com/blitz-js/blitz/wiki"><strong>Blitz Wiki</strong></a></li> <li><a href="https://github.com/blitz-js/awesome-blitzjs"><strong>awesome-blitzjs</strong></a></li> <li><a href="https://github.com/blitz-js/blitz/discussions"><strong>Discussions</strong></a></li> <li><a href="https://github.com/blitz-js/blitz/discussions/1141"><strong>Some future facing ideas for Blitz</strong></a></li> </ul><p><strong>Simon Knott</strong></p><ul> <li><a href="https://quirrel.dev/"><strong>Quirrel</strong></a></li> <li><a href="https://twitter.com/skn0tt"><strong>Twitter</strong></a></li> <li><a href="https://dev.to/quirrel"><strong>Newsletter</strong></a></li> <li><a href="https://github.com/skn0tt"><strong>GitHub</strong></a></li> <li><a href="https://github.com/blitz-js/superjson"><strong>Superjson</strong></a></li> </ul>

Show notes

Episode 5 - When to Declare Technical Bankruptcy?

<p><strong><em>Everfund provides fast and easy donation links for your donors. You can capture more income and Gift Aid by sharing donation links with your donors online.</em></strong></p><p>In this episode we discuss how Chris built Everfund with Redwood and how he transitioned it from his previous MVP technology.</p><p><strong>Links</strong></p><ul> <li><a href="https://twitter.com/everfunduk"><strong>Everfund</strong></a></li> <li><a href="https://twitter.com/burnedchris"><strong>Christopher Burns</strong></a></li> <li><a href="https://twitter.com/ajcwebdev"><strong>Anthony Campolo</strong></a></li> <li><a href="https://m.signalvnoise.com/the-majestic-monolith/"><strong>The Majestic Monolith</strong></a></li> <li><a href="https://github.com/hapijs/hapi/issues/4113"><strong>The Future of the Hapi Project</strong></a></li> <li><a href="https://www.mongodb.com/cloud/atlas"><strong>MongoDB Atlas</strong></a></li> <li><a href="https://www.prisma.io/"><strong>Prisma</strong></a></li> <li><a href="https://aws.amazon.com/fargate/"><strong>Fargate</strong></a></li> <li><a href="https://nexusjs.org/"><strong>GraphQL Nexus</strong></a></li> <li><a href="https://github.com/prisma-labs/graphql-yoga"><strong>GraphQL Yoga</strong></a></li> <li><a href="https://www.onegraph.com/"><strong>OneGraph</strong></a></li> <li><a href="https://opensauced.pizza/"><strong>Open Sauced</strong></a></li> <li><a href="https://www.apollographql.com/"><strong>Apollo</strong></a></li> <li><a href="https://formidable.com/open-source/urql/"><strong>urql</strong></a></li> <li><a href="https://github.com/arackaf/micro-graphql-react"><strong>micro-graphql-react</strong></a></li> <li><a href="https://github.com/lostpebble/pullstate"><strong>Pull State</strong></a></li> <li><a href="https://github.com/ctrlplusb/easy-peasy"><strong>Easypeasy</strong></a></li> <li><a href="https://overmindjs.org/"><strong>Overmind</strong></a></li> <li><a href="https://arunoda.me/blog/what-is-nextjs-issg"><strong>Incremental Static (Re)Generation</strong></a></li> <li><a href="https://www.algolia.com/"><strong>Algolia</strong></a></li> <li><a href="https://github.com/stalniy/casl"><strong>CASL</strong></a></li> <li><a href="https://magic.link/"><strong>Magic.link</strong></a></li> <li><a href="https://stripe.com/"><strong>Stripe</strong></a></li> <li><a href="https://sendgrid.com/"><strong>SendGrid</strong></a></li> <li><a href="https://postmarkapp.com/"><strong>Postmark</strong></a></li> </ul><p><strong>Music</strong></p><ul> <li> <strong>Artist - </strong><a href="https://www.facebook.com/TechnicalandRaw/"><strong>Technical and Raw</strong></a> </li> <li> <strong>Album - </strong><a href="https://open.spotify.com/album/5gfEJ7rnD2ls8hnShSe23u"><strong>Toxic Pride</strong></a> </li> <li> <strong>Track - </strong><a href="https://www.youtube.com/watch?v=973hbqVeAMg"><strong>Baile De Los Muertos</strong></a> </li> </ul>

Show notes

Episode 4 - Bringing Fullstack to the Jamstack with Tom Preston-Werner

<p><strong><em>Tom Preston-Werner is the co-founder of Chatterbug, co-creator of RedwoodJS, and long time contributor to open source technology.</em></strong></p><p><strong>Tom Preston-Werner</strong></p><ul> <li><a href="https://github.com/mojombo"><strong>GitHub</strong></a></li> <li><a href="https://twitter.com/mojombo"><strong>Twitter</strong></a></li> <li><a href="https://redwoodjs.com/"><strong>RedwoodJS</strong></a></li> </ul><p><strong>tpw</strong></p><ul> <li><a href="https://tom.preston-werner.com/2008/10/18/how-i-turned-down-300k.html"><strong>How I Turned Down $300,000 from Microsoft to go Full-Time on GitHub</strong></a></li> <li><a href="https://github.com/mojombo/mojombo.github.io/commit/346631c2629d521464f7df44c94a97bb1eecf0e2"><strong>Autoblog Readme</strong></a></li> <li><a href="https://github.com/mojombo/mojombo.github.io/commit/9113d845cde743e0f469182a301b827e1896321c"><strong>Autoblog Renamed to Jekyll</strong></a></li> <li><a href="https://tom.preston-werner.com/2008/11/17/blogging-like-a-hacker.html"><strong>Blogging Like a Hacker</strong></a></li> <li><a href="https://tom.preston-werner.com/2010/08/23/readme-driven-development.html"><strong>Readme Driven Development</strong></a></li> <li><a href="https://github.com/redwoodjs/redwood/commit/e2ceb0dcdffe4c28ff3ce804445387f4749e6a0b"><strong>Hammer Readme</strong></a></li> </ul><p><strong>How long would it take to drive across California?</strong></p><ul><li><a href="https://www.quora.com/How-long-would-it-take-to-drive-across-California-from-south-to-north"><strong>17 - 18 hours best case, little traffic</strong></a></li></ul>

Show notes

Episode 3 - Mintbean and Fullstack Education with Monarch Wadia

<p><strong><em>Monarch Wadia is a software architect and founder of Mintbean.</em></strong></p><p>In this episode we discuss designing immersive learning programs and supportive communities for web developers looking to upskill their coding abilities.</p><p><strong>Monarch Wadia</strong></p><ul> <li><a href="https://www.linkedin.com/in/monarchwadia/"><strong>LinkedIn</strong></a></li> <li><a href="https://twitter.com/monarchwadia"><strong>Twitter</strong></a></li> </ul><p><strong>Mintbean</strong></p><ul> <li><a href="https://www.mintbean.io/"><strong>Homepage</strong></a></li> <li><a href="https://www.linkedin.com/company/mintbean/"><strong>LinkedIn</strong></a></li> <li><a href="https://twitter.com/Mintbeanio"><strong>Twitter</strong></a></li> <li><a href="https://discord.com/invite/j7CjBAz"><strong>Discord</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://www.infoq.com/news/2007/11/ecmascript-4/"><strong>Is the future of JavaScript ECMAScript 4?</strong></a></li> <li><a href="https://stackoverflow.com/questions/2329602/why-was-ecmascript-4th-edition-completely-scrapped"><strong>Why was ECMAScript 4th edition completely scrapped?</strong></a></li> <li><a href="https://auth0.com/blog/the-real-story-behind-es4/"><strong>The Real Story Behind ECMAScript 4</strong></a></li> <li><a href="https://web.eecs.umich.edu/~weimerw/2006-655/reading/NauerAlgol60.pdf"><strong>Report on the Algorithmic Language ALGOL 60</strong></a></li> <li><a href="https://medium.com/better-programming/programming-history-the-influence-of-algol-on-modern-programming-languages-81a90107946a"><strong>The Influence of ALGOL on Modern Programming Languages</strong></a></li> <li><a href="https://www.whoishostingthis.com/resources/algol/"><strong>ALGOL: The Best Language You’ve Never Heard Of</strong></a></li> </ul>

Show notes

Episode 2 - Building Online Communities with (the) David Price

<p><strong><em>David Price is a founding member of the RedwoodJS Core Team.</em></strong></p><p>In this episode we discuss David's background, how he became involved in the RedwoodJS project, how he thinks about building community online, and working in public.</p><p><strong>David Price</strong></p><ul> <li><a href="https://twitter.com/thedavidprice"><strong>Twitter</strong></a></li> <li><a href="https://www.youtube.com/watch?v=-XsTBC9EFY8"><strong>Mintbean Seminar - RedwoodJS with David Price</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://nadiaeghbal.com/"><strong>Nadia Eghbal</strong></a></li> <li><a href="https://www.amazon.com/dp/0578675862/"><strong>Working in Public</strong></a></li> <li><a href="https://podcasts.apple.com/us/podcast/working-in-public-with-nadia-eghbal/id1316769266?i=1000495937214"><strong>Venture Stories - Working in Public with Nadia Eghbal</strong></a></li> <li><a href="https://en.wikipedia.org/wiki/Lev_Vygotsky"><strong>Lev Vygotsky</strong></a></li> <li><a href="https://en.wikipedia.org/wiki/Zone_of_proximal_development"><strong>Zone of proximal development</strong></a></li> <li><a href="https://fs.blog/2013/12/circle-of-competence/"><strong>Understanding your Circle of Competence</strong></a></li> </ul>

Show notes

Episode 1 - The Next Requirement of FSJam?

<p><strong><em>Should FSJam frameworks be building on Next or rolling their own architecture? Is Next the Next Best Thing™, or is it destined to the same fate as every framework that preceded it?</em></strong></p><p><strong>Next</strong></p><ul> <li><a href="https://nextjs.org/"><strong>Next.js - The React Framework for Production</strong></a></li> <li><a href="https://nextjs.org/blog/next-10"><strong>Next.js 10</strong></a></li> </ul><p><strong>Blitz</strong></p><ul> <li><a href="https://www.youtube.com/watch?v=UsJl7Mn5Y0E"><strong>Blitz.js - The full stack React Framework</strong></a></li> <li><a href="https://www.youtube.com/watch?v=3pnJx8GrJ2U"><strong>Mintbean Masterclass - Blitz.js with Brandon Bayer</strong></a></li> <li><a href="https://weekly-blitz.com/"><strong>Weekly Blitz.js</strong></a></li> </ul><p><strong>Bison</strong></p><ul> <li><a href="https://speakerdeck.com/cball/next-dot-js-a-framework-for-frameworks"><strong>Chris Ball - Next.js: A Framework for Frameworks</strong></a></li> <li><a href="https://community.redwoodjs.com/t/bison-the-full-stack-jamstack-in-a-box/1044"><strong>Bison - The Full Stack JAMstack in-a-box</strong></a></li> </ul><p><strong>Remix</strong></p><ul> <li><a href="https://remix.run/"><strong>Remix - Build Better Websites</strong></a></li> <li><a href="https://www.youtube.com/watch?v=HwdAK9FNUOE"><strong>Nader Dabit - Up and Running with Remix</strong></a></li> <li><a href="https://dev.to/dabit3/a-first-look-at-remix-run-449a"><strong>Nader Dabit - A First Look at Remix.run</strong></a></li> </ul>

Show notes

Episode 0 - The Fullstack Jamstack Podcast with Anthony Campolo and Christopher Burns

<p><strong><em>In the inaugural episode of the Fullstack Jamstack Podcast we meet our hosts, Anthony Campolo and Christopher Burns.</em></strong></p><p>In this episode the hosts tell their stories about how they discovered the world of Fullstack Jamstack, what it means to them, and what they want this podcast to cover in the future.</p><p><strong>Projects</strong></p><ul> <li><a href="https://redwoodjs.com/"><strong>RedwoodJS</strong></a></li> <li><a href="https://github.com/echobind/bisonapp"><strong>Bison</strong></a></li> <li><a href="https://blitzjs.com/"><strong>BlitzJS</strong></a></li> <li><a href="https://fauna.com/"><strong>FaunaDB</strong></a></li> <li><a href="https://www.prisma.io/"><strong>Prisma</strong></a></li> <li><a href="https://nexusjs.org/"><strong>Nexus</strong></a></li> <li><a href="https://www.netlify.com/"><strong>Netlify</strong></a></li> <li><a href="https://vercel.com/"><strong>Vercel</strong></a></li> <li><a href="https://serverless.com/"><strong>Serverless</strong></a></li> </ul><p><strong>Links</strong></p><ul> <li><a href="https://community.redwoodjs.com/t/a-first-look-at-redwoodjs-complete-series/1143/"><strong>A First Look at RedwoodJS - Complete Series</strong></a></li> <li><a href="https://blog.echobind.com/creating-your-own-jamstack-blog-in-no-time-with-next-js-and-bison-a3cdd507fd61"><strong>Creating Your Own Jamstack Blog in No Time with Next.js and Bison</strong></a></li> <li><a href="https://nextjsnews.com/3"><strong>The Fullstack React Frameworks Competition</strong></a></li> <li><a href="https://www.prisma.io/docs/more/faq#does-prisma-client-support-graphql-schema-delegation-and-graphql-binding"><strong>Does Prisma Client support GraphQL schema delegation and GraphQL binding?</strong></a></li> <li><a href="https://doc.rust-lang.org/book/"><strong>The Rust Programming Language</strong></a></li> <li><a href="https://www.swyx.io/react-distros/"><strong>React Distros</strong></a></li> <li><a href="https://www.youtube.com/watch?v=0krdC_D42IU"><strong>A First Look at RedwoodJS</strong></a></li> <li><a href="https://www.youtube.com/watch?v=P9jZ-Pb8aLw&t=4603s"><strong>Fully-typed fullstack development using Blitz.js</strong></a></li> <li><a href="https://www.youtube.com/watch?v=vB6rmWCmANA"><strong>Build an Event App with Vue.js, Gridsome & Strapi.js</strong></a></li> </ul>

Show notes

About

FSJam is a podcast for developers, designers and entrepreneurs about how to build products and tools for the modern web. Guests from around the web talk about technologies they use and build and how you can use them to build better full-stack applications.