HolyJS 2023 Spring
2023-05-15..2023-05-22
-- 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, React developers, TypeScript developers, web engineers, web performance engineers, mobile app developers, engineering managers, tooling engineers
topics
RxJS reactive patterns and testing; Telegram Web Apps integration; Progressive Web App offline image handling; Temporal API and polyfills; Records and Tuples in JS; Passkeys and WebAuthn implementations; Cocos Creator with TypeScript; Zustand state management; React concurrency and useTransition; service worker race handling; ModuleFederation microfrontend discovery; IndexedDB B-tree indexes and querying
| title | author | length |
|---|---|---|
| How RxJS Divided My World into Before and After | Gleb Mikheev | 50m |
RxJS entered Gleb’s work in 2016 with Angular 2 and changed how he handles asynchronous and event-based code: problems that previously felt unmanageable became… | ||
| Telegram Web Apps: Web Apps Inside Telegram | Vladislav Kibenko | 45m |
Telegram Web Apps are a platform similar to VK Mini Apps that lets developers build visual web interfaces inside Telegram instead of purely chat-based bot… | ||
| One PWA to Rule Them All | Nikita Dubko | 54m |
Talk explains what modern Progressive Web Apps (PWA) can do in 2023, showing how their appearance and OS integration have changed and when they can solve user… | ||
| What's New in JS and the Web | Mariya Kondaurova | 48m |
Overview of the current ECMAScript standard and proposal process: explains TC39 and Interop, surveys proposals that are about to enter the standard (or will… | ||
| Clean Architecture and How It Helps Build Microservices and Microfrontends | Evgeniy Labutin | 53m |
Explains using Clean Architecture patterns to build large-scale web systems by composing many small microservices and micro-frontends rather than one huge app… | ||
| No Password — No Problem? | Andrey Melikhov | 45m |
Overview of the evolution from traditional passwords and 2FA to WebAuthn and the new Passkeys standard supported by Apple and Google, explaining how these… | ||
| Cocos Creator: A Journey into TS Game Development for Beginners | Roman Belov | 48m |
Overview of Cocos Creator as a TypeScript-friendly game engine, comparing its pros and cons with Unity and Unreal. Shows how to get started with Cocos Creator… | ||
| Zustand: Upstart or Serious Alternative to Redux? (Part 1) | Elena Litvinova | 45m |
Hands-on workshop showing how to build a React app with the Zustand state manager and TypeScript. Covers Zustand features, handling synchronous and… | ||
| React Concurrency: Is It Really That Good? | Dmitriy Grosh | 49m |
Overview of React 18’s Concurrent Rendering and related hooks like useTransition and useDeferredValue, explaining their benefits and trade-offs. Compares… | ||
| Frontend Developers — They Are Everywhere | Andrey Smirnov | 01h 03m |
Overview of career paths for JavaScript frontend developers: a roadmap covering vertical deepening (specializing in frontend technologies) and horizontal moves… | ||
| How We Built a Web Document Editor | Sergey Simonov | 46m |
A case study of how the MyOffice team built a web document editor: the talk describes the global architecture and key design decisions, focusing on a shared… | ||
| Non-obvious SVG Capabilities in Modern Frontend | Konstantin Ostrov | 36m |
Covers using SVG beyond static images in modern front-end development, showing interactive techniques, best practices and performance considerations for… | ||
| No Time to Explain, You're the Team Lead! | Aleksey Pimenov | 48m |
An overview for new tech team leads covering typical behavioral patterns and common problems when promoted to team lead. Explains managerial responsibilities… | ||
| Why Playwright Beats Jest and Vitest Slows Down: Measuring Coverage Like a Pro | Aleksandr Kanunnikov | 45m |
Explains how to measure JavaScript code coverage using Playwright, compares Playwright coverage workflows to Jest and Vitest (claiming Vitest is slow), and… | ||
| What Are Container Queries and Why You Need Them | Serezha Popov | 48m |
Container Queries are explained as a CSS feature that will soon have full browser support, removing barriers to production use. The talk describes which layout… | ||
| Turning Cocos Creator into a Tough Nut: Building a TypeScript Architecture Around a Game | Dmitriy Tretyakov | 44m |
Covers using Cocos Creator (a TypeScript-based game engine) as an alternative to Unity3D, explains why the team chose Cocos, and identifies missing… | ||
| Typlish Script | Nikolay Ryzhikov | 45m |
An overview of TypeScript and its role in JavaScript’s evolution, comparing alternate language paths and how they handle data and types. It covers using types… | ||
| How Animations Work Under the Hood in React Native | Evgeniy Prokopev | 44m |
Explains how React Native animations work internally, covering the built-in animation system, why the Reanimated library was created, the need for a second JS… | ||
| How We Made VKontakte's Mobile Version Four Times Faster | Taras Ivanov | 47m |
Mobile VK was rebuilt from a WAP site into a full SPA and then grew large, causing architectural performance regressions. The talk explains concrete front-end… | ||
| Battle of the Titans: LSP vs PSI (VS Code vs IntelliJ) | Vlad Minaev | 47m |
Compares two IDE extension platforms—Language Server Protocol (used by VS Code) and PSI-based platform (used by IntelliJ)—in the context of JavaScript and… | ||
| Domain Modeling and Application Architecture in ReScript | Sergey Samokhov | 49m |
ReScript's recent improvements (async/await, JSX/React refactor, new standard library) are presented alongside an argument for using ReScript's type system for… | ||
| Friend or Foe? Artificial Intelligence in Frontend Development | Mikhail Trifonov | 49m |
Talk examines recent advances in AI (ChatGPT, GitHub Copilot, Midjourney, RuGPT-3) and asks whether these tools will or can already replace frontend… | ||
| VPN and Proxy: Types, Differences and Advantages | Kirill Tolkachev | 51m |
Talk explains different kinds of VPNs and proxies, compares their advantages and when to use each, and classifies common VPN solutions. It examines network… | ||
| Automating Development and Support Processes: From Bots to Code Review | Konstantin Lebedev | 46m |
Rozov describes improving a frontend platform by automating development and support workflows. First, he explains building a bot that helps reply to colleagues… | ||
| Zustand: Upstart or Serious Alternative to Redux? (Part 2) | Elena Litvinova | 45m |
Hands-on workshop showing how to build a React app with the Zustand state manager and TypeScript. Covers Zustand features, syncing synchronous and async… | ||
| B-tree Indexes in Databases Illustrated by IndexedDB and PostgreSQL | Vladimir Sitnikov | 48m |
Explains how B-tree indexes speed up database queries using IndexedDB and PostgreSQL. Covers when to index WHERE, ORDER BY, and foreign key columns; how to… | ||
| Types in Prototypes | Viktor Vershanskiy | 45m |
Examines how to define types in JavaScript’s classical prototype-based inheritance model, discussing peculiarities of JavaScript and TypeScript. Covers… | ||
| Sizecoding: An Inside Look | Oleg Senin | 48m |
Explains what sizecoding is and how it differs from conventional programming, focusing on JavaScript. Presents several algorithms for concrete demo effects and… | ||
| Fuzzy Search in the Browser Over Half a Million Lines: Building an Index on a CDN | Nikita Vorobev | 44m |
Describes building a client-side fuzzy search over ~500,000 lines by constructing a searchable index hosted on a CDN, using NLP algorithms for typo-tolerant… | ||
| Out-of-the-Box Discovery for Microfrontends Using ModuleFederation (Part 1) | Ivan Malyugin | 53m |
Describes an implementation of a plug-and-play discovery system for microfrontends built with Webpack Module Federation. Shows a smart discovery solution… | ||
| What APL-like Languages Can Teach Us | Vyacheslav Shebanov | 47m |
Covers Array Programming Languages (APL-like languages), explaining their internal logic, usage examples, and what programming lessons they offer. Discusses… | ||
| Tilting at Windmills, or How to Live with Technical Debt | Aleksey Zolotykh | 48m |
Talk discusses handling technical debt in long-lived JavaScript projects (legacy code). It covers practical ways to improve such projects that have existed for… | ||
| Rapid Prototyping with Moleculer (Part 1) | Ivan Ratnikov | 49m |
A model problem needed a two-day prototype, so the talk presents the task requirements for a prototyping tool and evaluates JavaScript options that could meet… | ||
| Conference Opening | Nikita Sidorov, Yaroslav Losev, Semen Levenson | 18m |
An opening session presenting the HolyJS 2023 Spring schedule, session lineup, and conference activities. Hosts Nikita Sidorov, Yaroslav Losev, and Semyon… | ||
| Digging into Animation Players Using lottie-web as an Example (Part 2) | Stepan Mikhaylyuk | 57m |
Examines how Lottie animations are played by walking through animation playback fundamentals—layers, transforms, keyframes and easing curves—and analyzing the… | ||
| A Pinch of SVG, a Note of 3D* and Maps | Vladimir Grishchenko | 45m |
An engineering team building a PSIM security system describes developing a real-time map module for large transport/industrial sites. Coverage includes… | ||
| Code Review | Nikita Sidorov, Semen Levenson | 44m |
Comparison of two code-analysis tools, Code Climate and CodeScene, using a forked Astro repository. Presents concrete results: 1.4k files scanned, one function… | ||
| Jumping Feet-First into JS on Wasm | Dmitriy Bezhetskov | 45m |
Describes a JIT approach that compiles JavaScript to WebAssembly to run user scripts (e.g., Figma plugins, Shopify functions) safely in a sandbox while… | ||
| Career question | Andrey Smirnov, Semen Levenson | 51m |
A panel discussion addressing developers' career issues: how to find jobs and pass interviews, advance the career ladder, or handle loss of interest in coding… | ||
| Aquarium and Chrono: how to make the designer stop bothering the developer | Senya Pugach | 46m |
Presentation describes Krono, a 3D website engine developed at Art. Lebedev Studio, and how it was built during the work on the band Aquarium’s website. It… | ||
| Understanding how animation players work using lottie-web (part 1) | Stepan Mikhaylyuk | 50m |
Explains how Lottie animations are implemented by examining lottie-web: covers animation playback basics (layers, transforms, keyframes, easing curves), the… | ||
| BFCache: how to instantly load the previous page | Ilya Sidorchik | 54m |
BFCache is Chrome’s native back-forward cache that can make navigations to the previous or next page instant. The talk explains how to enable BFCache on a… | ||
| How to organize ETL with Node.js in a serverless architecture | Dmitriy Krystek | 45m |
Organises large-scale ETL processing using Node.js streams in a serverless architecture, handling ndjson and Parquet data formats. Covers unusual/edge use… | ||
| Thick client — does that mean slow? | Vadim Tsaregorodtsev | 38m |
Talk examines why single-page/thick-client web apps became common despite initial performance problems, and reviews recent framework-level solutions that… | ||
| Out-of-the-box discovery for microfrontends based on ModuleFederation (part 2) | Ivan Malyugin | 50m |
Describes a turnkey discovery system for microfrontends built on Webpack Module Federation that removes manual configuration and local-server tweaks. Shows an… | ||
| What the Egea blog engine actually does | Ilya Birman | 48m |
An overview of the Aegea blog engine: what features and internal work it actually performs beyond the simple idea of fetching posts from a database and… | ||
| On accessibility | Lera kurmak, Yulya dolgun | 50m |
How to set up and maintain accessibility work for a large project—specifically a search results page—covering where to start, what practices and processes to… | ||
| Accessibility audit: why, how, what to do next? | Anatoliy Popko, Aleksey Zolotykh | 01h 35m |
Talk explains why accessibility audits matter for web projects, what to check (including common accessibility issues and testing methods), and practical steps… | ||
| How to turn a programming contest into The International? | Maksim Alzhanov | 46m |
A presenter describes how the ICPC programming contest team live production was engineered to become a stadium-worthy spectacle like The International, using… | ||
| Rapid prototypes with Moleculer (part 2) | Ivan Ratnikov | 34m |
A presenter describes a modeling task that had to be prototyped in two days, lists the prototype tool requirements derived from that task, and evaluates… | ||
| Interview with Aleksey Pimenov | Aleksey Pimenov | 48m |
A three-host interview session with Aleksey Pimenov recorded in the main studio at HolyJS 2023 Spring. The conversation is a live-format interview (hosts… | ||
| Conference closing | Nikita Sidorov, Semen Levenson | 12m |
A wrap-up of the HolyJS 2023 Spring conference that reviews highlights, summarizes outcomes, and outlines future plans. Hosts Nikita Sidorov and Semyon… | ||
| Summary of the online segment | Nikita Sidorov, Dana Stoyanova, Semen Levenson | 22m |
Hosts Nikita Sidorov, Dana Stoyanova, and Semyon Levenson review and summarize the highlights of the online portion of the HolyJS 2023 Spring conference… | ||
| nothing matches | ||