Demos
These small examples focus on application behavior. TinyJoin keeps its Worker, WebAssembly, and storage implementation behind the ordinary create() call.
The create-tinyjoin package can generate a complete Vite starter using the same patterns.
Todo starter
A useful first TinyJoin app needs one table, one read query, and small parameterized mutations. The demo above is running on this page, in an iframe, against a real in-memory database. Read more.
Bank transactions
Callback transactions group related parameterized mutations. An error thrown out of the callback rolls back its staged changes. The demo above moves money between two accounts; the second button deliberately throws after staging the debit, and you can watch both balances stay exactly where they were. Read more.