Web application
HTTP server, routes, controllers, ECR views, locally served CSS and JavaScript, configuration, and the complete first-run path.
amber new my_app
# equivalent to --type web
Start with the web template →
Amber 2 · A Crystal web framework
Amber gives one developer a verified path from installation to a running Crystal web application—with routes, controllers, ECR views, typed configuration, request schemas, and local assets working together.
First run, illustrated
The web application is the default. Replay the trusted Homebrew install, create the app, and watch the generated page open.
Amber V2 · Web application
my_app is running. Your first route, view, and locally served CSS and JavaScript are ready to shape.
First edits
src/views/home/index.ecrconfig/routes.cramber generate controller PostsChoose the application
amber new my_app creates the supported web application. Choose the separate native preview when you are ready to supply and test its platform toolchains.
HTTP server, routes, controllers, ECR views, locally served CSS and JavaScript, configuration, and the complete first-run path.
amber new my_app
# equivalent to --type web
Start with the web template →
A cross-platform preview for macOS, iOS, and Android using Asset Pipeline UI, FSDD process managers, crystal-audio, and platform build scripts.
amber new field_app --type native
macOS, iOS, and Android are generated today. Linux native UI bindings remain frontier work.
Explore the native frontier →
Framework core
Amber connects routing, controllers, ECR views, typed configuration, request schemas, generators, and diagnostics in one application structure that developers and coding agents can inspect.
Generated files land in predictable places, routes select explicit pipelines, and the clean web app runs without choosing an ORM or front-end bundler.
Compile type-safe Crystal to a native service while retaining garbage collection familiar to Ruby and Elixir developers.
Define request contracts once, validate incoming data into typed values, and expose machine-readable API documentation from the Schema API.
Predictable project structure, schema metadata, and bundled LSP diagnostics make routes, request contracts, and convention errors easier for people and agents to follow.
Create, generate, test, build, inspect, and watch the application through amber, the standalone CLI used throughout the supported beta path.
Ship the web path now and evaluate native macOS, iOS, and Android foundations without pretending Linux UI bindings are finished.
Measured on the smallest target
Amber V2 sustained this median on a DigitalOcean Basic one-vCPU, 512 MB-class Droplet—the $4/month size when the lab ran on July 17, 2026. This was a mixed 1,000-route application with real HTTP sockets, not a static-response shortcut.
Current JSON request path · HTTP/1.1 keep-alive
Then we measured this website
On August 11, 2026, this release candidate ran on the same $4 target. Its complete 26 KB homepage sustained a 5,907 req/s median. It then held 1,000 WebSocket clients with zero connection errors while its rendered JSON path still sustained an 8,058 req/s median.
Read both workloads before repeating the numbers. The 1,000-connection run used idle joined clients, and its sequential stages were noisy rather than a clean scaling curve. Neither result is a promise that every application, database, proxy, or traffic shape will perform the same way.
/ws · site:proof · local ES module
AF-014 · Records
Ecosystem preview · persistence
When an application needs a relational data layer, Grant is the V2 ecosystem path for models, migrations, relations, validations, callbacks, and queries. The core web template does not install an ORM by default, so the preview stays an intentional choice.
Amber and friends
Amber owns the web application, Grant owns records, and Gemma owns files—each character marks a real software boundary with its own release status and documentation.

Owns routing, controllers, ECR views, typed configuration, and the application structure that connects them.
V2 beta coreOpen file · Read docs →
Keeps models, relations, migrations, and queries organized.
Ecosystem previewOpen file · Read docs →
Moves attachments from validation through storage and delivery.
Ecosystem previewOpen file · Read docs →
The philosophy behind the defaults
These six principles show up in practical decisions: coherent generators, explicit boundaries, fewer required dependencies, honest preview labels, and documentation that treats a developer's time as part of the product.
Read Amber's Way