Talks from our events
Latest
All talksFast Track Design to Code With Figma MCP
JSNation US 2025
23 min
Fast Track Design to Code With Figma MCP

Riccardo, a developer advocate at Figma, discusses the challenges of transitioning from design to code and the role of a developer advocate in bridging the gap between designers and developers. Figma's tools like DevMod, Code Connect, and Figma MCP server aim to bridge the gap by providing seamless connections between design and code. The Figma MCP server enhances design-to-code workflow by improving agent understanding of design elements, resulting in better code generation and alignment with design intent. Recommendations for optimizing design-to-code output include reusing components, implementing Code Connect, connecting design variables to code tokens, naming layers appropriately, utilizing AutoLayout, and adding annotations for clarity and context in the code. Building and sharing a design system involves generating iOS UI code with specific language and framework, and open-sourcing a design system with custom rules and guidelines for agents. Enhancing agent capabilities through multiple MCP server connections for efficient design-to-code synchronization and communication is crucial.
React-First Micro Frontends in Regulated Industries
React Advanced 2025
23 min
React-First Micro Frontends in Regulated Industries

Welcome to React-first micro-frontends in regulated industries. Introduction to micro-frontends and subdomains in web applications. Challenges of developing applications in regulated industries with strict rules and compliance regulations. Challenges of managing documentation and dependencies in micro front end solutions. Challenges in transitioning to a hybrid centralized-distributed approach for micro front ends. Control and orchestration in microfront-end environments; decentralized development and deployment with centralized oversight. Teams can choose not to upgrade to the latest version immediately; orchestration involves provisioning for end users and utilizing feature flags. In production, carefully selected microfront-ends are used. Using React offers advantages like easy version updates and dependency management. Avoid tightly coupling components from different micro-frontends. Opt for a loosely based approach with a registry in the central app shell for registering necessary fragments.
DevTool 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.
Beyond Chat Bubbles: Building React Apps Where AI Generates Your UI
React Advanced 2025
20 min
Beyond Chat Bubbles: Building React Apps Where AI Generates Your UI

Introducing different AI interaction styles like chat interface vs. generating interactive interfaces for learning. Evolution of AI interfaces from text-based apps to tailored UIs based on user needs. Generative UI applications creating visual interfaces with AI. AI-driven UI component selection ensuring safety and flexibility. Challenges of true code generation for React or HTML. Balancing AI development approaches for innovation and reliability. Foundational aspects of AI SDK and generative UI with React components. Enhancing learning with voice-enabled interaction and expanding AI applications with voice UI. Voice-enabled workflow automation for various tasks. Utilizing production-ready AI technology for adaptive interfaces.
What's Under the Pointer?
React Advanced 2025
30 min
What's Under the Pointer?

Let's discuss Tealdraw, a versatile application with a whiteboard feature similar to Miro and Excalitraw. Tealdraw offers an SDK, tealdraw.dev, enabling innovative creations like a liquid simulation. Challenges in Tealdraw included optimizing hit testing, managing selection logic, and addressing shape interactions. The debugging geometry view allows for efficient handling of canvas data and hit detection. Tealdraw's approach to hit testing involves bounding boxes, shape hierarchy navigation, and handling user interactions with polygons. The talk explores technology choices, resolving logic levels, and utilizing CSS masks in Tealdraw, emphasizing the importance of user interaction and efficient hit testing processes.
Type-Safe URL State Management in React With nuqs
React Advanced 2025
30 min
Type-Safe URL State Management in React With nuqs

François West introduces Nux, a URL state manager for React, offering teleportation and time travel abilities. Nuxt addresses browser rate limits on URL updates and creates entry points into the app by putting state in the URL. Nuxt.js allows for server-side rendering and shareable UI creation with a declarative approach. URL source is used as a truth for state handling and debouncing URL updates is finalized in Nuxt.js. Type-safe URL parameter handling and compression parsing are supported, ensuring security and routing safety with TanStack integration.
Building Desktop Apps Out of Web Apps: Scaling Electron With Code Signing & CI/CD
JSNation US 2025
23 min
Building Desktop Apps Out of Web Apps: Scaling Electron With Code Signing & CI/CD

Ayole Aonseola discusses converting web apps into desktop applications using Electron, emphasizing challenges with code signing, CI CD, and industrial scaling. Electron architecture focuses on security with context isolation and node integration. Engineering hurdles include distributing applications across OSs, implementing automation for error prevention, and ensuring app authenticity through code signing. Mac-specific configurations, like app bundle ID and notarization, are crucial. Building universal apps for Mac and Windows requires understanding differences in building environments and certificate access. Automation of signing processes with Azure and GitHub streamlines workflows, handling EV tokens and securely managing certificates. CICD automation includes base64 certificate encoding and triggering build processes on tag pushes.
Vanilla Server Components
React Advanced 2025
24 min
Vanilla Server Components

Krasnzony discusses the introduction of vanilla Server Components inspired by React Summit, focusing on challenges of using components outside a framework. The talk emphasizes improving user experience in React apps through HTTP streaming, sending data to the browser with script tags, and implementing asynchronous components for server-side rendering. Enhancements to React rendering include the pipeable string API for data rendering and server-side dynamic rendering transitioning to client-side interactivity. Challenges in supporting server components and transitioning to server-oriented components are also explored.
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.
Frontend Internationalization That Reads Like English (Thanks, gettext!)
React Summit US 2025
19 min
Frontend Internationalization That Reads Like English (Thanks, gettext!)

Henry Lee presents a frontend internationalization approach using React and discusses challenges in naming keys for translations. The Talk addresses issues with naming keys in JSON dictionaries, refactoring keys to eliminate translation challenges using GNU GetTex, exploring GetTex workflow for efficient localization with Lingui, defining messages and extraction with Lingui workflow, optimizing Lingui compilation and translation, enhancing Lingui features for translation, and encouraging Lingui adoption for projects by addressing reasons for underutilization and promoting trial and migration.
Featured
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.
Never Worry About CORS Again
JSNation US 2025
28 min
Never Worry About CORS Again

Talk on Bund: Overview of Bund, its speed optimization, components like runtime, package manager, test runner, and bundler. Efficient features include fast npm manager, pnpm lockfile support, Jest-compatible test runner, and optimized runtime components. Built-in features like modern password hashing, WebSocket server, file glob API, and database clients. API design focuses on common use cases and optimization. Enhanced JavaScript functionality with SIMD, native code, and performance improvements. Challenges in JavaScript productivity, BUN adoption, deployment, and support. React support, community involvement, security, Next.js compatibility, and transition.
Rethinking Bundling: Why You Don’t Need Less JavaScript
JSNation US 2025
30 min
Rethinking Bundling: Why You Don’t Need Less JavaScript

The speaker, Daniel, shares insights on his role as an open source maintainer, projects Nuxt and Nitro, and living in Edinburgh. Nuxt, a full-stack framework, evolved with community support, emphasizing community-driven development. Optimization strategies for JavaScript, CSS, and font loading in Nuxt were discussed. Integration of Nuxt Scripts for web performance, challenges in meta framework development, and considerations for Nuxt V3 rewrite were highlighted. Future plans include smoother migrations and open-source access to emoji slides integration.
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.
The AI-Native Software Engineer
JSNation US 2025
35 min
The AI-Native Software Engineer

Software engineering is evolving with AI and VIBE coding reshaping work, emphasizing collaboration and embracing AI. The future roadmap includes transitioning from augmented to AI-first and eventually AI-native developer experiences. AI integration in coding practices shapes a collaborative future, with tools evolving for startups and enterprises. AI tools aid in design, coding, and testing, offering varied assistance. Context relevance, spec-driven development, human review, and AI implementation challenges are key focus areas. AI boosts productivity but faces verification challenges, necessitating human oversight. The impact of AI on code reviews, talent development, and problem-solving evolution in coding practices is significant.
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.
Keeping Up with The Fast and Furious Web
JSNation US 2025
29 min
Keeping Up with The Fast and Furious Web

Scott Talinsky's journey in web development highlights his transition from YouTube tutorials to creating educational content and courses, reflecting his passion for teaching. The evolution of web development tools showcases advancements from limited colors to modern frameworks like React and CSS features like squircles. Adapting to new technologies emphasizes core skills and freedom in tool selection. User-centric development prioritizes accessibility and understanding the purpose of tools. Learning strategies focus on fundamentals, hands-on learning, and avoiding influencer bias. Standing out in tech roles requires quality projects, broad knowledge, and effective communication.
From Segments to Suspense: The Future of Next.js Caching
React Advanced 2025
27 min
From Segments to Suspense: The Future of Next.js Caching

Introduction to Cache Components in Next.js 16, transforming the app router with new features like partial pre-rendering, Dynamic I.O., and caching directives. Deep dive into static params generation in Next.js focusing on changes in generating static params for improved performance. Exploring challenges of generating static params and balancing static vs. dynamic rendering for better performance. Addressing challenges with cache components, optimizing static and dynamic rendering for improved performance. Understanding impact of parameters on rendering with cache components, managing dynamic components, and introducing suspense boundaries for faster page loads. Enhancing cache life APIs, introducing a new caching model for static outputs in Next.js. Revolutionizing cache management with granular control over cache lifetimes and dynamic segment configuration. Navigating data and caching in Next.js, exploring cache components guidance and caching differences between server and client components.
The Dark Side of Micro-Frontends
React Advanced 2025
29 min
The Dark Side of Micro-Frontends

In the Talk, various key points were discussed regarding micro-front-end architecture. These included challenges with micro-intents, common mistakes in system design, the differences between micro-intents and components, granularity in software architecture, optimizing micro-front-end architecture, efficient routing and deployment strategies, edge computing strategies, global state and data sharing optimization, managing data context, governance and fitness functions, architectural testing, adaptive growth, value of micro-frontends, repository selection, repo structures, and web component usage.
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.
Trending today
A Comparison of Web Workers
Node Congress 2022
25 min
A Comparison of Web Workers

This Talk compares web workers, including dedicated workers, shared workers, and service workers. Web workers provide multithreading capabilities and use shared memory for higher performance. Dedicated workers have one parent and can execute on a separate thread. Shared workers can have multiple parents and are useful for communication across different windows. Service workers can intercept and proxy requests made from a web page and are useful for caching network assets and building progressive web apps.
TypeScript Gymnastics: Why Are They So Powerful for You?
JSNation 2025
23 min
TypeScript Gymnastics: Why Are They So Powerful for You?

The Talk delves into TypeScript, highlighting its introduction, differences from JavaScript, and providing code examples. It emphasizes the significance of strict typing in TypeScript, showcasing the use of literal types and union types for precise type modeling. The discussion also covers template literal types for creating combined types and precise type matching, as well as conditional handling without if statements and function type inference. Furthermore, it explores looping, recursion, object type manipulation, key manipulation, mapper type, and TypeScript utility types for efficient property management and type manipulation.
Yarn: From Design to Implementation
DevOps.js Conf 2024
31 min
Yarn: From Design to Implementation
Premium

Today we'll discuss the evolution and implementation of YARN, which focuses on determinism and stability. YARN Modern was re-architected to support projects with multiple packages and embraced Monorepos. YARN 2 improved workspace implementation, codebase partitioning, and stability. Dependency resolution and linking in YARN are handled by different resolvers and fetchers. YARN has a plugin system, a constraint engine, and a redesigned website. It prioritizes compatibility, performance, testing, and contributions to other projects.
TanStack Start 1.0 - A New Full Stack Framework for React and Friends
React Summit US 2025
29 min
TanStack Start 1.0 - A New Full Stack Framework for React and Friends

The speaker introduces Tanstack Start, emphasizing type safety for better development experiences. Tanstack Start offers a client-first approach with seamless server-side integration. Tanstack Router provides server-side solutions like SSR and API routes. The demo showcases Tanstack CLI usage and server functions. Tanstack Start enables isomorphic code with server-only logic. Enhanced data validation and URL state management are highlighted. TanStack Start enhances React development speed and quality. Integration of trpc with SSR data-only mode simplifies application migration. TanStackRouter focuses on type safety and advanced functionality compared to ReactRouter.
React Server Components - Under the Hood
React Advanced 2021
19 min
React Server Components - Under the Hood

This talk provides an overview of React Server Components. It explores rendering the root element, using react-read-in-a-tree to read the webpack manifest, and performing work and JSON serialization. The talk also discusses the drain handler and client-side components, as well as challenges and future improvements in React Server Components.
Meet React Flight and Become a RSC Expert
React Day Berlin 2024
31 min
Meet React Flight and Become a RSC Expert
Top Content

My name is Mauro and I work for a company called Doubleloop in Italy. Today, I'm going to share my learning journey through puzzles and challenges related to React Server Components (RSC). RSC allows for server-side rendering and streaming of components. React flight, a protocol used to serialize and share rendering jobs, is a key feature of RSC. RSC can be used without a server, known as React Serverless Components. Using RSC, different types of content can be switched using the useState hook. RSC can be effectively used on a server by starting Node.js with a specific flag. Client-only components recognized by RSC can be executed on the client. React Streaming Components introduces the streaming concept and allows for continuous updates of the page. Advanced features of React Streaming Components include asynchronous rendering, suspense, and recursion. The React Strange Constraints challenge focuses on optimizing rendering by sending the initial page as HTML. The use of a proxy and RSE payload allows for client hydration of RSC. The possibility of using languages other than JavaScript, such as Rust, for server components is explored. RSC has the potential to become a language-agnostic protocol. The meaning of client-server roles in RSC can be extended. RSC offers streaming capabilities and the ability to balance server and client work. Infinite streaming is possible with server sockets. RSC hydration is believed to be faster than regular hydration. The Talk concludes by encouraging questions during the Q&A session.
How an RSC Framework Enables Server Actions
React Advanced 2024
25 min
How an RSC Framework Enables Server Actions
Top Content

I'm Daisuke Kato, an open source developer. I've developed React libraries like Zest, Jota, and Valsio. Now, I'm working on a new React framework, Waku. It's a team project that started a year and a half ago. Recently, we added support for server functions. This talk is about server functions and React Server Components (RSC), which allows running React on a server. RSC includes server components and functions and can render components at build time. It leverages serialization provided by a React library. Server components are an extension that allows rendering on the server and merging with client components. Let's explore the implementation with code. RSC allows the use of server and client components. The server serializes the client component into the RST payload. A client reference acts like a URL and is used to retrieve the actual client component. Creating a client reference involves code transformation. Server functions allow the client component to call a function on the server. Server function and client component are both functions that need to be serializable. Creating server references has multiple ways. The framework transforms user code for different situations. Waku now supports server functions. Supporting server function is a challenging task, but we've done it. Thank you for your talk.
How Good is AI at Coding React (really)?
React Summit US 2025
33 min
How Good is AI at Coding React (really)?

Exploring AI's impact on React coding quality and the importance of context, tools, and practices in leveraging AI effectively. AI as a force multiplier, differences between vibe coding & AI-assisted engineering, AI models' competencies in React prompts, and React developers' favorable position amidst AI advancements. AI's implications for React development, complexity cliff in React work, and AI's design challenges for React developers. React work's complexity cliff, Design Arena benchmarks for AI design capabilities, AI's design challenges for React developers. AI's role in visual design control, Design Arena's insights on scaffolding impact, AI's UI scaffold capabilities and human judgment necessity. Vercell's Next.js evals, Webbench by ByteDance, and Web Dev Arena insights on AI performance in web development. Gemini 3 and GPT-5 catching up in design models, exploring website code generation, and design sensibility in AI for React workflow. Solving the purple problem in AI training, tips for using AI in React development for building sites, and managing AI like a junior developer. Evaluating AI's performance in complex tasks, lessons on using AI like a developer, and the importance of specificity and human oversight in AI usage. Enforcing productivity and supervision, addressing context failures through engineering and providing comprehensive context for agent performance. Template for context engineering, controlling tooling quality, using Context-7 for fresh docs and examples, leveraging MCP servers for real data, and improving overall quality loop. Connecting tools for closed-loop coding, Vive coding for rapid product creation, UI components for isolated, reusable components. UI components arena focus on isolated, reusable components and visual comparisons. Guidance for UI component generation and complex 3D and data visualization models for interactive experiences. AI assistants integration strategies for 3D and data visualization. Importance of specific details like libraries and scene descriptions for optimal AI assistance. Balancing control with AI model generation and the critical factors in AI code success or failure. Debugging workflow lessons applicable to all; New flow state in AI-assisted development focusing on orchestration and code creation; Gemini 3 launch for web development and design leadership. Website aesthetics and design improvements; Proactive tool utilization for React devs; Embrace AI for faster product development. AI in automated debugging with AI agents; Limitless potential of AI in coding quality; Image generation tools for slides; Addressing security and architectural regressions in AI-generated code. AI's Impact on Future Frameworks and Team Alignment in Workflow Standardization. Strategies for Context Bugs and Workflow Optimization.
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.
Advanced linting rules with ESLint
TypeScript Congress 2023
10 min
Advanced linting rules with ESLint

Tibor Blanesy from Sonar presents advanced techniques for linting with ESLint, including the use of ControlFlowGraph to detect errors in code. The algorithm is based on liveness analysis, which identifies live variables at any point in the program. Additionally, the talk covers the computation of block sets using the difference between outset and kill set unionized with genset.
Short takes
How To Get The Most Out Of the Cloud As A Front-End Developer
React Summit US 2025
7 min
How To Get The Most Out Of the Cloud As A Front-End Developer

Front-end developers benefit from cloud services like AWS S3 and Lambda. AWS offers services like Cognito for identity management and Bedrock AI models. AWS Amplify provides Hosting and Cloud Development Kit for efficient development. The Cloud Development Kit is recommended for TypeScript deployment. AWS Amplify connects front-end to AWS services and SDK for back-end. QR code feedback is available for the talk.
Optimizing the Path From Design to Production in Engineering Workflows
React Summit US 2025
7 min
Optimizing the Path From Design to Production in Engineering Workflows

Akbar, developer advocate at Figma, highlights the importance of exploration, representation, and production in product development. Figma leverages design systems and AI tools for efficient transition from representation to production, optimizing expertise and automating non-critical tasks. Seamless integration between design elements and the app is achieved through tools like Code Connect and Copilot, fostering collaboration between design and code.
Using Spec-Driven Development for Production Workflows
JSNation US 2025
7 min
Using Spec-Driven Development for Production Workflows

We're discussing spec-driven development and the innovative AI IDE, QIRO, that supports this approach. QIRO focuses on structured specifications before coding, aiding developers in creating designs. The QIRO mascot, a playful ghost, symbolizes the essence of spec-driven development. Eric Hanchett discusses QIRO, emphasizing its spec-driven development feature integrated into the IDE. QIRO aids in in-depth feature planning, resembling a structured requirements approach. Coding assistants benefit from detailed examples for efficient development. Exploring Manual Coding Assistance: Creating user requirements, building design documents, and task lists manually. Example of using spec mode in a coding assistant to break down requirements, create designs, and implement features.
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.
Everyone Is Now a Manager - Interfaces in the World of Agents
TechLead Conf London 2025: Adopting AI in Orgs Edition
6 min
Everyone Is Now a Manager - Interfaces in the World of Agents

Sam Kmezverk's talk covers the evolving tech landscape, emphasizing key principles for agents' implementation in tasks and decision-making processes. Addressing challenges in agent orchestration, debugging system issues, and cultivating user trust are crucial for successful interface development.
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.
Shipping AI Under Constraints: Build, Buy, or Kill
TechLead Conf London 2025: Adopting AI in Orgs Edition
8 min
Shipping AI Under Constraints: Build, Buy, or Kill

Dave, Engineering Manager at Capital Untap, shares a story of AI failure and lessons learned from moving too fast in AI development within the company. The AI team focused on developing a chatbot for customer service, which became a flagship initiative under engineering governance. Issues with accuracy and complexity led to pausing the chatbot project and exploring third-party vendors. Capital OnTap reset AI processes by integrating AI engineers into product teams, emphasizing standard engineering over specialized AI teams.
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.
From Experiment to Enterprise: Scaling AI Coding Assistants Across Engineering Teams
TechLead Conf London 2025: Adopting AI in Orgs Edition
9 min
From Experiment to Enterprise: Scaling AI Coding Assistants Across Engineering Teams

Sharing insights on scaling AI coding assistance & adopting AI native dev tools. Discussing the need for a shift from viewing adoption as a tech problem to a change management challenge. Exploring a tactical framework with three key phases: onboard, adopt, succeed. Emphasizing the importance of onboarding developers, ensuring access to licenses, and setting clear policies to avoid 'shadow AI'. Highlighting the necessity of human infrastructure for successful AI dev tool implementation, including AI advocates, communities of practice, and executive sponsorship. Adoption strategies require a focus on interconnected metrics and all pillars simultaneously. Leadership checklist for post-conference actions involves measuring metrics, distinguishing between strategic and tactical points, and staying connected through platforms like WhatsApp and LinkedIn.
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.
Popular
Composition vs Configuration: How to Build Flexible, Resilient and Future-proof Components
React Summit 2022
17 min
Composition vs Configuration: How to Build Flexible, Resilient and Future-proof Components
Top Content

Today's Talk discusses building flexible, resilient, and future-proof React components using composition and configuration approaches. The composition approach allows for flexibility without excessive conditional logic by using multiple components and passing props. The context API can be used for variant styling, allowing for appropriate styling and class specification. Adding variants and icons is made easy by consuming the variant context. The composition and configuration approaches can be combined for the best of both worlds.
Build a Design System with React and Tailwind CSS
React Summit 2022
27 min
Build a Design System with React and Tailwind CSS
Top Content

This Talk discusses design systems and how to build one using React and Tailwind CSS. Tailwind CSS provides utility classes for building complex layouts without writing CSS rules. Custom colors can be added to the Tailwind CSS config file, and font styles and text sizes can be customized. The entire Tailwind CSS configuration can be customized to meet specific requirements. Base styles can be added to the config file itself using a plugin. Reusable components can be created with Tailwind CSS, allowing for easy customization of size and color.
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.
Vue: Feature Updates
Vue.js London 2023Watch video: Vue: Feature Updates
44 min
Vue: Feature Updates
Top Content

The Talk discusses the recent feature updates in Vue 3.3, focusing on script setup and TypeScript support. It covers improvements in defining props using imported types and complex types support. The introduction of generic components and reworked signatures for defined components provides more flexibility and better type support. Other features include automatic inference of runtime props, improved define emits and defined slots, and experimental features like reactive props destructure and define model. The Talk also mentions future plans for Vue, including stabilizing suspense and enhancing computer invalidations.
Simplifying Server Components
React Advanced 2023Watch video: Simplifying Server Components
27 min
Simplifying Server Components
Top Content

React server components simplify server-side rendering and provide a mental model of components as pure functions. Using React as a library for server components allows for building a basic RSC server and connecting it to an SSR server. RSC responses are serialized virtual DOM that offload code from the client and handle interactivity. The client manifest maps serialized placeholders to real components on the client, enabling dynamic rendering. Server components combine the best of classic web development and progressive enhancement, offering the advantage of moving logic from the client to the server.
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.
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.
How Much RAM Is Your UseMemo Using? Let’s Profile It!
React Day Berlin 2023Watch video: How Much RAM Is Your UseMemo Using? Let’s Profile It!
20 min
How Much RAM Is Your UseMemo Using? Let’s Profile It!
Top Content

Memory usage is often overlooked in web applications, but excessive memory usage impacts performance and user experience. It's important to analyze memory usage and optimize it, considering concepts like count versus size and shallow versus retain memory. The Chrome Memory Profiler and Memlab are useful tools for analyzing memory usage. By optimizing React components and using tools like Memlab, memory usage can be reduced significantly. React hooks can be expensive for large-scale projects, and memory analysis is a challenging task.
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.
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.
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.
React
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.
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.
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.
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.
React Strict Dom: Cross-Platform React Based on the Web
React Summit US 2025
29 min
React Strict Dom: Cross-Platform React Based on the Web

Talk on cross-platform React using ReactStrict DOM to unify web and native React, standardizing for consistent UI development. Fragmentation challenges in React due to lack of standardized styling systems, impacting development efficiency and product consistency. Exploring unsuccessful cross-platform React approaches and the importance of minimizing migration costs. Enabling web developers to build native apps with React Native while enhancing it with web APIs for seamless code migration. Benefits of code sharing for cross-platform apps, AI integration for React Strict DOM, and the future vision for React Native as a web renderer. Unified styling in React Native, Tailwind integration, and UI best practices. Flexibility and readiness in React DOM, potential inclusion in React Foundations, and considerations for reversibility of decisions in React DOM.
React Beyond the DOM
React Summit US 2025
27 min
React Beyond the DOM

Eric Rasmussen discusses React beyond the DOM, React PDF, Ink tools, and rendering to Markdown. The overview includes React Reconciler, host configuration, state management with real-world entities like light bulbs, and building a traffic light state machine visually. The talk also covers securing third-party JavaScript, expanding React rendering possibilities, advanced tooling for state machines, controlling light bulbs via renderer callbacks, server functions for fetch in the cloud, and potential robot programming with React.
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.
Plug and Play Design: Building Extendable React Applications
React Summit US 2025
29 min
Plug and Play Design: Building Extendable React Applications

Mateusz Jagodziński, principal developer at Synergy Codes, shares insights on Plug and Play Design Building Extendable React Applications, discussing feature flags, modularity, and real-world use cases. Challenges of feature flags, the concept of alternative modular design for feature management, and the importance of modularity in code organization and development. Configurability and limitations in feature management, showcasing a plugin-based design for flexible tool versions and code manipulation. Explanation of plug and play design for code manipulation and version control with full type safety in TypeScript projects. Exposing functions to register new plugins, organizing plugins' logic within individual folders, and implementing a build setup with a replacement mechanism for plugin files. Replacing missing plugins with a fallback code, enforcing restriction on direct plugin imports, and visualizing the relationship between plugins, adapters, and application components. Exploring pros and cons of self-contained plugins, addressing implementation overhead, and discussing the value of enforced modularity for AI coding tools. Discussing plugin management decisions based on client needs and the scalability of the approach with changing requirements and minor tweaks. Handling plugin version tracking, automated testing challenges, and feature control based on environments. Adapters and maintaining plugin compatibility through iterations and cosmetic changes, leveraging existing solutions for simplicity. Discussing the implications of not shipping separate builds for multiple customers and considering the benefits of smaller bundle size. Exploring the ease of trying out new features with separate plugins to assess overhead and developer experience.
Suspenseful Component Composition
React Summit US 2025
12 min
Suspenseful Component Composition

Simeon Griggs discusses Suspenseful Component Composition, the use of fallback props, and the basics of suspense in React applications with a demo showcasing data fetching and layout shifting. Exploring issues with data fetching and suspense boundaries. Addressing the challenges of using suspense boundaries and data fetching for individual rows in React applications. Creating consistent fallback elements for smooth loading experiences in tables by aligning sizes and optimizing data fetching placement. Optimizing data fetching placement for smoother loading experiences. Consider exporting suspense boundary to enhance code cleanliness and be defensive against data fetching errors. Use error boundaries to handle errors in suspenseful data fetching components for a smoother user experience.
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.
Node.js
NodeJS & AI: Building Smarter Applications
Node Congress 2025
19 min
NodeJS & AI: Building Smarter Applications

Today's Talk explored combining Node.js and artificial intelligence to build smart applications. Two types of models, closed and open source, were discussed, with closed models accessed via an API and open source models hosted locally or on the cloud. The use of RAC (Retrieve of Method Generation) to enhance models was explained, along with the process of obtaining data and improving retrieval performance. Chunking, embedding, and vector databases were introduced as techniques for organizing and transforming data. The Talk also covered data retrieval using semantic search and the generation of human-readable answers using models. The concept of enhancing models with agents was discussed, focusing on how agents break down complex goals and utilize external functions. The use of tools and the React pattern in implementing agents was highlighted. Lastly, the Talk touched on implementing agent patterns and enhancing LLMs, with demos and code available for further exploration.
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.
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.
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.
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.
What We All Pretend to Know: The Differences Between the JS Engine & JS Runtime
JSNation 2025


11 min
What We All Pretend to Know: The Differences Between the JS Engine & JS Runtime



2 authors
The talk delves into the intricacies of JavaScript engine and runtime, emphasizing the importance of understanding execution processes for effective development and debugging. It discusses how JavaScript engines optimize code through parsing, abstract syntax trees, and byte code execution. Strategies for optimizing code include maintaining type stability, using type-stable arrays, and consistent object shapes to avoid deoptimization. Recommendations for enhancing JavaScript execution involve ensuring input type consistency, using type-stable arrays, and understanding the event loop's role in code execution across different runtimes and engines.
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.
Node.js: More Threads Than You Think
React Advanced 2025
32 min
Node.js: More Threads Than You Think

The talk covers a range of topics including Node.js evolution to a multi-threaded system, scaling with the cluster module, managing PM2 for efficient orchestration, challenges in SSR frameworks, TCP SO reuse port for resource utilization, VAT architecture for smart service routing, zero downtime deployment with shared cache, performance benchmark results, PM2 performance challenges, legality and functionality of TCP SO reuse port, kernel balancing considerations, tool comparison between PM2 and Deno, cache consistency challenges, VAT architecture with worker thread recovery, T-scaling for vertical scaling, and updating Node V6 applications.
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.
Testing
Fast-Tracking Quality for Hundreds of React Applications With Automated Testing Layers
React Advanced 2025
29 min
Fast-Tracking Quality for Hundreds of React Applications With Automated Testing Layers

Discussion on improving release cycles and testing efficiency, transitioning to React Native, quality assurance challenges addressed through redefined responsibilities and test automation, shift-left approach for early testing and diversification of automated tests, efficient test execution with caching strategies, impact of caching on CI performance, efficiency with change recognition and caching, project-specific approaches for testing, test optimization with AI and Pyramid test structure, QA team transitioning to engineering, handling unautomated tests and test association, maintaining test stability with Git revert strategy.
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.
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.
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.
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.
Automated Accessibility Testing in React: Beyond the Basics
React Advanced 2025
9 min
Automated Accessibility Testing in React: Beyond the Basics

Introduction to Accessibility Testing in React applications, emphasizing early automation and challenges in scaling. Importance of instant feedback, Unity test, and entry testing for code accessibility. Utilizing end-to-end testing tools like Jest-Axi and Cypress to ensure accessibility compliance. Emphasis on manual testing alongside automated tools. Encouragement for discussions on LinkedIn to enhance accessibility knowledge.
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




































































