app
Application lifecycle
Wire components explicitly and coordinate their startup, route registration, and shutdown.
Open source. Built with Go.
A composable Go toolkit for server-rendered web applications. Build with its packages, or create and evolve your application through conversation.
Composable packages
app
Wire components explicitly and coordinate their startup, route registration, and shutdown.
config
Load and validate the configuration your application needs at startup, with clear defaults and overrides.
settings
Define typed, validated settings that can change while the application runs, separately from startup configuration.
web · htmx · ui
HTTP helpers, template rendering, forms, and UI primitives. Add interaction to server-rendered pages with HTMX.
db
Connect to Postgres, apply SQL migrations, and wire the database into your application components.
auth
User sign-up, sign-in, sessions, and authentication middleware. Use roles to control access.
mailer
Use the Mailer interface with SMTP, SES, SendGrid, or Mailgun. Change providers without changing how your application sends email.
scheduler
Schedule and run background work with a Postgres job store, replaceable through the JobStore interface.
pubsub
Connect components through events using Publisher and Subscriber interfaces, with a Postgres backend included.
The conversational builder
Create and develop your application through conversation. Add features and refine fields and validation using HatMax's own primitives and conventions.
Review the plan before changes are applied. HatMax generates the code and runs project checks.
Meet the builderStart an application
“Create an inventory application with a product feature.”
Keep developing it
“Add a required SKU and an optional reorder level to product.”
Your conversation. HatMax's building blocks.