The Problem · Architectural impedance
Four languages, four paradigms, three copies of every model. A stack so fragmented that neither your engineers nor your AI coding agents can hold it in a single coherent view — and every layer is a place where cost, safety, and comprehension collapse.
The Cost
Modern enterprise web development is drowning in translation layers — massive friction for human developers, and catastrophic context collapse for AI coding agents.
Domain models in Java are translated via SQL or JPA/Hibernate to map onto relational tables — creating dual-schema maintenance for a single idea.
eliminated by ZeroZ DB
Java objects are serialized into text (JSON), sent over HTTP, and parsed back into JavaScript/TypeScript objects on the client. Every field crosses on faith.
eliminated by ZeroZ Stack
JavaScript or TypeScript is required to mutate a browser DOM — fracturing the codebase's language ecosystem in the one place Java never reached.
eliminated by ZeroZ Stack
An AI coding agent must hold context across four languages and paradigms — SQL, Java, JSON, TS/JS. That load causes hallucinations, broken contracts, and security holes.
Every translation layer breaks static analysis, prevents fearless refactoring, and forces the application to maintain three different models of the exact same data.
The Solution
No ORM. No JSON. No JavaScript. The translation layers aren't optimized — they're gone. One Java object runs from the button click to the stored byte, never re-encoded, never duplicated, never translated.
The server method receives the exact object the client sent — no controller, no deserialization, no mapping. Persist it or broadcast it as plain Java.
@ApplicationScoped public class ChatServiceImpl implements ChatService { @Inject ZeroZDbNode db; @Override public void sendMessage(ChatMessage msg) { // the exact object sent from the client db.localDb().write(ctx -> { root.getMessages().add(msg); ctx.store(root.getMessages()); }); } }
Because the stack is unified, AI coding agents can generate end-to-end features with near-perfect accuracy, and human developers can refactor from the database to the button-click with a single IDE command.
The family
ZeroZ4J is not a framework with a database bolted on. It is two independent projects built on one conviction — that a Java object should never be translated into something else in order to be sent, stored, or shown. Take both, or take one.
Java from the button click to the CDI bean. The browser runs compiled Java as WebAssembly, the wire carries dense binary frames over a persistent WebSocket, and the server is Jakarta EE. No JavaScript, no JSON, no REST controllers, no DTOs — the object the client constructs is the object the server method receives.
Eliminates: the network mismatch, the UI mismatch
Your objects are the database. A pure-Java engine that adds what a real database needs — serialized atomic transactions, crash durability, concurrent readers, maintained indexes, ownership safety across JVMs — without ever leaving plain Java objects. No SQL, no ORM, no query language, no schema to keep in step with your classes.
Eliminates: the database mismatch
Both are Apache 2.0, both are on Maven Central, and both take the same architectural position: the translation layer is the defect, not the cost of doing business.