Now in private beta

Share anything in your app as a link.

CapsuleCards turns content inside your mobile app into a single shareable link. It opens straight into your app with the real data for people who have it, and as a rich preview and a beautiful web page for everyone else.

Add it in an afternoon. No backend to build.

Messages

What was that soup you made on Sunday?

Roasted tomato & basil soupServes 4 · 9 ingredients · 40 minmealmate.capsule.cards

Opened straight into MealMate. Saved it 🙌

The problem

Your app's best content has no address.

A recipe, a workout, a packing list: things worth sharing live inside your app, where nobody else can reach them. So sharing falls back to a screenshot or a blob of text, and doing it properly means weeks of web servers, databases, landing pages, preview metadata and Universal Links.

Native content isn't linkable

An item in your app has no URL, so a friend without the app has nothing to open.

Sharing loses the data

Even between two people with your app, the recipient has to retype what they were sent.

Plain links look dead

Without the right metadata, a link unfurls blank in chat apps and gets fewer taps.

How it works

From Share button to shared link in four steps.

  1. 1

    Add your app

    Create a team, add your app's bundle ID, and pick a slug. You get a hostname like mealmate.capsule.cards and a key to ship in your app.

  2. 2

    Make your models shareable

    Add the Swift package and conform the things your users share, like a Recipe, to Shareable. A default share type works out of the box.

  3. 3

    Share a link

    When someone taps Share, one call creates a capsule and returns its URL. Hand it to the share sheet and they can send it anywhere.

  4. 4

    Recipients get the real thing

    Friends with your app open it straight in the app with the original data. Everyone else gets a beautiful web page and an invitation to install.

Features

Everything a shared link needs, handled for you.

CapsuleCards owns the web side of sharing: storage, hosting, rendering, previews, Universal Links, crawler traffic and analytics. Your team stays focused on the app.

Opens right in your app

Universal Links route each capsule to the app that made it, and the SDK hands you a typed value to import. No retyping, no screenshots.

Rich previews everywhere

Correct Open Graph and Twitter Card metadata on every link, so it unfurls properly in iMessage, WhatsApp, Slack, Discord, X and the rest.

Beautiful by default

Every app starts with a responsive design that looks great with zero setup. Bring your own HTML when you want it to match your brand exactly.

Live, not a snapshot

Update a capsule and its card, preview and payload change in place at the same URL. Links people already shared keep working.

Attachments included

Attach photos, PDFs or GPX tracks. Files upload straight to storage, import into your app, and download from the web card.

Honest analytics

See how far each share travels: previews fetched by chat apps, opens on the web, and opens in your app, counted separately.

Two kinds of recipient

The app first. The web always.

Every link works for everyone. Nobody hits a dead end or a nag screen.

Has your app

The link opens your app directly and delivers the original structured data, ready to import in one tap.

Doesn't have it yet

They get a fast, responsive page in your app's design, with any attachments to download and a clear way to get the app. Often it's their first impression of you.

For developers

A small, sharp SDK.

Make a model shareable, call one method to get a link, and one method to turn an incoming link back into a value. Keys, uploads and schema versions are handled for you.

Read more for developers
import CapsuleCards

struct Recipe: Shareable {
    static let shareType = "recipe"
    var name: String
    var ingredients: [String]
}

// When the user taps Share
let link = try await CapsuleCards.shared.share(recipe)
ShareLink(item: link.url)
FAQ

Questions, answered.

Who is CapsuleCards for?

Mobile app developers, especially indie developers and small teams, who want sharing to feel first-class without spending weeks on web and backend infrastructure.

Which platforms are supported?

The first SDK is for Apple platforms, in Swift. A REST API with a published OpenAPI schema makes CapsuleCards usable from any platform or server.

Do I need to run a server or a website?

No. CapsuleCards hosts the links, stores the data and attachments, renders the web pages and previews, and serves the Universal Links association file for your app.

Can I use my own domain?

Yes. Every app gets its own capsule.cards subdomain, and you can also serve capsules from a domain you own, such as share.yourapp.com.

Are shared capsules private?

Capsules are unlisted and never indexed by us, but anyone with the link can open them, just like any shared link. Don't put data in a capsule that must stay secret.

How do I get access?

CapsuleCards is in private beta. Join the waitlist and we'll be in touch as we open up more spots.

Give your app's content a link worth tapping.

CapsuleCards is in private beta. Join the waitlist and we'll let you know as soon as there's a spot for your app.

Join the waitlist