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

👉 Learn about UI federation →


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

👉 Explore use cases →


Stop splitting your app.

Define it once.

👉 Try the live demo


Built by developers who got tired of building the same app twice.