HolyJS 2024 Spring
2024-04-15..2024-04-27
-- 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]
as the organisers put it
HolyJS 2024 Autumn — a JavaScript conference. Dozens of technical talks on JS development for frontend, backend, web3 and more. Discussions on frameworks and tools in a JS community atmosphere!
who it's for
frontend developers, frontend architects, React developers, full stack developers, framework engineers, web performance engineers, engineering managers
topics
Next.js server components; streaming with Suspense; app router SSG ISR; Bun versus Node performance; CQRS in NestJS; SVG icon pipeline and masking; Nuxt 3 and Vite migration; Zero Error Policy with Sentry; microfrontends with Module Federation; custom Vue renderer to canvas; HTML5 games monetization; HTTP/3 and UDP for web games
| title | author | length |
|---|---|---|
| Next.js: How Do You Even Render? | Tema Senyukov | 45m |
Explains how rendering in Next.js has changed after React introduced server components and Next.js adopted them. Covers the differences from traditional… | ||
| A Frontend Architecture Guide for 2024 | Aleksandr Guzenko | 45m |
Overview of frontend architecture options in 2024: compares specific tools and architectural approaches, explaining their strengths and weaknesses and how each… | ||
| Principles of Mathematical Thinking | Aleksey Savvateev | 52m |
Overview of core methods and language of mathematical thinking: use of specialized symbols, notation and academic terminology versus everyday and school… | ||
| Bun vs Node: Which Is Really Faster? | Viktor Khomyakov | 45m |
Compares runtime performance of Bun and Node.js by analyzing published benchmarks and adding new measurements; discusses differing methodologies and… | ||
| CQRS in NestJS | Viktoriya Dolzhenko | 44m |
Explains how to implement CQRS-style command-based architecture in NestJS using CommandBus. Starts from a small app built with a classic service-layer, then… | ||
| Icons and How They Are Prepared | Petr Zhemchugov | 44m |
The talk surveys icon tooling history and current approaches, explains why many different solutions exist, and presents a single, old-but-effective solution… | ||
| Vueeee! How We Migrated Hundreds of Projects to Vue 3 and Survived | Nikita Zuyanov | 45m |
The talk explains migrating a large platform (over 400 projects) from an older stack to Nuxt 3 + Vite and Vue 3. It describes the Ozon platform's internal… | ||
| Zero Error Policy: Discovering Errors Faster Than Users | Maksim Zemskov | 44m |
Covers the Zero Error Policy for web apps: a process where every runtime error is detected by monitoring, analyzed by the team, and fixed when needed. Explains… | ||
| The Evolution of Microfrontends | German Panov | 45m |
Covers the history and motivation for adopting micro-frontends at Tinkoff Service, implemented with Angular and Webpack Module Federation. Explains… | ||
| Vue.js Renderer: Rendering the App to Canvas and Beyond | Denis Chernov | 47m |
Explains what a Vue.js renderer is and how rendering can target outputs other than the DOM (for example canvas or PDF). Walks through how to write a custom… | ||
| HTML5 Games: Can You Make Money in 2024? | Aleksey Lebedev | 46m |
Overview of earning potential from HTML5 games in 2024: market size (billions of dollars), popular genres and game classes on distribution platforms, and… | ||
| Rewriting Hexlet's editor from JS to TS: challenges, results and statistics | Kirill Mokevnin | 46m |
A talk about rewriting a production Hexlet training app from JavaScript to TypeScript: it explains why the team migrated, what benefits TypeScript provided and… | ||
| Generating a Reactive Model from Contracts | Artem Arutyunyan | 47m |
Shows how to generate a reactive model from Zod contracts by using Zod schemas as the single source of truth. Describes working with Zod internals, the… | ||
| Why GraphQL Isn’t That Simple | Roman Poleguev | 43m |
A Yandex engineer describes migrating backend services from REST to GraphQL for Yandex.RealEstate and Yandex.Rent, explaining how the team managed the GraphQL… | ||
| Secure Development on the Frontend | Evgeniy Bondarenko | 48m |
Covers frontend security risks and vulnerabilities, explaining how they affect web apps and where to find up-to-date guidance. Describes concrete examples of… | ||
| HTTP/3 and UDP Protocols for Client and Server Online Game Development | Andrey Sokolov | 42m |
Coverage of networking options for real-time browser games, comparing TCP-based approaches and newer UDP/QUIC-based ones (HTTP/3, WebTransport). Describes… | ||
| Atomic CSS Deep Dive | Valentin Ulyanov | 48m |
Compares Tailwind, UnoCSS, and Atomizer to a new Atomic CSS engine called My little UI toolkit (mlut). Describes an ergonomic Sass implementation that fixes… | ||
| The Good, the Bad and NPX | Vasiliy Vanchuk | 42m |
Analyzes npm ecosystem collisions where many unrelated packages export the same CLI names by downloading 100+ GB of registry data and parsing about 2+ million… | ||
| WebView as a Way to Integrate Services | Maksim Lavrenyuk | 46m |
Presentation examines using WebView to integrate services inside a superapp ecosystem (Uzum). It covers configuring authorization, native↔WebView… | ||
| Unique 3D experience for the Samokat museum site: tons of graphics, optimizations and WebGL | Pavel Mazhuga | 50m |
A case study of building an interactive 3D web museum implemented with React and Three.js. Covers practical graphics and performance challenges, optimizations… | ||
| The Browser as a Platform for Heavyweight Applications | Ivan Zatravkin | 45m |
Coverage of using modern browser technologies—WebAssembly, WebGL, multithreading (web workers), and GPU compute—for building heavy-duty web apps that handle… | ||
| Solution Architect Toolkit: Making the Right Decisions Under Uncertainty | Ivan Malyugin | 59m |
Talk examines how to choose architecture and tooling for backend/Node.js projects to avoid turning codebases into a “Big Ball of Mud.” It discusses treating… | ||
| How to Befriend Web Components and JS Frameworks | Roman Troitskiy | 46m |
Talk explains why Web Components are useful and who uses them, and describes how to build a UI kit from Web Components that works with React, Vue, and Angular… | ||
| Angular Platforms: How to Run an App Anywhere? | Oleg Solovev | 37m |
Explains Angular's platform mechanism that lets Angular apps run outside the browser. Covers built-in Angular platforms, implementation details, and shows a… | ||
| Big migrations for big projects: moving Tracker to Gravity UI | Aleksey Okhrimenko | 46m |
Migrating a large project to the Gravity UI stack, comparing strategies such as using nginx, page-by-page or component-by-component rewrites, integrating… | ||
| Cryptography, Blockchain and Some Tears — What to Do in Web3 from a Frontend Perspective | Vitaliy Pankin | 46m |
Explains how blockchain works internally and the relevant cryptography and theory, argues against treating Web3 as a single stage of the Web while recognizing… | ||
| Professional Equipment for Developers | Roman Ganin, Dmitriy Rozhkov | 44m |
Talk examines how professional developer hardware and workspace choices affect skills and productivity, especially with more remote work. Covers costs and… | ||
| Forward to the Past! Or How to Reconcile Clean Architecture and RSC | Vadim Tsaregorodtsev | 46m |
Talk explains how to build new React apps using Server Components (RSC) while applying Clean Architecture principles. It examines the mental model of React… | ||
| Pro.Prototypes Workshop | Viktor Vershanskiy | 01h 52m |
A hands-on workshop that explores JavaScript prototype mechanics using live code in the browser console and Node with Chrome inspect. It demonstrates extremely… | ||
| The Story of One Feature Flag | Pavel Vostrikov | 50m |
A talk about using feature flags in a full-stack JavaScript product: client- and server-side flags, dev vs prod, and flags for business logic and deployment… | ||
| Catching the Release Train: How We Speeded Frontend Tasks to Production | Yuriy Golubev | 45m |
Describes how Mail.ru frontend teams integrated a merge train workflow with GitLab CI to speed tasks from development to production. Covers implementation… | ||
| From Telegram to Odnoklassniki: Secrets of Embedding Apps Anywhere | Nadezhda Merkulova | 44m |
Talk explains what embeddable applications are, which environments they can be embedded into (third-party web services, mobile apps, social networks) and what… | ||
| How GSAP Stole the Show | Vsevolod Kochnev | 38m |
Addresses the difficulty of building visually pleasing, smooth, and performant web animations and shows how GSAP and its plugins (per GSAP v3 Plugins) provide… | ||
| Import-Substituting Svelte, or How I Made Glimmer 40% Faster | Aleksandr Kanunnikov | 47m |
Overview of building a modern web framework: reasons for new rendering libraries and ideal framework requirements, then concrete implementation approaches… | ||
| How a String of Characters Becomes a Developer’s Pain, or Interfaces in Biotech | Mariya Kondaurova | 45m |
Overview of bioinformatics concepts like antibodies, proteins and language models (LLMs such as LLaMA) and why biotech teams need programmers and frontend… | ||
| Testing React Component Performance in CI | Artem Khaydarov | 44m |
A talk about building an automated performance-testing system for React 18 components used in a design system and SberDevices services. It covers requirements… | ||
| But How Do You Split It? | Ivan Popelyshev | 48m |
Examines the mathematical concept of remainders from division and how to apply it in real life, management, and web graphics programming. Covers concrete… | ||
| GraphQL for Grown-Ups: Introducing the Technology into an Old Project Without Youth Frameworks | Ilya Gorskiy | 47m |
Shows how to add GraphQL to an old, long-lived project without adopting modern client frameworks like Relay, Apollo, or URQL. Describes a pragmatic integration… | ||
| Layers and Sectors of Business Logic: Building a Scalable Architecture | Konstantin Astapov | 44m |
A large legacy project was rewritten into a modular architecture separating UI and business logic and using Redux; this experience led to creating a new… | ||
| 10 UX Mistakes for Blind Users | Ilya Sidorchik | 43m |
Talk examines ten real UX mistakes that make web interfaces inaccessible to blind users, using examples from Yandex Market. It covers issues like excessive… | ||
| Happiness as a Service — a platform and growth from ten developers to three hundred in three years | Sasha Bulanov | 46m |
X5 Digital describes building a developer-focused PaaS in JavaScript to support rapid team growth from ~10 to ~300 engineers over three years. The talk covers… | ||
| Navigation with a Voice Assistant | Vadim Malyutin | 45m |
Overview of using browser Speech APIs and JavaScript for voice-enabled navigation, covering current browser support, speech recognition and synthesis… | ||
| Memory Snapshots — not scary, actually useful | Vladislav Molotsilo, Aleksandr Zaytsev | 47m |
Shows how to use real tools—Chrome DevTools, memlab, and Clinic.js—to profile Node/V8 memory, read and interpret heap snapshots, and find memory leaks… | ||
| Who Lives Well in IT? | Semen Levenson, Nikita Sidorov, Timur Gafiulin, Yaroslav Losev | 33m |
Group of IT professionals discuss who thrives in IT and who doesn’t, covering job interviews, career progression, and glass ceilings. They also examine why… | ||
| Code Evolution: Migrating off CoffeeScript with a Neural Network | Nikita Dolgavin | 32m |
A team migrated 40K lines of legacy CoffeeScript to Node.js using a neural network-based code-conversion workflow. The talk describes a script that parses… | ||
| How to Move an Entire City — Changing a Game Engine | Aleksandr Nepomnyashchikh | 56m |
A talk about migrating a browser-based city-building game (YuVillage) from a custom JavaScript engine to a third-party engine. It explains why the change was… | ||
| Conference Opening | Semen Levenson, Nikita Sidorov, Timur Gafiulin | 15m |
Hosts Semyon Levenson, Nikita Sidorov, and Timur Gafiulin present the conference opening for HolyJS 2024 Spring, outlining the event schedule, session topics… | ||
| Passing Your Project Interviews and Presales to the West | Paul Karol | 50m |
Concrete failures and fixes: a half million deal dies from a flat, noncommittal response; a demo runs month and a half and a week of silence sinks the sale… | ||
| What We Do in the Shadows, or Why an Interface Designer Works in Biotech | Andrey Evdokov | 48m |
A designer working in a Russian biotech's research division explains their role building internal software tools for monoclonal antibody R&D. The talk covers… | ||
| One, Two, Three JS, or How I Built a 3D Website | Bekzhan Borbekov | 46m |
A developer describes building an interactive 3D website for Altel (https://digital.altel.kz/) using Three.js to showcase the company’s shift from telecom to… | ||
| Musical Break | Vadik Uglovyy | 34m |
Introduces Sonic Pi and how to use it to create music; covers working with the Sonic Pi environment and includes a hands-on attempt to compose original pieces… | ||
| Wrap-up of the Conference Online Sessions | Semen Levenson, Nikita Sidorov | 14m |
A wrap-up of the online portion of HolyJS 2024 Spring that reviews highlights from the sessions and outlines future plans for the conference. Hosted by Semyon… | ||
| Conference Closing | Semen Levenson, Nikita Sidorov, Dana Stoyanova | 09m |
A wrap-up of the HolyJS 2024 Spring conference that reviews highlights, summarizes outcomes, and outlines future plans. Hosts Semyon Levenson, Nikita Sidorov… | ||
| Opening of the Offline Part | Semen Levenson, Nikita Sidorov, Dana Stoyanova | 22m |
Event opening for the offline part of the HolyJS 2024 Spring conference presenting the schedule, session lineup, and general information. Hosts are Semyon… | ||
| nothing matches | ||