Talks from our events
Latest
All talksDevTool Wars: Across the Browser-verse
JSNation US 2025
19 min
DevTool Wars: Across the Browser-verse

Will Klein shares insights on effective tool usage, exploring various DevTools in browsers. Discussing the evolution of browser features, maximizing benefits with Dev releases, and diverse perspectives in browser DevTools. Exploring color accessibility tools, font and color handling in Safari and Firefox DevTools. Highlighting unique features like font sliders in Firefox and debugging capabilities in Safari. Emphasizing the importance of accessibility tools, using multiple browsers for development, and understanding web workings over relying solely on AI and MCP for debugging.
Agentic CI/CD: from Pull Request to Production without the Paper Cuts
AI Coding Summit
25 min
Agentic CI/CD: from Pull Request to Production without the Paper Cuts

Discussing the evolution of CI CD pipelines to true autonomy, focusing on intelligent workflows, automation challenges, and paper cuts affecting developer productivity. Addressing challenges in software development, including slow reviews, security bottlenecks, complex debugging, and inefficient testing. Transitioning to autonomous decision-making with agentic systems and introducing Continuous Agentic and Continuous Deployment (CCD) as a deeper architecture change. Exploring agentic workflows with autonomous systems that make intelligent decisions and anticipate problems. Transitioning from an assembly line to a collaborative system with an AI pit crew for autonomous CACD workflows. Intelligent triaging filters false positives, ensuring developers focus on real issues. Orchestration of specialized agents into a cohesive team through an orchestrator agent. Vision of self-adaptive pipeline learning, adjusting workflows for optimal balance, elevating roles in agentic systems.
Using Spec-Driven Development for Agentic Coding
AI Coding Summit
17 min
Using Spec-Driven Development for Agentic Coding

Eric Hanton introduces spec-driven development, contrasting traditional waterfall methods with agile approaches. Qiro, an AI IDE coding assistant, evolved from AWS history and garnered positive feedback. QIRO facilitates in-depth feature planning with detailed requirements and design documents. Spec-driven development in QIRO emphasizes checking and rechecking, allowing flexibility in task management. MCP integration enhances task flexibility and information retrieval. Utilizing MCP servers in spec-driven development improves smartness and information integration. Agent steering files enhance JIRA context and accuracy in information retrieval.
The End of Frontend Fragmentation? How Rust is Unifying Frameworks & Tooling
JSNation US 2025
26 min
The End of Frontend Fragmentation? How Rust is Unifying Frameworks & Tooling

Starting a Greenfield project involves choosing frameworks, testing tools, linting, formatting, and runtime with the aim of unifying frameworks and tooling using Rust. The End of Framework Fragmentation with Rust aims for a great Developer Experience (DX) by choosing frameworks and tools based on ease of use, integration, documentation, ecosystem, speed, reliability, and future-proofing. Development benefits from the Vite server with HMR, native ESM, and optimized production builds, aiming to unify tools into the Rolldown bundler. Understanding dependency graphs, build steps, JSX, TypeScript, and bundle optimization are crucial for code organization and user experience enhancement. Bundling optimizes code for faster load times, while tool selection streamlining simplifies production builds. Vappack and OXE offer optimization features, and module resolution, code transformation, build transformation, and minification optimization play key roles in performance. Benchmarking shows SWC and OXC Minify performance comparison, and linting and formatting tools like OxLint and OXC Minify enhance development efficiency. VTest provides seamless testing, aiming for performance and compatibility, with plans for roll on Vite to become the default bundler for smoother processes.
Security meets Usability: Crafting Dynamic and Granular Access Control Solutions
React Summit 2025
21 min
Security meets Usability: Crafting Dynamic and Granular Access Control Solutions

Samhita emphasizes the importance of access control in web applications and the shift towards attribute-based access control for enhanced security. Attribute-based access control considers user attributes, resource attributes, and environmental factors for access granting. Implementation challenges include the need for both front-end and back-end enforcement to prevent bypassing. Permission definition in CASL involves assigning abilities based on user roles using keywords and operators. Policy implementation involves defining policies for UI and server compatibility, grouping policies by resource, and using CEL for conditions evaluation. Access control evaluation requires handling dynamic business logic, enforcing permissions with CASL components, and implementing protected routes based on user permissions.
Reimagine Frontend in the Serverless Era
React Summit 2025
8 min
Reimagine Frontend in the Serverless Era

Evangelia, tech founder of Fioromat Academy, discusses the impact of serverless technologies on frontends, emphasizing a shift towards lightweight, stateless backends split into smaller units and the increased importance of API gateways and serverless functions. The discussion also highlights the significance of optimistic state updates, caching strategies to reduce API calls, resilient connection handling with retries for failed HTTP calls, granular error handling at the component level, and custom fallback UI per component. Overall, the Talk emphasizes the evolving frontend architectures and the necessity of adapting to changes in data structures and technologies.
The AI Developer's Guide to Not Accidentally Summoning Skynet
React Summit 2025
12 min
The AI Developer's Guide to Not Accidentally Summoning Skynet

Introduction to the risks of AI in web development and the potential security threats it poses, drawing parallels to the fictional AI Skynet and emphasizing the importance of understanding and mitigating these risks. Discussion on the OVASP project revealing the top security risks in AI-assisted development, focusing on prompt injection attacks as a significant threat to LLMs. Explanation of prompt injection attacks in AI involving social engineering, role-playing to bypass AI safeguards, and data exfiltration risks, emphasizing the critical threat of privilege escalation in LLMs. Discussion on AI toolkit for authorization in Gen AI projects and the risks associated with over-reliance on AI-generated code, especially in the context of 'white coding' and regex vulnerabilities. Discussion on the risks of using AI-generated regular expressions without validation, the importance of manual review, code analysis, and human approval in AI-assisted development, emphasizing the need for security protocols and vigilance.
AI-Powered Frontend Development: Building Better UIs Faster
React Summit 2025
19 min
AI-Powered Frontend Development: Building Better UIs Faster

Discussing building better UIs faster with AI, emphasizing the use of LLMs as predictive text models and the need to maximize their smart aspects in coding and UI development. Exploring file context management in Cursor IDE and demonstrating quick UI updates using AI for coding efficiency and real-time results. Discussing advanced workflows for efficient development using feedback-driven approaches and incorporating test-driven development for iterative and automated testing in Cursor IDE. Exploring advanced prompt tricks in Cursor IDE for efficient development by writing tests first, updating code iteratively, and enabling autorun mode for automated testing and bash commands. Cursor's Annoying Prompt Behavior, Automated Testing Benefits, and Test-Driven Development for Reliable Code. AI Feedback Importance and AI Testing Complexity with Clear Goals. AI Challenges, Visual Front-End Focus, and Fusion Preview. Integration of Figma Designs for Visual Tweaks, Exploring New Features and Design Systems, Updating Customers Tab and Making Visual Edits, Making Carousel and Visual Updates, Granular Design Updates and AI Integration, Dynamic Updates and Component Refactoring, Tagging Builder Bot for Automated Code Updates.
AI-First Architecture: Why Single Responsibility Matters More Than Ever
AI Coding Summit
18 min
AI-First Architecture: Why Single Responsibility Matters More Than Ever

AI accelerating coding; principles crucial. Embrace change with structure for stable systems. AI as a new team player in system building. Single responsibility principle key for AI integration. Clear architecture aids AI recognition and prevents chaos. Enforcing rules and tests for code integrity in the AI era. Documentation provides context for humans and AI. Importance of investing in GuardDays for improved AI understanding.
Refactoring & Migrations with AI: Smarter Code Transformation at Scale
AI Coding Summit
19 min
Refactoring & Migrations with AI: Smarter Code Transformation at Scale

AI's role in refactoring and migrations. Tools like GitHub, Copilot, OpenAI Codecs improve transformations. Challenges in large-scale projects and AI's impact on modernizing legacy systems. Google and Reddit's success with AI-powered migrations. Framework migrations with AI: pattern recognition, syntax transformation, and seamless transitions. Successful AI refactoring integrates into CI/CD pipelines, providing critical capabilities like automatic quality gauges and continuous improvement through small changes. Challenges and mitigation strategies in AI refactoring, focusing on testing, human oversight, and organizational obstacles.
Featured
Vite and the Future of JavaScript Tooling
JSNation 2025
23 min
Vite and the Future of JavaScript Tooling
Top Content

Evan Yeo discusses Vite's growth, challenges with dependencies like ES Build and Rollup, and the creation of the bundler Rolldown. The JavaScript ecosystem faces fragmentation, but the company aims for a unified JavaScript stack. Rust is chosen for lower-level development, while JavaScript and TypeScript for high-level APIs. Roldown offers advanced bundling features, outperforming existing tools. Integration with Vite leads to tailored optimizations and significant speed improvements. Vite+ development focuses on creating a comprehensive toolkit. VitePlus integrates TS-down for library bundling, ViteTest for testing, and OX-Lint for linting. Future plans include monorepo awareness, build orchestration, and framework-like features.
Motion Control With Multimodal LLMs
JSNation 2025
39 min
Motion Control With Multimodal LLMs

The Talk delves into motion control with multimodal AI, exploring TensorFlow.js models for gesture recognition and enhancing user interactions. It discusses leveraging LLMs for gesture-based interaction, investigating Gemiini for gesture recognition, and controlling light states with Gemini functions. The conversation includes webcam-based gesture recognition, custom gesture databases, and the future of personalized AI assistance with acoustic recognition.
Transformers.js: State-of-the-Art Machine Learning for the Web
JSNation 2025
27 min
Transformers.js: State-of-the-Art Machine Learning for the Web

Joshua introduces Transformers JS and Hugging Face, emphasizing community collaboration and pre-trained models. Transformers JS evolution led to 1.4 million monthly users, supporting 155 architectures. The library's browser-based capabilities offer real-time processing, cost-efficiency, and scalability. Integration enhancements include native web GPU execution and React Native implementation. Web ML implementation focuses on Onyx Runtime for device execution and web GPU for resource optimization. Browser-based ML applications cover vision, speech recognition, and text-to-speech. Advanced implementations include multimodal applications and educational tools. Interactive AI demonstrations showcase semantic search and conversational AI scenarios. Model licensing transitions to ECMAScript for efficiency and model redownloading factors are discussed.
The State of Node.js 2025
JSNation 2025
30 min
The State of Node.js 2025

The speaker covers a wide range of topics related to Node.js, including its resilience, popularity, and significance in the tech ecosystem. They discuss Node.js version support, organization activity, development updates, enhancements, and security updates. Node.js relies heavily on volunteers for governance and contribution. The speaker introduces an application server for Node.js enabling PHP integration. Insights are shared on Node.js downloads, infrastructure challenges, software maintenance, and the importance of update schedules for security.
Twenty Years of Web Testing: From Selenium's Dawn to Vitest's Promise
JSNation US 2024Watch video: Twenty Years of Web Testing: From Selenium's Dawn to Vitest's Promise
22 min
Twenty Years of Web Testing: From Selenium's Dawn to Vitest's Promise

My goal with this talk was to answer the question of why we have another test runner. The talk breaks down the history of web testing into three chunks: the click-through era, browser war one, and browser war two. It discusses the motivations behind browser test runners and node test runners, highlighting Karma as the first node-based runner that gained popularity. The rise of node-based test runners like Ava, Tape, Mocha, and Jest is attributed to their stability and ease of use compared to Karma. Jest faced challenges with module loading and transpiling, but its non-opinionated abstraction made it a suitable choice. The shift towards environment-aware runners like VTest allows for safer testing and aligns with the need for transpilation across different environments. Lastly, the talk touches on the future of test tooling and the implications of AI on testing.
The State of the Web
JSNation 2025
32 min
The State of the Web

Sasha Grief discusses the state of the web through web development surveys, leading to an interactive quiz about the state of JS and usage of front end frameworks. Discussion on popular front-end libraries like React, Vue, Angular, and the rising popularity of TypeScript among developers in recent surveys. Discussion on TypeScript adoption, TC39 committee proposals, favorite CSS feature 'has,' and browser support for 'has' selector. Browser interoperability, browser vendors' initiatives, AI usage among web developers, and survey insights. Job titles linked to higher income, diversity of survey topics, top hobby among developers, and popular specific video games. Learnings on CSS features, TypeScript default, AI usage, survey benefits, challenges in reaching diverse survey participants. Surprising positivity in JavaScript usage, stable framework landscape, AI adoption challenges, mainstream AI tools, successful situp.js survey. Inconsistent respondent numbers, manual data normalization efforts, subjective question selection process, community input, mitigation of selection bias. Reason for starting surveys, transition from Meteor JS, exploration of JavaScript ecosystem.
Thinking Like an Architect
Node Congress 2025
31 min
Thinking Like an Architect
Top Content

In modern software development, architecture is more than just selecting the right tech stack; it involves decision-making, trade-offs, and considering the context of the business and organization. Understanding the problem space and focusing on users' needs are essential. Architectural flexibility is key, adapting the level of granularity and choosing between different approaches. Holistic thinking, long-term vision, and domain understanding are crucial for making better decisions. Effective communication, inclusion, and documentation are core skills for architects. Democratizing communication, prioritizing value, and embracing adaptive architectures are key to success.
Frontend’s Lost Decade and the Performance Inequality Gap
JSNation 2025
32 min
Frontend’s Lost Decade and the Performance Inequality Gap
Top Content

Alex Russell's journey from engineering to product management, the focus on improving web experiences, and optimizing software for end-user success. Considerations include device performance, web diversity, and API constraints. Challenges of web platforms encompass hardware and network limitations, prioritizing user experience. Understanding the impact of Moore's Law on device performance and adapting browsers for efficiency. Emphasis on code optimization, user-focused development, and quality in web UI. Addressing challenges in PWA success, developer learning, and balancing frameworks with platform understanding.
Trending today
The State of Node.js 2025
JSNation US 2025
19 min
The State of Node.js 2025

Matteo Collina presents an updated talk on Node.js, discussing roles, open-source projects, and dispelling myths. He highlights Node.js vitality, contrasts with legacy technologies like COBOL and jQuery. The talk covers Node.js popularity, software reuse, module growth, and download stats. It addresses risks of not updating Node.js, LTS support phases, version updates, adoption rates, security measures, Node 24 features like ESM support and stable permissions. Collaboration processes, TSC role, governance, and benefits of Platformatic VAT for app development are also discussed.
Tanstack Start - A Client-Side First Full-Stack React Framework
React Summit US 2024
30 min
Tanstack Start - A Client-Side First Full-Stack React Framework
Top Content

We surveyed thousands of developers to show that a louder audience leads to a better presentation. There has been a shift in web app development towards server-first architectures, which has improved full-stack capabilities but at the cost of complexity and divergence from the client-centric approach. Tanstec Start is a meta-framework that aims to provide the best client-side authoring experience with powerful server-side primitives. The Tansec Router supports advanced routing features, URL state management, and JSON storage. Combined with the server-side rendering capabilities of TanStack Start, it becomes even more powerful. The TanStack Router has isomorphic loaders and integrates seamlessly with TanStack Query for additional features like polling and offline support. UseSuspenseQuery allows for dynamic streaming of data during SSR. TanStack Start also offers server-side features, API routes, server functions, and middleware. The future plans include RSCs, websockets, real-time primitives, and static pre-rendering. TanStack Start is now in beta and is suitable for building React apps. It is open source.
Embracing WebGPU and WebXR With Three.js
JSNation 2024
27 min
Embracing WebGPU and WebXR With Three.js
Top Content

The 3JS project has evolved into a community-driven effort with numerous contributors over the past 14 years. It started with 3D engine work in Flash and transitioned to using SVGs for rendering in HTML5 before adopting WebGL. The project showcases various projects and frameworks, including a no-code tool powered by 3.js. The team is working on a new render using WebGPU and developing a new shader language called TSL. The hope is that WebGPU will eventually replace WebGL, offering better control and performance.
A Framework for Managing Technical Debt
TechLead Conference 2023
35 min
A Framework for Managing Technical Debt
Top ContentPremium

Today's Talk discusses the importance of managing technical debt through refactoring practices, prioritization, and planning. Successful refactoring requires establishing guidelines, maintaining an inventory, and implementing a process. Celebrating success and ensuring resilience are key to building a strong refactoring culture. Visibility, support, and transparent communication are crucial for addressing technical debt effectively. The team's responsibilities, operating style, and availability should be transparent to product managers.
a11y & Interactive Canvases
JSNation 2025
28 min
a11y & Interactive Canvases

Oli's talk delves into the importance of accessibility and interactive canvases, comparing SVG and canvas rendering for chart components. The discussion includes enhancing SVG elements with ARIA attributes for better screen reader interpretation, implementing accessible canvas using proxy elements, and showcasing interactive elements with focus visibility. The talk also explores dynamic focus indicators, AI integration for screen readers, and the optimization of canvas over SVG for performance. Considerations for EU accessibility testing, direct screen reader APIs, and image-to-speech conversion using TransformersJS are discussed.
Scaling a React Application from 0 to a Brazilian Users
React Summit 2025
19 min
Scaling a React Application from 0 to a Brazilian Users

Three years ago, faced tough decision job change. Chose tech co-founder role for innovative idea 'war with apply to job button' for universities. Startup validation via email engagement with decision makers, avoiding premature seeking of investment. Emphasis on tech stack adaptability, modular design, and reusability. Challenges with third-party library management, component library reorganization, and optimizing CSS loading. Focus on app quality improvement, release process enhancement for global success.
Using UDP in the Browser for faster Client/Server Connections
JS GameDev Summit 2023
21 min
Using UDP in the Browser for faster Client/Server Connections
Top Content

This talk introduces geckos.io, a real-time client-server communication library using UDP and WebRTC. The speaker discusses the benefits of UDP for real-time multiplayer games and explains how geckos.io enables UDP connections between browsers and Node.js servers. The deployment process for geckos.io involves opening UDP ports and handling signaling through an HTTP request. The speaker demonstrates how geckos.io works with Docker and showcases the ability to host multiple servers on the same machine. Overall, this talk provides an overview of geckos.io and its applications in real-time communication.
PrimeVue | The Next-Gen UI Component Library
Vue.js Live 2024
24 min
PrimeVue | The Next-Gen UI Component Library
Top Content

Prime Vue is a comprehensive UI component suite with over 90 components, including date pickers, buttons, tables, and grids. It offers flexibility through styled and unstyled modes, allowing for customization using design tokens or Tailwind. Prime Vue is WCAG compliant and supports Material design. The upcoming version 4 introduces a new theming API using CSS variables, and it includes features like dark mode switching and integration with Figma. The team has plans to release a UI Designer, advanced components, and a drag-and-drop UI Builder in the future.
React Query API Design – Lessons Learned
React Advanced 2024
26 min
React Query API Design – Lessons Learned
Top Content

I'm super excited to be here today, giving my first live talk at an in-person conference. Dominik, the maintainer of React Query, walks through the API design decisions, including success stories, trade-offs, and mistakes. Tener Linsley designed React Query's medium-sized query API to be minimal, intuitive, powerful, and flexible. Major versions in open source require marketing efforts, but not primarily for adding new features. TypeScript is crucial for building projects and managing user demands in open source can be challenging. The addition of the max pages option improved performance and avoided unnecessary refetches. Inversion of control gives users flexibility, but mistakes can happen in API design. Open source requires time management and feedback from users. API design is influenced by typing ease and good TypeScript support. Getting involved in open source involves trial and error and joining community platforms like TanStack Discord. Dominik's journey started during the pandemic and he can be found on Twitter, TanStack Discord, and his blog.
Building React Primitives to Power In-App Messaging
React Summit US 2024Watch video: Building React Primitives to Power In-App Messaging
8 min
Building React Primitives to Power In-App Messaging

Hi, everyone. I'm Chris, the CTO at Nock. We help product teams power user-centric cross-channel notification experiences. Today, I'll talk about extending the abilities of our in-app messaging and how you can power any kind of in-app messaging using our platform. We optimize for flexibility, customization, and a shallow learning curve. Our pre-built React components include a banner, modal, card, and notification feed. All of this comes out-of-the-box, supporting light mode and dark mode. Easily show modals and announcements with no additional code. Own the rendered components for performance and customization. Build custom components with minimal code. Use hooks for fetching data and real-time updates. Noc provides a schema for strong data integrity.
Short takes
A JS Dev's Guide to Not Dismissing Blockchain
JSNation 2025
6 min
A JS Dev's Guide to Not Dismissing Blockchain

Thanking Git Nation and Algorand team. Exploring blockchain's journey to enlightenment. Algorand's role in blockchain solutions like disintermediation, data integrity, and market access. Highlighting businesses on Algorand mainnet like TravelX, Lofty, and LabTrace. Algorand TypeScript simplifies blockchain development with real TypeScript, avoiding complex assembly language. Examples like asset transfers and key-value storage demonstrate accessibility.
WinterTC and How Standards Help Developers
Node Congress 2025
5 min
WinterTC and How Standards Help Developers

WinterTC is working on standardizing JS runtimes to avoid vendor lock-in and provide a universal API. This involves defining which web APIs should be included, such as URL and WebAssembly. The goal is to create a definitive list of APIs for server-side JS runtimes.
Divide and Conquer? - Exploring the 'JS0' and 'JSSugar' Proposal for JavaScript Evolution
JSNation 2025
5 min
Divide and Conquer? - Exploring the 'JS0' and 'JSSugar' Proposal for JavaScript Evolution

JS 0 and JS Sugar proposal for JavaScript evolution. Complexity abstraction to engines. Splitting language into JS0 and JSugar. Lessons learned from developers' concerns and users' preferences. Involvement in shaping JavaScript ecosystem.
React for Good: Creating Inclusive, Secure, and Scalable Applications in Emerging Markets
React Summit 2025
5 min
React for Good: Creating Inclusive, Secure, and Scalable Applications in Emerging Markets

Inosency Andembera, React developer, discusses using React for building scalable, secure, and inclusive applications for emerging markets like Malawi and Africa. Addressing challenges of Internet connectivity, device limitations, security concerns, and inclusivity for first-time Internet users. Utilizing React for performance, security, and inclusion in emerging markets through code splitting, lazy loading, authentication, input validation, multiple language support, and simple UIs. Highlighting React's features in enhancing inclusion by addressing challenges in emerging markets, such as limited digital literacy, creating simple UIs, supporting multiple languages, internationalization, step-by-step UIs, and semantic HTML for accessibility. Zunga, a financial platform in Malawi, showcases React's benefits in addressing financial service gaps, scalability, offline support, and security enhancements.
Improve Your Presentation Skills by Scripting Your Live Coding Demos to Perfection
React Summit 2025
8 min
Improve Your Presentation Skills by Scripting Your Live Coding Demos to Perfection

Elio's tips for perfect live coding: Minimize distractions, prepare well with light themes and larger fonts, adjust cursor style, avoid hover panels. Stay focused on one application during presentations. Changing settings for clarity, stressing the importance of tools like Demo Time for scripted presentations within Visual Studio Code, eliminating context switching between applications, and facilitating audience interaction with shared repositories. Exploring actions in Demo Time: creating code, opening files, highlighting code, and executing VS Code commands for a cleaner presentation. Utilizing Slides for Markdown presentations within Demo Time.
Server Components Wars: PHP Strikes Back
React Summit 2025
6 min
Server Components Wars: PHP Strikes Back

Edoardo, a senior dev rel at Storyblok, delves into server components' intricacies, urging a better understanding. The evolution from PHP to React marked a shift in web development paradigms, emphasizing server-side rendering and dynamic client interactions. Facebook transitioned from PHP to React, introducing XHP subset. Isomorphic JavaScript and server-side rendering emerged with data requests and content rendering. React server components enable server-side rendering with data fetched from DBMS or CMS, emphasizing patterns for seamless transitions to new frameworks.
Auth: Build vs Open Source vs Buy
JSNation 2025
7 min
Auth: Build vs Open Source vs Buy

Authentication is crucial for system security, with options including building, buying, or using open source. Modern security complexities are addressed by purchasing systems with enterprise-level security features. Cost considerations in authentication highlight maintenance and scaling costs, with buying solutions providing peace of mind and predictable costs.
Delivering High-Quality Videos on Your ReactJS Website
React Summit 2025
7 min
Delivering High-Quality Videos on Your ReactJS Website

Raul from ImageKit discusses optimizing and streaming videos, highlighting challenges like resolutions and codecs. Developers can use ImageKit Video API for seamless integration and quick optimization. ImageKit offers streamlined video hosting with real-time optimization and adaptive streaming. It enables easy access to cloud storage and transformation of videos for better user experience.
Next.js Adapters: Build Once, Deploy Everywhere
React Summit 2025
7 min
Next.js Adapters: Build Once, Deploy Everywhere

Hello, React Summit. Excited to talk about Next.js adapters. Evolution towards adapter solutions to simplify deployment complexities. Minimalist adapter interface for customization and structured output handling. Key hooks and configurations for platform-specific optimizations. Partners collaboration for enhanced experiences in Next.js deployments. Simplified, platform-agnostic deployments for better developer experience.
How to Build an Open Telemetry SDK in 7 Minutes
JSNation 2025
6 min
How to Build an Open Telemetry SDK in 7 Minutes

Showcasing adding observability with OpenTelemetry. Benefits of extensive telemetry data for insights. Contrasting uninstrumented, manual, and automatic instrumented apps. Example of instrumenting fetch calls for telemetry signals. Technique for modifying functions without core updates. Using JS proxy as a modern approach for patching. OpenTelemetry standardizes instrumentation with APIs and tools. Example of setting up OpenTelemetry with instrumentations.
Popular
Draft.js, Editor.js, Slate.js: Choosing the Best Text Editor for Your React Project
React Summit Remote Edition 2021
8 min
Draft.js, Editor.js, Slate.js: Choosing the Best Text Editor for Your React Project
Top Content

Welcome to my session on DraftJS, EditJS, and SlideJS. We will discuss their strengths and data model, focusing on React's component and prop model. We will evaluate the editors based on their sustainability, funding, support, maturity, license, editor features, release cycle, data structure, ecosystem, browser support, usage, and GitHub stars. The first editor we'll discuss is Draft.js, which is used by Facebook Messenger, comments, status posts, and the Facebook Notes app. It's funded and supported by Facebook, has a version of 0.11.7, and requires custom code for additional features. The license is MIT. It's a bare metal, in terms of features. The release cycle is semantic version. The data structure is JSON. It's used by 83,000 packages and has 20,000 stars. The data model is made up of blocks with text and entities. It supports various editor features including block styles, inline styles, undo/redo, paste, lists, nested lists, media, and links. Editor.js is a block-based editor written in vanilla JavaScript. It has a 2.19 release, Apache 2.0 license, and a semver release cycle. The data structure is JSON, and there are numerous plugins available. It has 1,500 packages using it and 15,000 stars. The editor features include block styles, inline styles, undo/redo, paste, lists, nested blocks, media, and links.
Handling Breaking Changes in GraphQL
GraphQL Galaxy 2022
22 min
Handling Breaking Changes in GraphQL
Top Content

This Talk discusses handling breaking changes in a GraphQL schema, including the use of the deprecated directive to tag fields that should no longer be used. It also covers the process of deploying GraphQL APIs and mobile apps, highlighting the challenges of mobile app release adoption. The Talk emphasizes the importance of making safe upgrades in mobile apps and provides strategies for detecting and handling breaking changes, such as using TypeScript and GraphQL Inspector. Overall, the Talk emphasizes the need to minimize user impact when introducing breaking changes in GraphQL schemas.
Building Multiplayer Applications with Cloudflare Workers & Durable Objects
Node Congress 2023
27 min
Building Multiplayer Applications with Cloudflare Workers & Durable Objects
Top Content

Durable Objects are a part of CloudFlare's long-term goal to expand application possibilities on workers, allowing for the building of scalable collaborative applications. Durable Objects provide a way to store global state and coordinate multi-client applications. They can be created as close to the user as possible and have unique IDs for routing requests. Durable Objects have a persistent storage API with strongly consistent semantics and IO gates to prevent correctness errors. They are well-suited for collaborative applications and can be used with WebSockets. Performance impact and read replicas are considerations for accessing Durable Objects globally.
Detect and Avoid Common Performance and Memory Issues in Unity WebGL Builds
JS GameDev Summit 2022
10 min
Detect and Avoid Common Performance and Memory Issues in Unity WebGL Builds
Top Content

Today's Talk focuses on avoiding performance and memory issues in Unity WebGL builds. The importance of managing memory and keeping the heap size small is highlighted. Techniques such as using asset bundles or an addressable system can help reduce memory usage. The limitations of garbage collection in WebGL builds are discussed, along with tips for optimizing Unity code. Tools like Backtrace can assist in debugging memory and performance issues.
HTTP/3 Performance for JS Developers
JSNation 2023
21 min
HTTP/3 Performance for JS Developers
Top Content

HTTP 3, also known as H3, is the latest version of the HTTP protocol with new performance-related features. Enabling HTTP 3 requires minimal effort and provides significant benefits, but limits fine-grained control over performance features. Zero RTT has limitations due to security reasons and restrictions on allowed requests. Resource loading and prioritization in HTTP 3 have some problems, as browsers may not agree on resource importance. Fetch priority allows fine-grained control over resource loading order, and resource discovery can be improved with 103 Early Hints. Web transport provides low-level access to QUIC and HTTP3 features for real-time use cases.
React's Most Useful Types
React Day Berlin 2023Watch video: React's Most Useful Types
21 min
React's Most Useful Types
Top Content

Today's Talk focuses on React's best types and JSX. It covers the types of JSX and React components, including React.fc and React.reactnode. The discussion also explores JSX intrinsic elements and react.component props, highlighting their differences and use cases. The Talk concludes with insights on using React.componentType and passing components, as well as utilizing the react.element ref type for external libraries like React-Select.
The Good, The Bad, and The Web Components
JSNation 2023
29 min
The Good, The Bad, and The Web Components
Top Content

Web Components are a piece of reusable UI enabled by web standards and built into the web platform. They offer the potential for faster component initialization and less library overhead. Web Components can be created from scratch and utilized with existing component libraries. Shadow DOM and Declarative Shadow DOM provide benefits such as scoped CSS and server-rendered components. The tradeoff between not repeating oneself and achieving full server-side rendering support is discussed. User experience is deemed more important than developer experience.
React Query - The Bad Parts
React Day Berlin 2024
30 min
React Query - The Bad Parts
Top Content

React Query is a popular library with significant weekly downloads and positive user sentiment. It may have trade-offs like bundle size, but the actual size shipped is smaller. Bundle size optimization can be achieved by exporting only necessary features. React Query's declarative approach eliminates the need for custom data fetching solutions. It offers caching, request duplication, background updates, and more. RackQuery doesn't support normalized caching, but refetching after invalidation works fine. React's vision includes suspense architecture and server components. The documentation could be improved with a more structured flow. TensorStack Query can be a good choice for Next.js apps, but not necessary with mature frameworks. The 10 stack query and router concepts were discussed. Combining React Query with HTTP caching provides a robust caching solution.
TypeScript and the Database: Who Owns the Types?
TypeScript Congress 2022
27 min
TypeScript and the Database: Who Owns the Types?
Top Content

The Talk discusses the use of TypeScript and SQL together in software development. It explores different approaches, such as using an ORM like TypeORM or a schema generator like pg2ts. Query builders like connects JS and tools like PGTyped are also discussed. The benefits and trade-offs of using TypeScript and SQL are highlighted, emphasizing the importance of finding a middle ground approach.
Micro-Frontends With React & Vite Module Federation
React Advanced 2023Watch video: Micro-Frontends With React & Vite Module Federation
20 min
Micro-Frontends With React & Vite Module Federation
Top Content

Microfrontends is an architecture used by big companies to split monolithic frontend applications into manageable parts. Maintaining a consistent look and feel across different microfrontends is a challenge. Sharing styles can be done through Vanilla CSS, CSS modules, or CSS in JS. JavaScript variables can be used in styles, but readability and runtime overhead are considerations. Sharing state in microfrontends can be achieved through custom events, broadcast channels, shared state managers, or custom PubSub implementations. Module federation with Vite allows for client composition and sharing dependencies. Configuration is similar to Webpack, and future work includes working on the QUIC framework.
JavaScript
10 Years of Best of JS
JSNation 2025
28 min
10 Years of Best of JS

Michael discusses the evolution of JavaScript from its early days to modern server-side capabilities, the impact of jQuery, Node.js, and single-page applications with popular libraries like Backbone and AngularJS. The emergence of UI libraries like React, Vue.js, and Angular, alongside meta frameworks like Next.js, Remix, Veltkit, and Solid with server components. The Best of JS project tracks JavaScript project trends, filters out deprecated projects, and monitors GitHub stars for maintenance. The importance of maintaining project relevance, adding new projects continuously, and classifying projects under meaningful tags. The evolution of TypeScript, tool releases like Deno and Burn, styling evolution from CSS to headless components, and the impact of Tailwind CSS. Analysis of CSS optimization, CLI ecosystem, tooling trends, emerging tools, and JavaScript development trends over the past decade.
Temporal: The Curious Incident of the Wrong Nighttime
JSNation 2025
25 min
Temporal: The Curious Incident of the Wrong Nighttime

Speaker's involvement in Temporal proposal and TC39 meetings for JavaScript standardization. Date conversion challenges faced in development. Addressing time zone discrepancies with Temporal to prevent bugs. Exploration of Temporal types and design philosophy. Usage of Java's time zone serialization in JavaScript Temporal. Challenges in implementing Temporal proposal and its transformative potential in ECMAScript.
Temporal: Modern Dates and Times in JavaScript
JSNation US 2024
22 min
Temporal: Modern Dates and Times in JavaScript

I'll speak today about the Temporal proposal, which adds modern date and time handling to JavaScript. Temporal is an API that'll be available in browsers soon and will add a built-in library for dates and times, avoiding the need for external libraries like Moment. It offers strong typing with different types for different data, such as calendar dates with or without time. Temporal objects are immutable and designed to work with JavaScript's internationalization facilities. It addresses deficiencies in the global Date object and introduces types like instant and plain types for accurate representation of time and dates across time zones. With the old Date, representing a date without a time can be problematic, especially in time zones where midnight is skipped due to daylight saving time. Temporal introduces types like PlainDate, PlainTime, PlainYearMonth, PlainMonthDay, and ZonedDateTime to accurately represent different scenarios. Additionally, there is a type called Duration for arithmetic operations and unit conversion. Now that I've introduced you to the cast of characters in Temporal, it's time to show how to accomplish a programming task. We'll start with an easy task: getting the current time as a timestamp in milliseconds using the instant type. To convert between Temporal types, you can either drop or add information. The toZonedDateTime method is used for conversion and requires adding a time zone and a time. Although Temporal objects are immutable, you can create new objects with replaced components using the with method. Migrating from the old Date object to Temporal offers a more reliable solution and avoids potential bugs. Check out the documentation for more details and enjoy using Temporal in your codebase!
React
Evaluating React Application Performance with a Sip of RUM
React Day Berlin 2024
10 min
Evaluating React Application Performance with a Sip of RUM

Hello, everybody. How are we all doing? I'm going to talk about Rome, OpenTelemetry, and identifying performance bottlenecks and issues in React applications. The pillars of observability are logs and metrics. Logs are structured messages that warn, indicate, or error. Metrics include throughput, latency, custom and core web vitals. Traces allow us to see through the pathway of our application and identify bottlenecks. One common open standard for collecting these signals is open telemetry. React's client instrumentation is experimental and mostly unspecified. The open telemetry demo provides an example of front-end tracing in React, giving you a unique service name and basic metrics. The demo shows an HTTP POST request with the pathway and timing. The open telemetry project is still working on core web vital metrics and other enhancements. Real user monitoring (RUM) fills the gaps in open telemetry, capturing missing information. In conclusion, we discussed the importance of capturing logs, metrics, and traces and provided resources for further exploration.
Everything You Thought You Knew About React Functional Components Is Wrong
React Summit US 2024
22 min
Everything You Thought You Knew About React Functional Components Is Wrong

Thank you for coming to React Summit! I wanted to create clarity around React Hooks and provide tools for troubleshooting React issues. Functional components in React are different from class components in terms of their lifecycle. Understanding the creation and destruction of objects in JavaScript is crucial to comprehend the behavior of functional components. Creating functions and objects that are not used can lead to memory waste and system resource consumption. Storing references to variables can keep them in memory, so it's crucial to ensure there is a direct path from window to the variable. This talk discusses creating objects and storing them in React components using useState and useMemo. It emphasizes the importance of using useCallback in cases where a callback is going into a component with a large state tree to avoid unnecessary renders. The talk also explores different approaches to handling data retrieval and update in React components, highlighting the use of useRef as a solution to access and update data in server-side data sources. Overall, the talk provides insights and tools for troubleshooting issues in React functional components.
How to React Compiler
React Summit 2025
20 min
How to React Compiler

Introduction to React compiler, differences from React 19, installation of Babel plug-in React compiler, specifying target React versions, and how React compiler detects and processes component dependencies. Configuring React compiler settings, exploring default options and configurations, utilizing React compiler playground website for configurations, dealing with JSX markup re-computation. React compiler feature for extracting JSX from array map callbacks, limitations of enable function outlining, enabling JSX outlining for separate functions. Function memoization in React compiler, React compiler beta stage, potential errors with React compiler. React compiler error: memorization preservation, hidden messages, validation settings. React compiler: validation tools, hooks treatment, memorization challenges. Changing hooks to functions for React compiler optimization. React Compiler usage considerations and potential optimizations.
Panel Discussion: The State of React
React Summit 2025







35 min
Panel Discussion: The State of React








7 authors
Panelists introduced themselves and discussed React Server Components (RSCs), exploring usage in production and alternative frameworks. Challenges of adopting RSCs and benefits of universal data fetching were highlighted. The complexities of implementing RSCs were discussed, emphasizing the need for better integration. The potential of server components for composability and evolving architecture was explored. The React compiler's impact on performance optimization and component re-rendering was examined. Discussions included enhancing React with compiler features, evolving feature sets, and reimagining state management. Improvements in communication, community engagement, and dependency management within the React ecosystem were emphasized. Recommendations for managing dependencies, component performance, and audience appreciation were shared.
The State of React
React Summit 2025
26 min
The State of React

Introduction to the State of React survey and the history of developer surveys. Detailed analysis of survey results, user demographics, and job titles. Examination of React API trends, user sentiment towards APIs, and new API challenges. Analysis of React library satisfaction, particularly with Next.js. Discussion on React state management and data loading, including pain points. Insights on React library usage patterns and application trends. Key takeaways include staying calm, appreciating foundational React elements, and relying on data for a balanced view.
Build AI Apps in 5 Minutes: Live Demo With Vercel AI Sdk, v0.dev, and Rag!
React Summit US 2024
12 min
Build AI Apps in 5 Minutes: Live Demo With Vercel AI Sdk, v0.dev, and Rag!

I'm doing a quick lightning talk today, talking about saying no to boilerplate and teaching you how to build an AI app in just minutes. We're going to talk about RAG, v0, fine-tuning for sales AI to SDK, and then talk a little bit about Entity Resolution and your AI toolkit. RAG is a hot topic in chatbot development and allows for creating chatbots with a deeper understanding of specific use cases. Rag offers a versatile AISDK that allows for easy model switching, augmentation, and fine-tuning. Entity resolution is important for resolving entities across multiple points of data, with use cases in personalized marketing, healthcare, and fraud detection.
Our Own React Global State Manager in Less Than 50 Lines of Code
React Summit 2025
26 min
Our Own React Global State Manager in Less Than 50 Lines of Code

Speaker delves into global state management in React, mentioning Redux and alternatives like React context. Creating a global state manager in under 50 lines of code with React context, highlighting challenges with performance and React specificity. Building a custom hook named user store for state management, implementing state and API for store, handling partial state updates efficiently. Managing listeners for state changes, setting up custom hooks and selectors, and subscribing to external stores. Demonstrating optimization in state management and preventing unnecessary button re-renders. Discussion on Redux, Signals, debugging, and various global state management choices like Zestand and Redux toolkit.
The State of React and the Community in 2025
React Summit 2025
29 min
The State of React and the Community in 2025

Mark Erickson discusses the state of React in 2025, React community debates on React's direction and misconceptions, React's shift towards client-side frameworks and SSR emphasis, React's feature development process at Meta and Vercel, controversy around Vercel's server components involvement, tight relationship between React and Next, React team's emphasis on frameworks for app performance, critique of React's heavy-handed framework recommendation, React team's delay in adding VEET as a recommended tool, challenges with server components' origins and communication, no official signals support planned for React 19, social media impact on React development decisions, React community diversity and server components usage insights, React's evolving black box concept and tradeoffs discussed.
Let's Build Suspense 🥁
React Summit US 2024
20 min
Let's Build Suspense 🥁

Hi, my name is Julian and I am super excited to be speaking at React Summit this year. Today, I will be talking about Suspense on the server and its importance in React server components. React server components allow us to differentiate between static and dynamic components, improving performance and user experience. Suspense improves performance by introducing streaming and out-of-order streaming. We can implement suspense on the server by creating a suspended object to store the suspended children and swapping out the loading state for the actual content using custom elements. Multiple suspense boundaries can be used to render individual loading states for different sections, improving the user experience.
Node.js
The State of Node.js 2025
JSNation US 2025
19 min
The State of Node.js 2025

Matteo Collina presents an updated talk on Node.js, discussing roles, open-source projects, and dispelling myths. He highlights Node.js vitality, contrasts with legacy technologies like COBOL and jQuery. The talk covers Node.js popularity, software reuse, module growth, and download stats. It addresses risks of not updating Node.js, LTS support phases, version updates, adoption rates, security measures, Node 24 features like ESM support and stable permissions. Collaboration processes, TSC role, governance, and benefits of Platformatic VAT for app development are also discussed.
Run TypeScript Natively in Node.js
JSNation 2025
28 min
Run TypeScript Natively in Node.js

Discussion on TypeScript adoption in Node.js, typescript's popularity, challenges in integrating TypeScript with Node.js due to versioning differences, introducing strip types to remove non-JavaScript syntax, leveraging the SWC library through Amaro for efficient code execution, Node.js support for TypeScript with experimental strip types, enabling transform types and source maps by default, TypeScript evolution with new flags for type checking, TypeScript ESM code evaluation in Node, issues with TypeScript and JavaScript syntax ambiguity, collaboration between Node.js and TypeScript teams, recommendations on using TypeStripping for production projects, comparison of performance between TS Node and Node for TypeScripting, handling type definitions and runtime checking in TypeScript using Zod.
What's in a Node.js Bug – A Case Study
Node Congress 2025
23 min
What's in a Node.js Bug – A Case Study

I'm going to talk about character encodings, specifically a Node.js bug related to UTF-8. Two popular encodings are UTF8 and UTF16. The bug was discovered in August 2024 and was traced to a specific pull request in the Node.js core repository. The bug is caused by an incorrect implementation of the fast write string method. Lessons learned include the importance of naming conventions and thorough testing beyond coverage analysis.
The Alleged ‘End’ of Node.js Is Much Ado About Nothing
Node Congress 2025
26 min
The Alleged ‘End’ of Node.js Is Much Ado About Nothing

Hello, welcome to Node Congress 2025. Node is not dead and will remain popular for a long time. Node has a large number of downloads across different platforms. Despite known vulnerabilities, older versions of Node are still widely used. Node.js is an active and thriving project with a strong focus on security. Recent updates have introduced new features and improvements, including ESM support, stable threads, and web platform compatibility. Node is governed by the OpenJS Foundation and maintained by collaborators. Consensus-seeking is important for the project's development. Start contributing and be part of the future of Node.js.
Speeding Up Your Node Sever With Rust
JSNation 2025
21 min
Speeding Up Your Node Sever With Rust

Talk on improving Node server efficiency with Rust. Node's ease of use but inefficiency for some tasks. Example of a slow express server handling high scores inefficiently. Native modules in Rust provide a safer alternative to C for improving efficiency. Rust empowers developers to build reliable and efficient software, with strong static typing and immutability by default. Rust's result and option enums handle error and value absence cases. The ownership system in Rust ensures safe memory management without manual intervention. The importance of ownership in Rust for memory management and error prevention. Writing native modules in Rust with NAPI for easier project creation and code integration. Exploring the efficiency gains of using Rust's native modules for faster performance and reduced risks in development.
The Path to Native TypeScript
Node Congress 2025
24 min
The Path to Native TypeScript

Today's Talk discusses the integration of TypeScript in Node.js. The path to native TypeScript in Node.js is explored, including the history of user requests for native support. Implementing TypeScript in Node.js poses challenges due to differences in stability guarantees and tool compatibility. TypeStripping is a transpilation-focused implementation that removes non-JavaScript features, making it stable across TypeScript versions. The Amaro package, built on SWC, provides compatibility and speed for type stripping. Experimental Strip Types and Transform Types flags enable erasable TypeScript features. TypeScript has limitations such as namespace and enum support in JavaScript and code migration issues. TypeScript Import Types and Syntax Detection are ongoing developments. Ambiguity in syntax between JavaScript and TypeScript is addressed with an erasable syntax only flag. Future steps include bug fixing, performance improvements, and upcoming Node.js releases.
JavaScript File Handling Like a Pro: From ZIP Streams to Memory-Efficient Parsing
JSNation US 2025
24 min
JavaScript File Handling Like a Pro: From ZIP Streams to Memory-Efficient Parsing

Node.js offers significant capabilities for efficient file handling, emphasizing the importance of processing files effectively to avoid crashes and memory issues. Understanding streams, backpressure, and stream concepts like readable, writable, duplex, and transform streams is crucial for efficient file handling. Streams enable working with data in chunks, ensuring stable memory usage and efficient applications. Backpressure in streams optimizes memory usage by processing data incrementally, unlike loading entire files into memory. Utilizing readable streams in processing improves concurrency and avoids blocking the event loop.
Make Hono work on Node.js
Node Congress 2025
15 min
Make Hono work on Node.js

Today's Talk is about making Hono work on Node.js. Hono is a backend for web frameworks that supports TypeScript. It started as a Cloudflare workers framework and now supports multiple runtimes. The Node.js adapter allows Hono applications to run in Node.js by converting Node.js APIs into web standard APIs. Benchmark tests show that Hono is faster than Express but slower in some core areas. The Node.js adapter has been widely used and has undergone performance improvements. Overall, adding Node.js support to Hono has been successful in reaching more users and improving quality.
Node.js + TypeScript: A Native Integration Years in the Making
JSNation US 2025
19 min
Node.js + TypeScript: A Native Integration Years in the Making

Welcome to JS Nation. Marco Ippolito discusses NodeJS and TypeScript integration, challenges, and growth. TypeStripping in Node.js removes TypeScript syntax for execution. Efficient TypeStripping in Node 22 skips SourceMaps, aligns with TypeScript versions. Enhanced features in Node 22 support experimental TypeScript features with limitations. Node.js supports TypeScript features with erasable syntax and namespace in Node 23.8. Importing types correctly crucial to avoid errors. Node.js TypeScript integration update includes switching to TypeScript, browser support, and community involvement.
Running Java in Node.js with WebAssembly
Node Congress 2025
19 min
Running Java in Node.js with WebAssembly

Hello, everyone. Welcome to my talk on running Java in Node.js with WebAssembly. Many organisations have a lot of Java code, and as they adopt newer technologies such as Node.js or CloudFloat workers, maintaining interoperability with this existing code becomes important. WebAssembly is a stack machine-based thing, like the JVM, but with a different instruction set. It improves over Asm.js with a new binary format and supports streaming compilation, SIMD, and 64-bit integers. Compiling Java code to WebAssembly involves converting JVM instructions, handling local slots, recovering if statements, and understanding control flow. Short circuit conditionals and loops are important to consider in the conversion process. Additionally, memory allocation, object creation, and program memory are key concepts. Overall, this talk explores the challenges and techniques involved in running Java in Node.js with WebAssembly.
Testing
The 2025 State of JavaScript Testing
JSNation US 2025
27 min
The 2025 State of JavaScript Testing

Speaker reflects on the importance of testing, shares insights from the state of JS survey, and discusses future plans for JavaScript testing in 2025. Companies are exploring testing tools and methodologies based on surveys and personal data. Evolution of testing practices from browser to node-based environment with VTest adoption. Advancements in testing technology include VTest's role, Playwright for end-to-end testing, and comprehensive testing solutions. Progress in self-healing tests, AI integration, and tool resurgence like Storybook and MSW for API mocking. Diverse opinions on testing in 2025, with a focus on static analysis, VTest, and end-to-end testing resurgence to browser.
Advanced Playwright Techniques for Flawless Testing
JSNation US 2024
20 min
Advanced Playwright Techniques for Flawless Testing

Hi, everyone. My name is Debbie O'Brien, Principal Technical PM at Microsoft. I'm focusing on Playwright, a reliable end-to-end testing tool for modern web apps. It works on any browser and platform, has powerful tooling, and tests run fast. Advanced techniques include UI mode, HTML reports, and trace viewer. Use annotations in Playwright to enhance reporting and test organization. Mocking API responses and external links is possible with Playwright. You can also test date and time by setting a fixed fake time. Playwright offers CLI test options and has a vibrant community. Join the Playwright Discord server and follow the important docs and YouTube channel for more information.
Testing the Waters With Deno
JSNation 2025
24 min
Testing the Waters With Deno

Today's discussion delves into testing in Deno, emphasizing its simplicity and built-in tooling. Deno offers a seamless testing experience for developers, allowing tests to be written in TypeScript without extensive setup. The platform supports BDD-style testing, provides various assertion types, advanced features like code coverage and snapshot testing, and allows for filtering tests based on keywords. Additionally, Deno facilitates component testing, dependency mocking, and migration of test suites from Jest to Deno with minimal changes.
Accessibility Granted: Building Inclusive Components One Test at a Time
React Summit US 2024Watch video: Accessibility Granted: Building Inclusive Components One Test at a Time
18 min
Accessibility Granted: Building Inclusive Components One Test at a Time

At Evinced, the mission is to make the web more accessible for everyone. Accessibility issues are common despite intentions. Today's Talk focuses on coding in an accessible way using TDD to catch defects early. Unit tests can be written to ensure accessibility requirements are met. Testing Library provides utilities for testing accessibility. The ATDD approach allows continuous creation of tests for compliance. Unit testing is valuable for complex components. Advanced has developed an SDK called the Unit Tester for automating accessibility tests.
Inside the Engine: How Modern JS Test Runners Work and the Traps They Hide
Node Congress 2025
22 min
Inside the Engine: How Modern JS Test Runners Work and the Traps They Hide

Hello, I'm grateful that you chose to watch my talk. Thank you. Last week, I had to run some unit tests while I was coding. Business performance can be awesome. It has very interesting and outstanding features. These test sets are overly complex. It's easy to find yourself troubleshooting for hours. VTest has almost 200 configuration options. By explaining how things work, we can answer questions about using complex third-party runners versus the built-in node.js runner. Understanding better helps avoid pitfalls, troubleshoot faster, and identify opportunities for configuring things better. The CLI layer does validation and hands over to the VTest class. It searches for test files, runs them efficiently using a pool of workers, and ensures isolation to prevent issues with dirty state. VTest uses the piscina library to facilitate work with multiple workers and improve performance. The workers prepare by setting the right globals, initializing snapshots, deciding the test runner file, and starting coverage collection. Each worker executes all the tests in a file and sends an RPC message when done. The decision to reuse or create a fresh worker is determined by the isolate configuration option. Consider spreading tests among more files to fully utilize the machine. Choose between process, thread, or VM as the worker type. In terms of isolation, you can choose between using a process, a thread, or a VM. Process is the heaviest in terms of performance cost, while thread is lighter. VM performance depends on known slower aspects like accessing globals. Process is the classic choice for stability, but thread has limitations and known issues. VM has reporting issues with memory leaks. Benchmark results showed that using multiple processes was 50% better for real-world applications, but for unit tests, one process was ten times faster. Thread was slightly faster than process, and VM was slower. The price of isolation with process worker types was approximately three minutes. Without isolation, the tests lasted only two minutes, much faster, but with a few failures. Threads showed similar results with a few failures. The risk of dealing with testing issues increases without isolation. By default, tests run sequentially inside workers, but you can configure them to run in parallel using the 'concurrent' keyword. However, tests still run sequentially despite specifying 'concurrent'. Concurrency in VTest is based on promises and requires asynchronous work. Unit tests run sequentially and concurrency has no isolation. Mocking in one test affects other tests running simultaneously. In choosing worker configurations, it depends on the context. In-file concurrency is best avoided, and the process worker type is recommended as the default. Isolation is crucial in integration tests but not mandatory in unit tests. Inside the worker, a TypeScript file is handled, and failures can occur when mocking functions. Mocking doesn't work in the worker. The worker handles TypeScript files and transpiles them using Vite server. Vite server replaces imports and hoists the mocking. Vite introduces a new module loader in the runtime. Vite hoisted the mock to the first line in the transform code to make it before the import. Additionally, Vite changes mocks to dynamic imports, ensuring that mocking works. Vite intercepts function calls on the file import level, but cannot intercept calls between functions in the same file. Moving function two to a different file or using an object export can solve this issue. Function one calls function two on the same object context. Use Spy to replace functions inside the object. Vite offers a range of plugins for different functionalities. You can fix import issues by customizing Vite's runtime. The Vite server handles dependency resolution and transformation. Consider using the built-in test runner or mockup for small-scale testing. Gain a better testing experience with Vite's customized runtime.
At the Top of the Pyramid: Playwright Testing at Scale
React Summit 2025
25 min
At the Top of the Pyramid: Playwright Testing at Scale

Introduction to Playwright as an end-to-end testing tool with easy installation and code generation. Features include visual comparisons, API testing, and best-in-class developer experience. Playwright offers AI capabilities, practical testing tools, and innovative testing strategies. Challenges in testing specialized domains are addressed, along with best practices for test dependencies and readability. Optimizing testing efficiency through parallelism, code organization, and network cache usage. The discussion also covers test performance enhancement, managing workers, optimizing dependencies, stability of test functions, and the use of Playwright sharding in CI/CD runs.
AI-Powered E2E UI Testing: Faster Creation, Easier Maintenance
JSNation US 2024
10 min
AI-Powered E2E UI Testing: Faster Creation, Easier Maintenance

Hello, everyone. Today we are going to explore AI-powered end-to-end testing. Unlike unit tests, UI testing has a huge layer of obstructions between the source code and the rendered UI. The source code includes HTML, CSS, and TypeScript, which are transpiled into JavaScript and bundled with tools like Webpack. AI can generate tests effectively for standard websites or blogs, but it may struggle with niche applications behind strict authorization or on-premise tools. AI-powered end-to-end testing for complex scenarios requires our guidance. We use meaningful data test IDs and follow the page objects model pattern. Additionally, we rely on useful tools like the end-to-end test helper in-browser extension and the continue IDE extension. Now, let's proceed to the demo, where we will create tests for the Pokemon application, including the ability to filter by name or type. We will navigate to the Pokemon details page and use our extension to manage settings and prompts. Additionally, we will create the details page object together and generate the test file. The Pokemon details page has 105 elements. We can view the elements for debugging purposes, including page object name, Pokemon details page, and system message. We will copy the page object and save it to a file. We need to make it exportable. Then, we will use the extension to create an end-to-end test and pass the context. I will use all the open files, including the page objects and the test case itself. I will send them to EI along with the predefined prompt. There is a system message and additional information we need to be aware of. The test runs successfully, and that concludes this part.
Validating the Web: The Evolution of Form Validation
React Summit 2025
20 min
Validating the Web: The Evolution of Form Validation

Exploring the evolution of web forms from HTML2 to Web 3.0 and the crucial role of form validation in application development. The importance of form validation, challenges, and the need for better approaches. Introducing VEST as a flexible validation tool inspired by unit testing frameworks. Highlighting VEST's logic separation, asynchronous validation, and advanced features like caching. Discussing warning states, user guidance, and the impact of form validation on user experience and application success.
Upcoming events
Subscribe to the top JS conferences
and grow in-depth as engineer with insights from library authors and core teams
Learn more









































































