We have been working on extracting the common infrastructure for building and running a Cardstack app into its own project, called Card Infra (standing for card infrastructure), which allows Cardstack applications to be easily deployed to public cloud services like Amazon Web Services (AWS). As of the time of writing, Card.Space is running on AWS, with its codebase coded in Card Schema V2.

We plan to invite early adopters to try out the upgraded Card.Space service in the next few months, so as to gather feedback and initiate enhancements. This Card.Space hosting service will work like any other platform: Once you have an account, you can create your own space — for yourself, for your team, for your private or public group, or (if you are part of a larger organization) for a hierarchy of interrelated subteams. You can run any Cardstack application written in Card Schema V2, just by opening a template in the browser, and immediately start interacting with it.

Card SDK & Cardstack Builder: Developers and users as card makers

As a way to increase the number of cards that are available for people to adopt and use in their personal workspaces, we want to facilitate both code-driven and “no-code” approaches to card making. In our ecosystem, we see card makers as anybody who makes new cards by translating their experience and expertise into new mini-apps. This includes developers who code as well as users who don’t code, but who know how to work with Excel, how to configure a Web platform like Airtable or Notion, or how to administer Salesforce.com. Therefore, we create two different entry points for card makers, which are designed for developers and users respectively.

Card SDK for developers

Cardstack is designed to be open source. Therefore, we continue improving and updating the Card SDK, so as to provide developers with clear documentation and useful tutorials, which will guide them as they create brand-new functionalities within the Cardstack ecosystem. Last year, we launched Card SDK V1 with the corresponding documentation, which teaches developers to build applications that are similar to our open-source codebase and which tap into the full power of the Cardstack Hub — with its indexing, transactional writing, access control, API generation, and user interface support, including templating and routing. All this is part of the Cardstack architecture.

Since then, we have been working on upgrading the Card SDK and the documentation to support the V2 model that is currently in development. Card SDK V2 improves the encapsulation of code, making it easier for developers to reuse modules they have created in other cards. For example: If you have built a payment processing card that supports credit card or crypto payment methods, you can insert that payment processing card into any new type of card you are building, such as a card for selling tickets, collectables, or services. By setting your payment processing card as a field type, your other cards can use the exact same payment UI, API calls, and wallet integrations.

Cardstack Builder for users

The greater level of composeability offered by Card SDK V2 allows us to make it even easier for non-developers to assemble their own applications. Instead of having to write code to embed a payment processing card inside a concert ticket card, users can use the UI to simply drag a payment processing card into their ticket card.

Since 99.9% of humanity does not code, providing drag-and-drop tools for card assembly and point-and-click tools for configuration greatly increases the number of card makers who can actively contribute to the richness of the Cardstack ecosystem. Therefore, the current focus of our research and development revolves around creating the Cardstack Builder. This card building tool is an integral part of the Card.Space service, enabling non-developers to leverage the composeability of Card Schema V2 to create new data-driven systems, forms to capture user input, and workflows that set visibility criteria based on organizational rules and access control patterns.

We will announce an early-access program for community members who would like to test the Cardstack Builder in the coming weeks; keep an eye on our Discord or Telegram announcement channel to be one of the first to get the news.

Card Catalog: Templates over tools

As software gets more powerful — both on the desktop and on the Web — there is a growing array of tools that enable users to design and prototype websites, create applications and workflows, and customize networks or online groups. However, most of these tools require countless integrations, which have to be created through custom programming or tools like IFTTT / Zapier. This means: While many of these tools are considered “low-code” or “no-code” tools, users who can actually wield those independent tools successfully to create a cohesive experience need to be highly skilled, as the process involves a lot of trial and error. Although this process does not technically involve any coding, it is very much like a difficult engineering process that is time-consuming, error-prone, and extremely frustrating.

Our marketplace research has shown that, even with the powerful tools that are available for no-code platforms like Airtable, most users of these platforms end up using templates — either templates published by the platform itself (in the form of starter kits for common workflows) or templates that are provided by other platform users, who share their customizations (which are based on hard-learned lessons) with the broader community. Users who adopt these prebuilt templates basically experience applications in their completed state; they only make little tweaks in areas that are inadequate or incomplete. That is why they can get a SaaS application up and running in as little as 15 minutes, without spending hours tinkering with settings and configuration menus or watching endless Youtube videos to figure out which button to click or where a menu item resides within an app.

We are following a similar approach. In our ecosystem, we encourage all card makers — regardless of whether they write code or use the drag-and-drop UI of the Cardstack Builder — to share their card templates with the greater community. The system we have designed to accommodate these sharing workflows is the Card Catalog. In a nutshell: The Card Catalog is essentially a global, shared folder, to which people can submit the cards they have made. To make it easier for users to find particular cards in the catalog, we will ask submitters to include categories, screenshots, example data, and user tutorials along with their core configurations.