Tech Status Update

Completing Code Mode, Matrix Identity Integration, Realm API & a new marketing website

Cardstack Team
Cardstack
4 min readNov 8, 2023

--

The Cardstack team is continuing development on the software stack that will lead to the launch of Boxel, a user-facing web app that will facilitate the creation and hosting of Card-based applications or websites.

Completing Code Mode

The team is completing the development of Code Mode, which is an Integrated Development Environment (IDE) that allows developers to create and develop new types of cards entirely on the web.

Developers will still be able to use traditional git-based workflows using their own computer, but for new devs to the Cardstack Ecosystem, we want an easy on-ramp for them to browse the catalog of pre-existing components, fields, or pre-built cards so that they can get started creating new capabilities and features more quickly.

Our current development efforts are focused on improving the module reloading and UI refresh features so that code changes made in the web-based code editor are properly reflected in the preview UI within code mode. Developers also have the option of using our schema editor, which is a UI that introspects the definition of a card or field and allows point-and-click access and modification while being able to dynamically update the code editor as if you wrote the code yourself.

The team is actively working on improving the module loader architecture so that code changes made in both the text editor and the UI configuration panels are updated synchronously and permit the user to switch back and forth between those two editing modalities as they create new schema layouts or functions.

Matrix Identity Integration

Cardstack has adopted the Matrix protocol federated identity system as our user login scheme. This allows multiple hosting providers to issue local user accounts to their user base while having users from different hosting providers communicate with each other as if they are on a single network.

The federation of user identity is emerging to be the preferred method to create interoperable software systems that maintain the usability of web2 login workflows and provide decentralization, where no single company controls all user data and valuable identity-associated artifacts.

The Matrix user ID infrastructure has already been integrated into our code base, but has not yet been exposed to end users for new registration. We are working on supporting familiar authentication flows, such as username and password login and email-based confirmation to onboard users who choose to use a conveniently hosted identity service to get up and running quickly. Power users who want to run their own identity services will be able to do so on their own cloud-hosted endpoints.

Realm API improvements

Users who use Cardstack will utilize a file-based realm, which mimics a file system as a backing store for their user data and customizations. User data are stored as JSON files, while software customizations are stored as TypeScript files. Our file-based storage system, also known as a Files Realm, makes it easy to accept any type of user-generated data without requiring a new backend to be created just to support a new type of data, as would be the case for a database-driven backend.

However, we also want to give users and developers access to SQL-like database query functions; that’s why all saved files are automatically indexed using their TypeScript definition into a queryable database structure. We are working on an improvement to the hosted version of this indexer by integrating pgsearch, a module we created for an older version of the Cardstack hub, so we can use PostgreSQL to index any cards and fields created using the new API, either in code mode or using traditional git-based workflows.

We will also be improving the permissions system for file realms so that they can be read-only, such as for hosting publicly accessible card catalogs.

Brand New Marketing Website

On the marketing front, we are working on a new website for Cardstack, focusing on presenting to JavaScript/TypeScript developers our full-stack solution for composable software applications.

This new website will showcase our new user-facing environment, called interact mode, our frontend UI components, and our backend data services, so that developers and users can understand what they get out of the box when they build on Cardstack.

We will also introduce our integration with the chat-based communication protocol for sharing and process orchestration as well as with AI bots and Web2 and Web3 payment rails.

Stay up-to-date

--

--

Cardstack Team
Cardstack

Official account for the team behind the Cardstack project.