Skip to content
feedme
About the LibCard integration

The connection guide

A few settings.
More room for your work.

Keep your card on its own host. Connect it to a personal Feedme server, then choose which links welcome a little encouragement.

Before you start

You need a public LibCard repository and a running Feedme instance at an HTTPS address. Update both apps to versions that include the integration; older LibCard schemas reject the new settings.

In the examples below, https://support.example.com stands for your personal Feedme address. Replace it in both apps. The public site at feedme.fund is a static demo, so it isn’t your checkout server.

New to hosting Feedme?

Start with the Feedme setup guide. A live instance needs persistent storage, your Bluesky administrator identity, private Habitat storage, and Stripe. Complete the test-mode acceptance checklist before taking real payments.

Just want to try picks locally?

From a Feedme checkout, use the offline sample catalog. No accounts or payment credentials are needed.

pnpm install
FEEDME_MODE=demo LIBCARD_REPO=example/libcard pnpm dev

This is a fictional fixture with simulated payments. See the preview documentation for the optional real-catalog demo.

A working example

crs.land → Tip Chris

Chris’s LibCard is his public profile and link catalog. Tip Chris is his personal Feedme, importing that catalog and offering picks, gift review, and Stripe checkout. Both sites are live.

These are the public Feedme settings behind that pair. For your own installation, replace the domains, handle, site name, and repository with yours:

PUBLIC_URL=https://crs.tips
SITE_NAME="Tip Chris"
BLUESKY_HANDLE=crs.land
LIBCARD_REPO=crs48/LIBCard
LIBCARD_REF=main

You can inspect the LibCard source configuration and Feedme’s public catalog and pick totals. The public endpoint includes no supporter identities, private notes, or individual payment amounts.

The import works without card-side tip buttons. To add those buttons and read public pick totals back into a LibCard, follow the optional LibCard settings below.

Explore the live example → or try simulated tips in the demo. Completed checkouts on crs.tips are real payments.

01 · In Feedme

Point Feedme at your card.

Add these public settings to your Feedme server’s environment alongside its existing live configuration, then restart it:

PUBLIC_URL=https://support.example.com
BLUESKY_HANDLE=you.bsky.social
LIBCARD_REPO=your-name/your-libcard
LIBCARD_REF=main

LIBCARD_REPO is the GitHub owner/repository pair. LIBCARD_REF defaults to main; you can omit it. PUBLIC_URL must be the same HTTPS origin you put in LibCard.

Feedme reads your profile and catalog from libcard.config.yaml. It imports your public name, avatar, links, icons, and supported GitHub metadata. Your Bluesky administrator identity stays the same.

You can keep the existing project flow.

This integration is optional. Leave LIBCARD_REPO unset to use Feedme’s native projects and percentage sliders.

03 · Check the connection

Refresh. Review. Verify.

Commit the YAML to the repository and ref you configured. In Feedme, open Dashboard → Projects → From LibCard → Refresh LibCard, or let the normal background refresh pick it up in roughly 15 minutes.

Check the imported names and targets. A removed source item is archived, and a locally hidden item disappears from the public target list. Import errors keep the last good catalog and show a diagnostic in Studio.

From your Feedme checkout, verify the deployed endpoint:

pnpm check:libcard-origin https://support.example.com

The check verifies a direct response, matching public origin, cache headers, and the public contract at /api/public/libcard. It doesn’t charge anyone or replace the live provider acceptance checks.

Try the links

A target-specific link uses its ID and a count of one:

https://support.example.com/checkout?amount=22.00&tools=1

amount is in dollars. LibCard uses Feedme’s configured default suggestion, rather than a fixed $22. The general “Give to…” action opens /checkout without selections so visitors can choose for themselves.

04 · Back on your card

Build, publish, and let it refresh.

Build and deploy LibCard after Feedme has imported the new IDs. The existing daily LibCard workflow refreshes the public signal on subsequent builds; there is no extra scheduler or browser polling to set up.

pnpm build

Your card’s “More of this” actions are ordinary links. Visitors continue to Feedme to change their picks, amount, frequency, privacy, and note, then review the exact gift before Stripe checkout.

What the public numbers mean

“75% of public picks” measures raw picks across eligible public tips, independently of dollar amounts. “3 public tips” counts payments, not three unique people. Private and anonymous tips are excluded, as are unpaid, fully refunded, and disputed payments. These are build-time snapshots, not live funding totals.

LibCard receives no supporter identities, private notes, or individual payment amounts. Feedme retains the ledger and private recovery.

If something looks wrong

My new link doesn’t have a tip action.

On Feedme, check that the item is not hidden, that you have room in the 99-item limit, and that explicit-only mode is not enabled. For an action on LibCard itself, check its nested feedme.id, refresh the import in Feedme, and confirm the target is live and not hidden. Rebuild LibCard afterward. When a successful response omits a target, LibCard hides that target’s tip action while keeping its ordinary link.

The links work, but the numbers are missing.

Run the origin check. LibCard omits statistics if its build cannot reach or validate the endpoint. Tip links remain, without an amount parameter, so Feedme supplies its default. Check that both apps use exactly the same HTTPS origin.

Feedme reports an ID collision or invalid import.

The Studio diagnostic identifies conflicting native project IDs or invalid fields. Choose an unused source ID and correct the YAML, then refresh. Your last good catalog remains available while you fix it.

Can I turn it off?

Set LibCard’s top-level feedme.enabled to false to remove its integration UI and requests. Remove LIBCARD_REPO from Feedme to return to native projects. Disabling the feature keeps historical payments; it does not cancel subscriptions.

You’re connected.

Your card introduces your work. Feedme makes room for people to support it.