HolyJS 2025 Autumn
2025-11-20..2025-11-21
-- online --
HolyJS ·
[HolyJS 2016 Piter, HolyJS 2016, HolyJS 2017 Piter, HolyJS 2017, HolyJS 2018 Piter, HolyJS 2018 Moscow, HolyJS 2020 Moscow, HolyJS 2021 Piter, HolyJS 2021 Moscow, HolyJS 2022 Spring, HolyJS 2022 Autumn, HolyJS 2023 Spring, HolyJS 2023 Autumn, HolyJS 2024 Spring, HolyJS 2024 Autumn, HolyJS 2025 Spring, HolyJS 2025 Autumn]
who it's for
frontend developers, full stack developers, node.js developers, web performance engineers, engineering managers, devtools and QA engineers, TypeScript developers
topics
Node.js 2025 platform update; Canvas 2D and WebGL animations; web audio visualization with FFT; Svelte versus Vue implementation differences; measuring JS abstraction costs with V8; RAG pipelines on Node.js with Chroma; caching strategies and service workers; debugging LLM applications in JavaScript; building backends with Nuxt; React Server Components under load; Critical CSS implementation for load metrics; static ECMAScript interoperability analysis
| title | author | length |
|---|---|---|
| State of Node.js 2025: While You Were Building Frontend... | Igor Antonov | 46m |
Overview of major recent Node.js platform changes and useful new features that affect development; review of backend development tooling in the Node ecosystem… | ||
| Creating Animations in JS: Canvas 2D and WebGL | Artem Yashin | 46m |
Shows how to create animations for videos using JavaScript when many moving elements are needed, comparing rendering approaches with Canvas 2D and WebGL… | ||
| Creative Coding: Sound Visualization | Igor Anikin | 43m |
A practical introduction to creative programming and generative art that walks through building a web-based sound visualizer and a no-code alternative. Covers… | ||
| Svelte — Is It the Smoker's Vue? | Evgeniy Kucheryavyy | 44m |
Compares Svelte and Vue by tracing shared features and mutual influences (for example single-file components), explaining which ideas each borrowed from the… | ||
| Measuring the True Cost of Abstractions in JavaScript | Yuriy Karpov | 46m |
Compares performance of JavaScript abstractions like reduce, map, forEach across different datasets by building a three-level analysis: inspect V8 source… | ||
| Constellations of Composables | Denis Chernov | 46m |
Talk explains what Vue Composition API composables are, why they can be confusing, and practical patterns for organizing and using composables in a project. It… | ||
| Building a RAG System on Node.js | Aleksandr Korzhikov, Pavel Kiselev | 01h 28m |
Shows how to build a Retrieval-Augmented Generation (RAG) pipeline in Node.js that uses RSS feeds as the external data source. Covers choosing and comparing… | ||
| How to Make High-Quality Architectural Decisions | Pavel Vostrikov | 46m |
Covers how to prevent and fix low-quality software architecture by introducing validation and iterative correction of architectural decisions. Describes… | ||
| An AI Agent for Auditing Frontend Applications | Artem Shovkin | 44m |
An approach to building an AI agent that audits frontend applications by analyzing code, styles and runtime metrics (Lighthouse, DevTools, and custom… | ||
| Web Caching: Strategies, Pitfalls and Modern Tools | Ilya Sokolov | 47m |
Covers client-side web caching: explains HTTP cache validation using ETag and Last-Modified and why simple fresh/stale logic is insufficient; examines Service… | ||
| The Most Secure Framework | Anastasiya Egorova | 44m |
Talk examines web-framework security by comparing how different frameworks handle common vulnerabilities and developer mistakes, aiming to separate myths from… | ||
| Debugging tools for LLM apps in JS | Anton Nepsha | 45m |
Overview of debugging tools for JavaScript LLM/AI-agent applications, comparing LangGraph Studio, LangSmith, LangFuse, Arize Phoenix and Lunary. Explains each… | ||
| This wonderful world without a GUI, or How to survive in the terminal with JavaScript | Marat Zimnurov | 43m |
Covers using JavaScript to run and deploy frontends inside the terminal (ASCII/terminal UIs, tmux, QEMU/container passthrough) to avoid full GUI stacks, save… | ||
| From Latin to async/await: archaeological digs in JavaScript | Sergey Solovev | 44m |
A historical and conceptual tour of JavaScript tracing ideas from early language, writing and formal logic through lambda calculus to modern JS. Covers… | ||
| Why you (probably) need Effector | Edvard Gigolaev | 41m |
Effector is presented as a state manager for modern frontend apps that handles asynchronous flows, data streams, and many dependencies without magic. The talk… | ||
| Building your own DevTools Console | Aleksey Nagovitsyn | 46m |
A practical walkthrough of building a JavaScript DevTools Console as a frontend-only SPA, covering developer experience (DX) decisions, use of eval-based… | ||
| Drive yourself to burnout: only harmful advice | Valeriya Zelenaya | 44m |
Presentation describes common causes and accelerants of burnout in IT and gives ironic “bad advice” framed as concrete habits to worsen burnout (e.g., drinking… | ||
| Building a backend with Nuxt | Andrey Elkin | 56m |
Shows how to use Nuxt 3 with Nitro to build a backend (not just SSR/frontend), addressing the common advice against combining frontend and backend in one app… | ||
| Refactoring the polyfills recipe | Dmitriy Kholstinin | 45m |
Looks at polyfill delivery for web apps using tools like core-js, babel-preset-env and browserslist; explains current out-of-the-box delivery, configuration… | ||
| Web perf: squeezing maximum performance from enterprise projects | Pavel Uvarov | 46m |
Walks through performance analysis of a micro-frontend test app for large enterprise projects with legacy code. Covers performance metrics, React rendering… | ||
| Flawless error handling in TypeScript | Aleksey Tushinskiy | 44m |
A practical approach to error handling in TypeScript: the talk analyzes error-management problems, shows how to design error handling to align with program… | ||
| Reinventing the BFF: how Yandex Market reworked its client service architecture | Egor Bykhovtsev | 45m |
Describes how Yandex.Market redesigned its client-facing backend-for-frontend: a Node.js service that handled thousands of RPS and combined API gateway and… | ||
| Interactive assistant: block the entire UI and make the user happier | Georgiy Mikhal | 44m |
An engineering team built an open-source library that implements guided, step‑by‑step interactive scenarios which lock the UI while users complete business… | ||
| Pattern mayhem: a binary tree in types | Andrey Sokolov | 47m |
Shows how to implement a binary tree entirely in the TypeScript type system, using TypeScript’s type-level features rather than runtime code. Focus is on… | ||
| REACT_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED | Ivan Malyugin | 58m |
Examines React internals that leak into real apps: how to locate a component Fiber from a DOM node and three reliable access methods, plus which private hooks… | ||
| Chord-style declarativity — defeating networking boilerplate | Dmitriy Din | 42m |
Presentation describes Chord, a JSON-RPC–based networking framework for TypeScript that replaces REST to reduce boilerplate. It shows how Chord enables… | ||
| An AI engineer on your team, or Devin, do my work for me! | Den Ilin | 47m |
Presentation describes using an AI engineer called DevinAI to complete frontend and full‑stack tasks in a team, recounting about 100 tasks processed and noting… | ||
| Unsinkable static | Ilya Zyablitsev | 43m |
Covers serving static assets (HTML, CSS, JS, images) as projects grow, defining a baseline level of static-asset delivery you should never go below, and… | ||
| Compiling TypeScript | Vladimir Tsyshnatiy | 43m |
Talk explains a technique to compile TypeScript ahead-of-time like C++/Rust instead of running it via JS engines. It covers tooling and implementation details… | ||
| React Server Components under production load | Oleg Postnikov | 42m |
Examines React Server Components (RSC): the underlying architecture, failure modes and limits, and how RSC can be used without a dedicated server. Compares… | ||
| Tech fitness: how to effectively level up hard skills | Nikita Ulshin | 45m |
Talk explains a practical system for steadily improving developers' hard skills without burnout. It covers daily, low-effort practices — integrating learning… | ||
| How to implement Critical CSS and how it will improve loading metrics | Maksim Medunetskiy | 43m |
Describes implementing Critical CSS generation at runtime for VKontakte because many pages change dynamically (user settings, A/B tests, varied content) so… | ||
| The document’s journey from file to editing: processing 1,000 pages and not dying | Vasiliy Kubarko | 44m |
Explains how a modern web text editor processes a document from the file stage to interactive editing, describing the technologies used (browser-based editor… | ||
| Animations of unusual frontends | Andrey Kuznetsov | 48m |
Presentation explains how the 2GIS web map implements performant visual effects and model animations using WebGL 3D rendering when standard front-end animation… | ||
| Creating your own query language as an alternative to your forms | Maksim Chuguev | 41m |
Describes replacing complex UI forms with a custom query language to speed up creating business rules; the team built their own AST using ANTLR 4, integrated… | ||
| Leaky sieve of types: understanding subtype relationships in TypeScript | Vasiliy Alfertev | 45m |
Examines TypeScript’s type system gaps that can cause runtime bugs despite clean, compilation‑error‑free code by focusing on how TypeScript’s compatibility… | ||
| Repository in Nuxt with GraphQL: a Data Layer that doesn’t turn into spaghetti | Vsevolod Kochnev | 42m |
Shows how to replace ad-hoc useFetch calls in Nuxt + GraphQL apps with a Repository-style data layer so components contain no network logic and backend changes… | ||
| JSON in → App out: from tables and documents to graphs and agent memory | Artemiy Vereshchinskiy | 58m |
Explains shifting from table/document data models to graph- and agent-memory-oriented models so frontend teams can build search engines, AI-first and… | ||
| Progressive Web Applications: when “progressive” sounds ironic | Denis Kondratev | 40m |
Talk covers building a Progressive Web App that replaces native apps across platforms (iOS, Huawei, etc.), describing unexpected cross-platform limitations and… | ||
| Closing | Semen Levenson, Vasiliy Koryanov | 11m |
A closing session that summarizes the HolyJS 2025 Autumn conference, highlights memorable moments, and outlines future plans. Hosts Semyon Levenson and Vasily… | ||
| Static analysis of ECMAScript to assess its interoperability | Aleksandr Maltsev | 44m |
Describes using static analysis to ensure ECMAScript code interoperates with target runtime versions without polyfills or transpilation. Covers working with… | ||
| Video transcoding on the web | Stepan Mikhaylyuk | 47m |
Shows how to build a video transcoder that runs entirely in the browser using client-side technologies, explaining when browser-based transcoding can replace… | ||
| Opening | Tema Senyukov, Timur Gafiulin | 10m |
An opening session presenting the HolyJS 2025 Autumn schedule and session lineup, sharing logistical and program information about what attendees can expect… | ||
| nothing matches | ||