frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Start all of your commands with a comma (2009)

https://rhodesmill.org/brandon/2009/commands-with-comma/
258•theblazehen•2d ago•86 comments

Hoot: Scheme on WebAssembly

https://www.spritely.institute/hoot/
27•AlexeyBrin•1h ago•3 comments

OpenCiv3: Open-source, cross-platform reimagining of Civilization III

https://openciv3.org/
707•klaussilveira•15h ago•206 comments

The Waymo World Model

https://waymo.com/blog/2026/02/the-waymo-world-model-a-new-frontier-for-autonomous-driving-simula...
969•xnx•21h ago•558 comments

Vocal Guide – belt sing without killing yourself

https://jesperordrup.github.io/vocal-guide/
70•jesperordrup•6h ago•31 comments

Reinforcement Learning from Human Feedback

https://arxiv.org/abs/2504.12501
7•onurkanbkrc•49m ago•0 comments

Making geo joins faster with H3 indexes

https://floedb.ai/blog/how-we-made-geo-joins-400-faster-with-h3-indexes
135•matheusalmeida•2d ago•35 comments

Where did all the starships go?

https://www.datawrapper.de/blog/science-fiction-decline
45•speckx•4d ago•36 comments

Unseen Footage of Atari Battlezone Arcade Cabinet Production

https://arcadeblogger.com/2026/02/02/unseen-footage-of-atari-battlezone-cabinet-production/
68•videotopia•4d ago•7 comments

Welcome to the Room – A lesson in leadership by Satya Nadella

https://www.jsnover.com/blog/2026/02/01/welcome-to-the-room/
39•kaonwarb•3d ago•30 comments

Ga68, a GNU Algol 68 Compiler

https://fosdem.org/2026/schedule/event/PEXRTN-ga68-intro/
13•matt_d•3d ago•2 comments

What Is Ruliology?

https://writings.stephenwolfram.com/2026/01/what-is-ruliology/
45•helloplanets•4d ago•46 comments

Show HN: Look Ma, No Linux: Shell, App Installer, Vi, Cc on ESP32-S3 / BreezyBox

https://github.com/valdanylchuk/breezydemo
240•isitcontent•16h ago•26 comments

Monty: A minimal, secure Python interpreter written in Rust for use by AI

https://github.com/pydantic/monty
238•dmpetrov•16h ago•127 comments

Show HN: I spent 4 years building a UI design tool with only the features I use

https://vecti.com
340•vecti•18h ago•150 comments

Hackers (1995) Animated Experience

https://hackers-1995.vercel.app/
506•todsacerdoti•23h ago•248 comments

Sheldon Brown's Bicycle Technical Info

https://www.sheldonbrown.com/
390•ostacke•22h ago•98 comments

Show HN: If you lose your memory, how to regain access to your computer?

https://eljojo.github.io/rememory/
304•eljojo•18h ago•188 comments

Microsoft open-sources LiteBox, a security-focused library OS

https://github.com/microsoft/litebox
361•aktau•22h ago•186 comments

An Update on Heroku

https://www.heroku.com/blog/an-update-on-heroku/
428•lstoll•22h ago•284 comments

Cross-Region MSK Replication: K2K vs. MirrorMaker2

https://medium.com/lensesio/cross-region-msk-replication-a-comprehensive-performance-comparison-o...
3•andmarios•4d ago•1 comments

PC Floppy Copy Protection: Vault Prolok

https://martypc.blogspot.com/2024/09/pc-floppy-copy-protection-vault-prolok.html
71•kmm•5d ago•10 comments

Was Benoit Mandelbrot a hedgehog or a fox?

https://arxiv.org/abs/2602.01122
24•bikenaga•3d ago•11 comments

Dark Alley Mathematics

https://blog.szczepan.org/blog/three-points/
96•quibono•4d ago•22 comments

The AI boom is causing shortages everywhere else

https://www.washingtonpost.com/technology/2026/02/07/ai-spending-economy-shortages/
26•1vuio0pswjnm7•2h ago•16 comments

How to effectively write quality code with AI

https://heidenstedt.org/posts/2026/how-to-effectively-write-quality-code-with-ai/
271•i5heu•18h ago•219 comments

Delimited Continuations vs. Lwt for Threads

https://mirageos.org/blog/delimcc-vs-lwt
34•romes•4d ago•3 comments

I now assume that all ads on Apple news are scams

https://kirkville.com/i-now-assume-that-all-ads-on-apple-news-are-scams/
1079•cdrnsf•1d ago•462 comments

Introducing the Developer Knowledge API and MCP Server

https://developers.googleblog.com/introducing-the-developer-knowledge-api-and-mcp-server/
64•gfortaine•13h ago•30 comments

Understanding Neural Network, Visually

https://visualrambling.space/neural-network/
306•surprisetalk•3d ago•44 comments
Open in hackernews

Show HN: Vaultrice – A real-time key-value store with a localStorage API

https://www.vaultrice.com/
43•adrai•5mo ago
Hi HN,

I'm Adriano, one of the makers of Vaultrice. I'm excited (and a little nervous!) to share what we've been building.

For years, we found ourselves in a frustrating loop: whenever we needed a simple real-time feature—like a "who's online" list, a collaborative app, or just sharing state between a marketing site and our main app — we'd end up spending days setting up the same stack or discarded to do it. Setting it up, it always involved wiring together a database, a WebSocket server, an API, and managing the connection state. It felt like massive overkill for what we were trying to achieve.

We wanted a tool that felt as simple to use as the browser's `localStorage` API but worked across domains and devices, with real-time sync and security built-in.

So, we built Vaultrice.

It’s a key-value data store built on top of Cloudflare's Durable Objects, which gives you a strongly consistent backend for each data object. You interact with it through our TS/JS SDK, which comes in two flavors:

1. `NonLocalStorage`: A low-level client with a `localStorage`-like API (`setItem`, `getItem`, etc.) plus real-time events and presence (`.on()`, `.join()`).

2. `SyncObject`: A higher-level, reactive JavaScript Proxy. You just change a property on an object (`doc.title = 'New Title'`), and it automatically syncs to all other connected clients.

The goal is to let you build the real-time features you want in minutes, not days. We've also put a lot of thought into a layered security model, allowing you to go from simple API key restrictions all the way to server-signed object IDs and client-side E2EE.

We’ve just launched and would be grateful for any feedback from the HN community. What do you think of the API design? Are there use cases we haven't considered? Any thoughts on the security model?

We'll be here (or via email (support@vaultrice.com)) to answer any questions. Thanks for checking it out!

Comments

taherchhabra•5mo ago
Just yesterday my son built a zombie shooter game in chatgpt, then shared the link with his friend, both were able to play individually, then my son asked can we play together and shoot each other. I was wondering is there something like localstorage but for network which chatgpt can easily use it. Can this work for my son's use case?
adrai•5mo ago
Yes — that’s exactly the kind of thing Vaultrice is designed for.

Think of it like localStorage, but instead of being tied to one browser on one device, the data lives in a globally-available, real-time object. Any change one player makes (like moving their character or firing a shot) can be sent instantly to the other player’s browser — without having to set up your own server or WebSocket layer.

For your son’s zombie shooter: • Each game session could be one Vaultrice “object” (with an id like game-123). • Each player writes their position, health, actions to that object. • The other player’s browser listens for changes and updates the game state instantly. • Presence tracking is built-in, so you can show “who’s in the game” without extra code.

The nice part is that the SDK’s API feels familiar — setItem, getItem, and on() for events — so you can get a working multiplayer prototype with just a few lines. If you want even less boilerplate, the SyncObject API lets you just set properties on a shared object and Vaultrice syncs it behind the scenes.

It won’t handle game physics for you, but it’s a fast, simple way to make a turn-based or moderately real-time multiplayer experience without hosting your own backend.

Gys•5mo ago
The two players would be two users?
adrai•5mo ago
Don't know exactly what you mean by users... users in the Game... probably yes. users in Vaultrice... no, in Vaultrice that would be 1 object (per game) of 1 class
Gys•5mo ago
I meant for Vaultrice. From your pricing page it is not clear what counts as a user. I guess I am confused by clients vs users.
RestartKernel•5mo ago
I love the API, but it's a tough sell as a SaaS first — who knows if you'll still be around after I've built my infra around your SDK?
adrai•5mo ago
The team behind vaultrice.com is the same team behind locize.com and i18next.com...
adrai•5mo ago
and as long as it's used on those and other apps, it will for sure continue to exist ;-)
santa_boy•5mo ago
Yet to explore but just reading few snippets ... is this good for offline first apps?

If not, any others you recommend for that use-case?

If yet, is this ready enough for production use?

adrai•5mo ago
Hey, thanks for the great questions!

Offline-first: That's a key distinction. The Vaultrice SDK is currently designed for "online-first" and "offline-sometimes" use cases. Its main strength is real-time, consistent synchronization that relies on an active connection.

Proper offline-first support with automatic conflict resolution is on our roadmap, as we have a backlog item for it ;-) However, you can easily achieve a robust offline capability in your own code today by using localStorage as a fallback.

Here’s a simple wrapper pattern (not tested, just for illustration) that reads from Vaultrice when online and falls back to a local cache when offline:

import { NonLocalStorage } from '@vaultrice/sdk';

// --- A simple offline-first wrapper --- function createOfflineStore(credentials, id) { const vaultriceStore = new NonLocalStorage(credentials, id); const localCacheKey = `vaultrice_cache_${id}`;

  // Helper to get local data
  const getLocal = () => JSON.parse(localStorage.getItem(localCacheKey) || '{}');

  return {
    // SET: Write to both Vaultrice (if online) and localStorage
    async setItem(key, value) {
      // Always update the local cache immediately
      const localData = getLocal();
      localData[key] = value;
      localStorage.setItem(localCacheKey, JSON.stringify(localData));

      try {
        // Attempt to write to the cloud
        await vaultriceStore.setItem(key, value);
      } catch (error) {
        console.warn('Offline: Data saved locally.', error.message);
      }
    },

    // GET: Try Vaultrice first, fallback to localStorage
    async getItem(key) {
      try {
        const item = await vaultriceStore.getItem(key);
        if (item) {
            // Optional: Update local cache with fresh data
            const localData = getLocal();
            localData[key] = item.value;
            localStorage.setItem(localCacheKey, JSON.stringify(localData));
            return item.value;
        }
      } catch (error) {
        console.warn('Offline: Reading from local cache.', error.message);
      }
      // Fallback to local cache
      return getLocal()[key];
    }
  };
}

Production Readiness: Yes, for its intended use case, Vaultrice is ready for production. We've put a lot of focus on a layered security model (from API key restrictions to E2EE) and built it on top of Cloudflare's infrastructure, which gives us a reliable and scalable foundation.

Hope that helps clarify things! Appreciate you checking it out.

adrai•5mo ago
now the SDK has some Offline APIs: https://www.vaultrice.com/blog/offline-apis
djfobbz•5mo ago
I thought you could easily achieve this (a global real-time object) with convex.dev?
adrai•5mo ago
The team at Convex is building an awesome product. You're right that you can absolutely achieve real-time functionality with Convex, but we think about the problem with a different philosophy and focus.

The way we see it, it comes down to the level of abstraction and what problem you're trying to solve:

Convex is a powerful, full-featured backend platform. It gives you a database, serverless functions (mutations and queries), and file storage. It's a fantastic choice if you're looking to build your entire backend on a modern, reactive stack. You write your logic in server-side functions, and Convex provides the infrastructure.

Vaultrice aims to be a simpler, more focused real-time component that often requires no backend code from you at all. Our goal is to feel like a frontend tool—like a "cloud-based localStorage".

The key difference is in the developer experience:

With Vaultrice, for things like cross-domain state sharing or a simple "who's online" list, you just instantiate our SDK on the client with your credentials and start using it. There are no backend functions to write. Our SyncObject API, where you just modify a JavaScript object and it syncs, is designed to completely abstract away the server.

So, a good way to think about it might be:

Choose Convex when: You need a complete backend replacement, with server-side logic, schema validation, and complex queries.

Choose Vaultrice when: You already have a backend (or don't want one for this feature) and you just need to drop in a real-time, cross-domain state layer with a dead-simple, frontend-friendly API.

jamwt•5mo ago
Makes sense to me
adrai•5mo ago
maybe also interesting: https://www.vaultrice.com/blog/alternatives-comparison