This is a demo with made-up people. No real money moves and nothing is posted. What to try

About this demo

What's here, what's pretend, and what's next

Kindly lets people start a campaign with a video, share it everywhere, and let the people who care give, leave a video message, or raise money with their own page. This build runs on made-up people and made-up money, so you can try every part of it.

Things to try, in order

  1. Browse the feed

    Five kinds of card, told apart by their label, shape and layout, never by colour. Only causes and fundraisers carry a Give button. Open the feed

  2. Open a campaign

    Cover video, the story, updates from the organizer, video messages from supporters, comments, and the progress figure.

  3. Sign in as someone

    Pick a made-up person: an organizer, someone running a fundraiser, someone who hasn't set up payouts yet, or a brand-new visitor. Choose who to be

  4. Give

    Choose an amount, confirm on the test checkout, and watch the total move. Completion runs twice on purpose, the way the real webhook and success page both would, and the total only moves once.

  5. Leave a video message

    Pick a stock clip to stand in for your upload and describe what happens in it. It processes for a few seconds, then appears as a moment of kindness.

  6. Start a fundraiser

    Run your own page for someone else's campaign. Gifts count toward both.

  7. Start a campaign

    As a new visitor: write it, choose a category, set a goal, set up payouts (instant here), add a cover video and post an update.

  8. Share it

    Connect social accounts and post to them in one go. In the demo the accounts are simulated and nothing leaves the site. The post is recorded on your dashboard.

  9. Check the details

    Switch to dark mode with the button in the top bar, and try it at phone width.

What's real and what's simulated

PartIn the real productIn this demo
Sign-inZitadel (OIDC)Persona picker; no password
PaymentsStripe Checkout + Connect ExpressTest checkout; no card, nothing charged; payouts set up instantly
VideoMux upload, processing and playbackStock clips, with a few seconds of pretend processing
Social postingZernio, one profile per personAccounts simulated; posts recorded, never sent
DataCloudflare D1Real database, reset to the made-up data every night

The code is the same in both. One setting swaps each outside service for its stand-in; nothing else changes.

Built plainly, not yet designed

The design system covers the feed and its cards. These screens use its colours, type and components, but were assembled without a design pass and should get one:

  • Give and checkout: amount choice, confirmation, receipt, recurring giving
  • Campaign and fundraiser detail pages
  • The campaign composer (the design system has the inputs, not the flow)
  • Comments and replies, reporting and moderation
  • Sign-in and onboarding
  • The organizer's manage page and the dashboard

Decisions to make next

  • Verification: the badges are shown, but nobody verifies anything yet. Who can verify, and on what evidence?
  • Moderation of video messages and comments. Moments are the easiest thing to post and the easiest to abuse.
  • Does Kindly take a platform fee, and where is it disclosed to the donor?
  • Campaign end dates. There are none, so nothing says how many days are left.
  • Editing a campaign after it launches: title, story and goal.
  • Receipts and notifications by email, for donors and organizers.
  • Refunds, and what they do to the totals.
  • Currencies other than US dollars.
  • Save and collections: designed, but not built, because nothing in the product uses them yet.
  • Real photography, avatars and a logo: every image here is a stock stand-in.
  • Supporters or gifts? We count gifts, because one person giving twice isn't two supporters. Counting people needs donor accounts or email matching.
  • British or American English. The design system says “organisation” and the money is in dollars.

Engineering before a real launch

  • Connect and test the real services: Zitadel, Stripe Connect in test mode, Mux and Zernio
  • Tests for giving (counting each gift exactly once) and for who can change what
  • Rate limits on uploads, comments and sharing
  • Pagination for the feed, comments and gifts
  • CI: type check, lint, contrast check and build

Video credits