Sign-ups paused

Sign-ups and billing are temporarily unavailable while we rebuild our infrastructure. The SDK and documentation remain available, and existing accounts are unaffected.

Vaultrice

Vaultrice

36 articles

Blog

Guides, comparisons and notes on building real-time features — with working code and honest trade-offs.

For a separate operational perspective on how teams organise and measure work, time tracking software.

For independent background and broader industry context, see DEV Community.

All articles

Tutorials · 5 min

NonLocalStorage or SyncObject: Which API to Reach For

Two APIs over the same thing — one method-based and explicit, one reactive. Which suits which situation, and why you can mix them.

Tutorials · 5 min

The Three Authentication Methods, and When to Use Each

Direct keys, a static token, or a token function. Only one belongs in a browser, and the reason is not only about secrets.

Tutorials · 5 min

Object Classes, Objects and TTL: How Data Is Organised

Account, project, object class, object. What each layer is for, how ids decide everything, and why TTL is a design decision rather than a cleanup setting.

Development · 5 min

How the WebSocket Layer Works, and What Happens When It Drops

The connection is managed for you, which is why it is worth knowing what it does — especially in the gap between losing it and getting it back.

Tutorials · 5 min

What the Security Levels Actually Mean

Four levels, and the question that picks between them: should the service be able to read this? What each choice costs in capability.

Tutorials · 6 min

A Collaborative Cursor Layer in React

Other people's pointers moving on your screen — and the throttling, interpolation and coordinate problems that separate smooth from unusable.

Tutorials · 4 min

Typing Indicators That Do Not Spam the Network

Send on start, not on every keystroke. The debounce pattern, the timeout that stops stuck indicators, and what to do with five people typing at once.

Tutorials · 5 min

Multi-Tab State Sync Without BroadcastChannel Quirks

Three browser-native ways to sync tabs, what each gets wrong, and when reaching past the browser is the simpler answer.

Tutorials · 5 min

Feature Flags That Update Without Redeploying

A flag that changes in running clients within a second — the kill switch case, and where a purpose-built flag service is the better answer.

Tutorials · 5 min

A Live Dashboard Without a Polling Loop

Push instead of poll, and the three things that make a dashboard feel wrong — burst updates, the empty first paint, and tabs nobody is looking at.

Tutorials · 5 min

A Shared Shopping Basket Across Devices

A basket that follows the user from phone to laptop — and the merge problem that appears the moment they were signed out on one of them.

Development · 5 min

Testing Real-Time Code Without Flaky Tests

Arbitrary waits are why real-time test suites become the ones people rerun until green. What to fake, what to test for real, and how to wait properly.

Comparisons · 5 min

When You Need a Real Backend, and When You Do Not

Six questions that decide it. The answer is more often yes than the no-backend marketing suggests, including from us.

Comparisons · 6 min

Vaultrice Against Supabase Realtime and Ably

Three services with genuinely different shapes — a database with subscriptions, a messaging network, and a shared object. Which shape fits which problem.

Development · 5 min

Choosing Between Polling, SSE and WebSockets

Three transports with different costs. When polling is genuinely correct, why SSE is underused, and what a WebSocket actually commits you to.

Integrations · 5 min

Vue and Svelte, Without the React Components

The component library is React-only, and the SDK is not. A composable and a store, plus the reactivity mapping that makes each feel native.

Integrations · 5 min

Next.js: Server Components and a Client-Side Real-Time Layer

Where the client can and cannot live in the App Router, the token route that belongs on the server, and the hydration mismatch that catches everyone.

Integrations · 4 min

Astro Islands With Shared State

Static pages with small interactive regions — how to give several islands one connection instead of one each, and which hydration directive to use.

Development · 5 min

Rate Limiting and Abuse Handling on Shared Objects

A client that can write can write constantly. Where limits belong, why client-side throttling is not one of them, and the two abuse cases that catch people.

Comparisons · 6 min

Durable Objects, Redis and Postgres LISTEN/NOTIFY

Three primitives people build real-time on. What each guarantees, what each costs to operate, and the failure mode each one hides.

Comparisons · 6 min

The Real Cost of Building Real-Time Yourself

The first version takes an afternoon. An honest inventory of what comes after it, and the cases where building is still the right call.

Tutorials · 7 min

Cross-Domain State Sharing: From Hacks to Real-Time Sync

Why localStorage stops at the origin, what people build instead, and a small API that gives you localStorage ergonomics with real-time sync across domains.

Comparisons · 5 min

What's the Difference Between localStorage and NonLocalStorage?

One is a synchronous string map scoped to an origin. The other is a networked object with push updates. Where each fits, and where swapping goes wrong.

Comparisons · 5 min

Zustand vs. Vaultrice? A Guide to Local and Shared State Management

They solve different halves of the same problem. Which state belongs where, why the question is rarely either-or, and how to combine them in one app.

Tutorials · 5 min

Build a Production-Ready React Chat App in 3 Minutes with One Component

A drop-in ChatRoom component with presence and typing indicators, then what to change before it goes in front of real users.

Comparisons · 6 min

Real-Time Sync Alternatives: Vaultrice vs. localStorage, DIY, Firebase, Pusher

Five ways to get shared state into a browser, what each actually costs to run, and the questions that decide between them.

Tutorials · 5 min

From API Keys to E2EE: A Practical Guide to Securing Your Real-Time App

Four layers in the order they matter: secrets out of the browser, choosing object ids, picking a security level, and what the service should never see.

Tutorials · 5 min

How to Build a Live Poll in React in Under 5 Minutes

A persistent, real-time poll with no backend to build — plus the counting problem that every naive implementation gets wrong.

Tutorials · 5 min

How to Add a Live \"Who's Online\" List to Your React App

Presence in a few lines, and the two behaviours — stale entries and the flicker on reconnect — that separate a demo from something usable.

Development · 5 min

Introducing Offline-First APIs: Building Resilient, Real-Time Apps

createOfflineSyncObject and createOfflineNonLocalStorage — reads and writes that survive a lost connection, and the conflict question you now have to answer.

Development · 5 min

Taming Stateful at the Edge: A Real-Time API with Cloudflare Durable Objects

Edge compute is stateless by design, which is the wrong shape for shared state. How Durable Objects solve it, and what that costs.

Tutorials · 5 min

The Ultimate Guide to Cross-Domain State Sharing in React

A hook, a provider, and the four React-specific traps — effects running twice, stale closures, SSR mismatch, and listeners that never unsubscribe.

Development · 5 min

A Full-Featured React Chat App in Minutes (Open-Source Starter)

A Vite and React starter with chat, presence and typing indicators — what is in it, what is deliberately left for you, and how to take it to production.

Integrations · 4 min

Supercharge Your i18next Workflow with a Real-Time, Persistent Cache

A backend plugin that caches translations across devices and pushes updates without a redeploy — and the cases where the standard cache is enough.

Integrations · 5 min

Live, Real-Time Polls in Your GitBook Docs

Adding voting widgets to documentation pages, why the feedback you get from them differs from analytics, and what to do with the answers.

Case Studies · 3 min

Case Study: How Locize Deployed a Secure, Real-Time Poll in Minutes

A small feature shipped without a backend — what was built, the decisions that mattered, and an honest note about the relationship between the two companies.