Features

What Laterite gives you.

A working admin, a portable data layer, and the security groundwork every application needs, built to stay out of your way as the app grows.

Descriptor-driven admin

Lists, forms, filters, relations, and navigation are serde descriptor structs. Generic handlers render them, so a new screen is a value you write, not a controller you wire by hand. Descriptors are YAML-loadable, so screens can live in configuration.

Portable data layer

Queries and migrations are built with sea-query over sqlx and run unchanged on PostgreSQL, MySQL, and SQLite. Backend quirks (booleans, key columns, casts, upserts, returning ids) are handled by polyfills, so you write natural Rust types. The full test suite runs against all three databases on every push.

Reversible migrations

Each migration is a Rust unit with up and down. A runner applies them in order and tracks history per module, so a module carries its own version history and can be rolled back, reset, or refreshed from the command line.

Role-based permissions

Permissions are dotted strings carried by descriptors and enforced by middleware. Roles group them; per-user overrides take precedence when you need to grant or revoke for one account. Every admin mutation writes to an append-only audit log.

Server-rendered, no JS framework

The admin is Askama templates with HTMX. Interactions happen over small HTML swaps, so there is no separate front-end build, no client state to keep in sync, and one small vanilla-JS island only where a widget needs it.

Realtime, jobs, and cache as drivers

Background jobs, realtime updates, and caching are driver abstractions. A PostgreSQL deployment gets a database-backed queue and LISTEN/NOTIFY realtime with nothing else to install. A Redis driver is available when you want it; it is optional, never required.

One command to set up an app

lat new is a guided installer: it prompts for the application name, timezone, and database, creates the database, applies the migrations, and creates the first administrator. lat doctor checks that a project is ready to serve.

Start building.

Get started