darren

VibeLayer - Local-first state for apps built by coding agents

by•
VibeLayer is an open-source local-first state layer for TypeScript apps built by coding agents. It gives the UI an instant local source of truth, named mutations, a durable mutation queue, and a backend adapter boundary — so AI-generated apps stop putting fetch() in every component and making every click wait on the server.

Add a comment

Replies

Best
darren
Maker
📌
Hey Product Hunt 👋 I’m Darren, maker of VibeLayer. I built this after running into the same problem again and again while vibe coding with AI agents: The first version of an app looks good, but the state architecture breaks quickly. Every component starts calling fetch(). Every click waits on the server. Optimistic updates become one-off hacks. Retries are inconsistent. Pending local edits disappear after reloads. VibeLayer is my attempt to give coding agents a state architecture they can actually follow. The core rule is simple: UI reads from local state. UI writes through named mutations. Mutations are persisted locally first. Sync happens later through your backend adapter. VibeLayer is not trying to replace full sync platforms like Replicache, Electric, or PowerSync. It is smaller and more opinionated: a local-first state layer for agent-built TypeScript apps. Current version includes: - core runtime - local store - named mutations - durable mutation queue - IndexedDB storage - CLI package - basic todo example It is still early and open source. I’d especially love feedback from people building with Claude Code, Cursor, Codex, or other coding agents. The question I care about most: Do agent-built apps need a default local-first state architecture? Blunt feedback is very welcome.