neuron-explorer
Steering-first neuron explorer for Qwen3.5-4B: push every MLP neuron, keep every rollout, browse the results
Build backoffice UIs without building a frontend. Backend-driven UI for distributed systems.
Translation pending
Developer toolsHTML · TypeScriptGitHub @miguelperezcolomOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Open source library for building awesome web UIs using good plain java
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
Mateu is a model-driven UI system for building business applications: you declare what a
screen contains — in code (Java, C# or Python) or in YAML — and Mateu derives the UI, across
web and native, served by a backend or shipped as a static bundle. Java is the reference
implementation; .NET and Python speak the same wire, and the same model can be authored as pure data.
It spans the spectrum from code-first (pro developers) to low-code/no-code (YAML + the visual
editor). Backend-driven and low-code are modes it supports, not what it is.Read the full README ↗Mateu is a way to define business UIs once, agnostically:
The backend is an option, not the definition. Docs: https://mateu.io — start at Choose your path.
An LLM will write you a React admin panel in a minute. So "less code" is no longer the point.
The point is what happens on day 200.
Generated code derives from your model and then diverges from it: the moment someone edits it, it is theirs to maintain, and it drifts. Mateu does not generate the UI — it derives it, so it cannot drift. Change the model and the screen is already correct.
That is one distinction, and it is the whole framework:
Source of truth vs artifact. You maintain the declaration. Everything downstream — the UI, the API contract it implies, a static bundle — is derived, and nobody edits it.
| A domain model? | Declare view classes in Java, C# or Python (@UI / [UI] / @ui) — inside-out |
| A design or a mockup? | Draw it in the visual editor — outside-in |
| An existing REST API? | Point the screens at it |
| Prefer data over code? | Declare it in YAML — type: UI mounts, routes.yaml, layout definitions |
They all land on the same declaration. Code-first tools cannot start from a design; design-first low-code tools cannot start from your domain model.
Each service ships its own screens with it — a jar, a .NET or Python service, or a folder of YAML — and they aggregate into one shell, or embed into an IDE, a mobile app, a Visual Builder app or another product's page. Eight teams can own, version and deploy their slice of the same back office independently.
That is micro-frontends without the micro-frontend tax: what federates is a declaration, not a JS bundle, so there is one framework version, no runtime composition and no CSS collisions.
As data (no code) — specs/ui/products.yaml, by hand or written by the visual editor:
type: Listing
title: Products
searchable: true
rowsSource:
ref: products # an endpoint named once in sources.yaml
columns:
- {type: GridColumn, id: name, label: Name}
- {type: GridColumn, id: price, label: Price}
- {type: GridColumn, id: status, label: Status, dataType: status}
In Java (a full CRUD over a record):
record Product(
@EditableOnlyWhenCreating @NotEmpty String id,
@NotEmpty String name,
@Min(0) double price,
@NotNull ProductStatus status
) implements Identifiable {}
@UI("")
public class Products extends AutoCrud<Product> {
@Override
public CrudStore<Product> store() {
return ProductStore.INSTANCE; // findById, save, findAll, deleteAllById
}
}
In C# ([UI("products")] class Products : Crud<Product>) or Python (@ui("products") class Products(Crud[Product])) — see starters/dotnet and
starters/python.
Each becomes a searchable listing (the code versions also get create, detail, edit and delete, validated on both sides), in any renderer:
mvn archetype:generate -DarchetypeGroupId=io.mateu -DarchetypeArtifactId=mateu-archetype \
-DarchetypeVersion=<release> -DgroupId=com.acme -DartifactId=my-app
# add -Dauthoring=yaml (YAML served by Spring Boot) or -Dauthoring=static (no backend)
starters/yaml (or starters/static
for a bundle with no backend) and follow Quickstart: YAML.Or clone a starter for your runtime: starters/ has Spring MVC, WebFlux, Quarkus,
Micronaut, Helidon MP, .NET, Python, YAML and static — CI builds and boots each one. Java
quickstart: https://mateu.io/java-user-manual/start-here/quickstart/.
Every generated project and starter ships an AGENTS.md. The Mateu plugin adds eight skills for
Java, C#, Python and YAML screens, scaffolding, running and federation.
Claude Code:
/plugin marketplace add miguelperezcolom/mateu
/plugin install mateu@mateu
Codex CLI (a version with codex plugin support):
codex plugin marketplace add miguelperezcolom/mateu --ref master \
--sparse .agents/plugins --sparse ai/claude-plugin/mateu
codex plugin add mateu@mateu
Antigravity CLI: from a Mateu checkout, build the bundle with Node 22+ and install it:
node scripts/package-antigravity-plugin.mjs
agy plugin install ./ai/antigravity-plugin/mateu
These are repository-based installation paths, independent of official directory listings. See Build UIs with AI for version pinning, invocation, updates and verification.
More — llms.txt, the JSON Schemas, MCP: https://mateu.io/build-uis-with-ai/
Mateu is a great fit for:
Mateu is not designed for:
When one screen out of forty does need to be special, you drop to a custom component for that one and keep routing, state, validation, i18n and the rest of the app.
Have questions, ideas or feedback?
👉 Join our Discord: https://discord.gg/YFb9utDMYK
starters/ · Demos: demo/Mateu derives real business UIs from one model you keep — written as YAML or code, rendered anywhere, served by any backend or none — so they cannot drift away from it.