Both engines run inside the browser tab. Alps reads the dialect from the student’s own SQL, opens the right database, and keeps it alive as they work — so an INSERT in one exercise is still there in the next.
No database server to stand up, no connection string to hand out, no accounts to provision. A student opens the page and runs a query — on a Chromebook, on an iPad, offline.
A short loop: SQLite is detected and runs → a second run queries rows the first one inserted → a new file joins in → the SQL turns into PostgreSQL and the engine follows.
A scripted walkthrough of the in-browser editor — not a live database on this page.
Students run genuine SQLite and PostgreSQL. What Alps removes is everything that usually stands between a class and its first query.
SQLite for a first course, PostgreSQL when the syllabus needs window functions, SERIAL, or generate_series. Not a shim — PostgreSQL itself, compiled to WebAssembly.
Alps reads the dialect from the SQL itself and from any shipped database file. Nobody picks an engine from a menu — though one click overrides it when a student wants to.
Insert or update rows, then query them straight back. The database is still open between runs, so students see cause and effect instead of a fresh copy every time.
Every exercise on a textbook page shares one database, so a chapter can build a single story — create a schema at the top, and still be querying it at the bottom.
Split work into several .sql files and run one, or run them all in order as a single script. Same database throughout — nothing is lost between files.
Attach a ready-made database to an exercise and students open it already populated — no import step, no setup script, no first-day data-loading lesson.
| Feature | In the Browser | On the Server |
|---|---|---|
| Speed | Instant — nothing leaves the tab | A round trip per run |
| Works offline | ||
| Database stays live across exercises | Fresh database each run | |
| Result grids | ||
| Start from a shipped database | ||
| Same engine, same answers |
The browser is the default and covers a whole course on its own. Server execution is there for the cases that need it — and because a dialect uses the same engine in both places, a query that works in one works in the other.
Teaching from your own SQL material? Alps can onboard any book as an interactive course. We work with publishers and support licensed editions. Get in touch.
SQLite and PostgreSQL, detected automatically and running in the tab — nothing to install, nothing to connect to. Start with the free Educator Basic tier.