HyperCartridge mints ~~collaborative~~ applications into NFT "cartridges", which can be retrieved and run locally, or optionally served as a static site or via an ENS domain.
Each HyperCartridge is a self-sovereign encapsulation of logic and state for an application. The first HyperCartridge is an IDE that can be used to design and mint more HyperCartridges.
HyperCartridges are written using ValueScript (a dialect of TypeScript with value semantics) and can be used to make single player applications, ~~or linked to an edge server to make collaborative, multiplayer applications~~.
Each HyperCartridge is comprised of the HyperCartridge kernel (the "kernaal"), application logic written in ValueScript, and metadata (such as the server URL). A deployment server accepts a destination address and the cartridge application logic, pins the application logic in IPFS and mints an NFT pointing to the application logic, then transfers the NFT to the users address (paying gas, thanks HyperCartridge!)
~~An optional server allows users to deploy ValueScript for state transitions and to synchronise the state between clients to enable collaborative experience. (Not finished).~~
We started with the (perhaps hubristic) goal of building a mechanism for self-sovereign off-chain applications that inherit a similar control and risk profile to the on-chain assets that spawn them, by encapsulating logic and state into an NFT and using it to bootstrap collaborative client applications.
We wrote the kernel (a static file written using TypeScript, designed to be hostable anywhere and referenced explicitly from each HyperCartridge NFT) . Next, a server that would enable real-time collaboration between people using the same HyperCartridge. We weren't quite able to get that part running. We deploy these to NFTs that can then be hosted as a static site.
The first HyperCartridge is an IDE, we deployed that and a few other cartridges.
A bunch more gritty details but we're out of time!