Spec-driven development. Build full web apps with minimal code.
Spec-driven development
Build full web apps with minimal code
Define your UI in Java — and get a working web app instantly.
No frontend. No APIs. No duplicated models.
Built for modern architectures
Each service can own its UI.
No central frontend. No coordination bottlenecks.
Write this
@UI("")
public class Home {
@ReadOnly
int count = 0;
@Button
Runnable increment = () -> count++;
}
Get this

A real example
@UI("/users")
public class Users {
List<User> users = userService.findAll();
@Button
Runnable create = () -> {};
}
Mateu generates a full CRUD UI automatically:
- tables
- forms
- actions
- navigation
UI federation
Compose UIs across services — without a frontend application.
- each service owns its UI
- independent deployment
- no frontend integration layer
Why Mateu
- ⚡ Build apps faster
- 🧠 One language, one mental model
- 🔥 No frontend duplication
- 🌐 Designed for distributed systems
- 🔌 Embeddable as web components
Built for
- internal tools
- CRUD applications
- enterprise apps
- microservice UIs
- embedded UIs
Stop splitting your app.
Define it once.
Built by developers who got tired of building the same app twice.