# Server-first forms for Astro

Build Astro forms with server-side validation, data binding, state, and server actions. Explore examples, request context, and Express-style endpoints.

Source: https://withastro-utils.github.io/docs/

Astro Utils provides server-first forms, request context, and Express-style endpoints.

[Start building](https://withastro-utils.github.io/docs/agents/getting-started.md)

- [Create an account](https://withastro-utils.github.io/docs/examples/signup/index.md): Bind account fields, validate them, and run a server action after a valid submission.
- [Log in with feedback](https://withastro-utils.github.io/docs/examples/login/index.md): Try success and error feedback with a clearly labeled demo session.
- [Manage a task list](https://withastro-utils.github.io/docs/examples/todo/index.md): Add and remove persisted items while the form automatically renders the latest server state.
- [Edit profile settings](https://withastro-utils.github.io/docs/examples/settings/index.md): Combine text, select, and textarea controls in one saved preferences form.
- [Upload a large file](https://withastro-utils.github.io/docs/examples/upload/index.md): Upload a file in bounded chunks and show progress before processing it on the server.
- [Submit a service request](https://withastro-utils.github.io/docs/examples/government-form/index.md): Group an application into sections and save a small draft in the session.
- [Filter a product catalog](https://withastro-utils.github.io/docs/examples/products/index.md): Bind a price filter, run server logic, and render matching products.
