Fully owned on-chain dapps with just Internet Identity — no CLI, no dev tools, just a browser.
Status: Active development. Demos will be available at mycanister.app.
On the Internet Computer, a single canister can be a complete application — backend, frontend, and storage in one self-contained unit. But there's no way for a non-technical user to create and own one of these canisters from a browser.
There's also a subtle identity problem: Internet Identity derives a different principal for each domain. A user who authenticates at a launcher app gets one identity. When they visit their new canister at its own domain, they get a different identity. So how do you hand off ownership?
This project provides the libraries and tooling to create user-owned canisters — dapps that anyone can install and fully own on the Internet Computer using only a browser and Internet Identity.
After creating a canister, we re-authenticate the user with Internet Identity at the new canister's domain. This produces the principal they'll always have when visiting their dapp — and that principal becomes the controller. The launcher steps away. The user fully owns their canister.
The user now manages their dapp directly at <canister-id>.icp0.io/canister-dashboard — cycles, upgrades, controllers, all from the browser.
mycanister.app is the reference launcher and dapp registry. Browse available dapps, launch them as your own canister, and manage them — all with Internet Identity.
This is a monorepo containing Rust crates, npm packages, deployable canisters, and example dapps. See CLAUDE.md for the full project map, architecture, and commands. Check out examples/my-hello-world for a minimal implementation.
MIT