Rxova

Small TypeScript libraries for the hard parts of the browser.

Cross-tab state. Non-linear flows. The inputs nobody wants to build and everybody wants to import. Rxova ships framework-agnostic cores, React bindings where they earn their place, and APIs small enough to stay still.

Journey

  • @rxova/journey-core
  • @rxova/journey-react
  • @rxova/journey-devtools-bridge

Declarative journey graphs for non-linear UI flows.

Model multi-step, branching flows as a graph instead of a tangle of booleans and effects. Core is framework-agnostic; React bindings and a Chrome DevTools bridge come in the box.

npm i @rxova/journey-core

  • JS Core
  • React
  • TypeScript
  • Chrome Extension

react-inputs

  • @rxova/react-inputs
  • @rxova/react-intl-currency-input
  • @rxova/react-rating-input
  • @rxova/react-otp-input
  • @rxova/react-password-input
  • @rxova/react-phone-input
  • @rxova/react-date-input
  • @rxova/react-time-input
  • @rxova/react-tags-input
  • @rxova/react-file-input

The tricky React inputs, done right.

Nine focused input components — currency, OTP, rating, password, phone, date, time, tags and file. Headless with no stylesheet to import, accessible by construction, and zero runtime dependencies each.

npm i @rxova/react-inputs

import { CurrencyInput, OtpInput } from '@rxova/react-inputs'

<CurrencyInput locale="en-US" currency="USD" value={price} onChange={setPrice} />
<OtpInput length={6} value={code} onChange={setCode} label="One-time code" />
  • React
  • TypeScript
  • Zero-dependency
  • Accessible

use-everywhere

  • use-everywhere
  • @use-everywhere/core

State and messages that exist in every tab, window, and worker.

Share state and messages across every tab, window, and worker — a framework-agnostic core plus React bindings, one small API.

npm i use-everywhere

import { useSharedState } from 'use-everywhere'

// No Provider. The value now exists in every tab on the origin.
const [count, setCount] = useSharedState('count', 0)
  • JS Core
  • React
  • TypeScript
  • Cross-tab

Why Rxova

Three projects, one set of rules. These are what Journey, react-inputs and use-everywhere have in common — and what they are held to.

Built and maintained by Jonatan Kruszewski

Senior Frontend Engineer focused on React architecture, reusable developer infrastructure, and tools for complex user interfaces. Rxova is where I build focused open-source libraries with stable APIs, strong TypeScript support, thorough testing, and documentation that answers the question you actually arrived with.

Follow along