Urgent.News

What's breaking now, across thousands of outlets.

Tech

Why We’re Building Vault as a Source-First Interaction Library

I work on Vault at Hyperiux, an interaction library for React and Next.js. Most people first encounter it through the visual side of the product: a cursor effect, a text interaction, a transition, a scroll treatment, or something running in WebGL. That is also the easiest part to notice. The harder part begins when an interaction leaves the demo and has to live inside a real website. Typography…

Vault is an interaction library designed for React and Next.js. Initially, developers might encounter Vault through its visual effects such as cursor interactions, text interactions, transitions, scroll treatments, or WebGL animations. However, the real challenge begins when these interactions must be integrated into a real website, as typography changes, content becomes unpredictable, viewport sizes vary, multiple animations run simultaneously, and accessibility or performance constraints come into play.

The issue isn't finding inspiration for interaction design, as developers are inundated with resources like websites, experiments, videos, CodePens, and saved posts showcasing fascinating browser capabilities. The true challenge arises when transferring these visual ideas into a project that can be effectively maintained. Translating a simple visual concept into a functional, responsive, and accessible implementation involves dealing with timing, DOM structure, responsive behavior, dependencies, cleanup, reduced-motion handling, and other assumptions present in the original implementation.

The key purpose of Vault is to retain the source code with the developer. By taking a source-first approach, developers can begin with an implementation that already has a specific perspective, then modify or adapt it based on the specific needs of the project. The interaction becomes a starting point, not a strict contract. This approach ensures that the final website mirrors the design intended by the developer, rather than resembling the original library.

While developing Vault, the team acknowledges the temptation to add more effects to the library. However, they emphasize that quantity alone does not guarantee better websites. Motion should serve a purpose, such as reinforcing hierarchy, connecting states, providing feedback, directing attention, or contributing to the visual character of a product. If an interaction does not serve any of these purposes adequately, a simpler implementation may be more effective.

Vault's demo and its installation version serve different purposes. The preview aims to communicate an idea quickly, while the installed version must coexist with existing project elements like typography, layout, content, breakpoints, performance budget, and accessibility requirements. This distinction highlights the importance of editable source code, allowing developers to tailor the interaction to the specific conditions of their project rather than relying on the demo's assumptions.

As a product manager for Vault, the focus is not on creating visually impressive effects but on addressing practical questions, such as how quickly a developer can understand an effect and what information should be visible before installation. Developers need to strike a balance between having enough guidance and retaining control over the implementation.

The ultimate goal is to streamline the development workflow so that developers can preview, install, tune, and ship interactions without having to reinvent the wheel for each project.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Plan Around Next Month's Closure, Not Today's

Every traffic API on the market answers the same question: what is closed right now? That question is worth answering. It is also the wrong one for most of the decisions a planner actually makes.

DynamoDB: GSI, LSI, and related design ideas

This note explains the important DynamoDB concepts in a simple and practical way. First idea: think in access patterns Before designing a DynamoDB table, ask: What questions will the application ask?

More from Tuesday 11 August →