Documentation
Tutorials
Lessons that take you by the hand through building something, start to finish. Read them in order the first time.
- Your first eezo application
This page is for people who can read Scala and have never run eezo. By the end you'll have an application scaffolded, running, restarting on every save, and…
- From a case class to seven routes
This page continues from your first application. By the end, the bookshelf application has a Book model, a table in Postgres, a migration file you can commit,…
- Adding sign in
This page continues from the model tutorial. By the end, the bookshelf has users, a login page, and every book belongs to whoever created it: anyone signed in…
- From nothing to Fly.io — the eezo deploy walkthrough
The whole arc: scaffold an app, give it a model, ship it. Every output below is from a real run (2026-09-09, first field deploy). Time budget: ~15 minutes,…
- A live page, from nothing — the eezo live walkthrough
The arc: scaffold an app, write a component, watch it update in the browser with no JavaScript of yours, share state between two browsers, deploy it. The live…
The example applications
- hello: the http layer
One handwritten route and no database. src/main/scala/app/Hello.scala defines def hello, and the sbt plugin turns the file's name into GET /hello in a…
- reminders: the database layer
A nightly job over rows and no server. models/Reminder.scala derives Table, AppSchema.scala registers it with an index on dueOn, and Main.scala names that…
- blog: both layers
One case class with all three derivations. models/Post.scala carries derives Table, Form, Resource: the table, the HTML form, and the seven CRUD routes over…
- todo: the CLI tour
One model deriving Table, Form, Resource, an AppSchema with two indexes, two handwritten routes, and a Postgres schema of its own. Everything the CLI currently…