Skip to content
View all case studies
Nonprofit & gifting
Nonprofit & gifting WishPlanner (Milannial solo product) Ongoing · live with first users July 2026

WishPlanner: charity fundraising that lives inside everyday gifting

A 100% Milannial solo product for NGOs and individuals: vetted impact stories with Stripe donations and certificates, year-round wishlists, and group gifting (Secret Santa / birthday) that can fund charity wishes - 100+ users, 200+ donations, 5 live stories, unlimited wishes.

Outcomes

  • Three equal pillars shipping together: charity fundraising, personal wishlists, and group gifting (Secret Santa / birthday)
  • 100+ users and 200+ donations through vetted stories, with donation certificates and a disbursement ledger
  • 5 live impact stories with map-backed locations, Stripe checkout, and admin vetting for NGOs and beneficiaries
  • Unlimited personal and group wishes - including charity wishes that turn gifts into verified donations
  • EU-first product surface with next-intl (EN/RO), Resend magic links, and web-push notifications

Stack

Next.jsReactPostgreSQLPrismaNextAuthStripeResendweb-pushnext-intlMotion
+

users

+

donations

stories

wishes

The product

WishPlanner is a 100% Milannial solo project - owned, designed, and built end-to-end. It exists so charity fundraising does not live in a separate tab from the ways people already gift each other.

Three pillars carry equal weight:

  1. Charity fundraising - vetted NGOs and individual beneficiaries, impact stories with progress and updates, Stripe donations, a disbursement ledger, donation certificates, and an impact map.
  2. Personal gifting - year-round wishlists (/wishlist, public /w/[slug]), gift vouchers, and a profile Wrapped recap.
  3. Group gifting - Secret Santa and birthday flows that can fund a charity wish or honour someone with a donation instead of another object.

It is live with first users: 100+ users, 200+ donations, 5 stories, and an unlimited wishes framing for personal and group lists.

Why this shape

Most donation platforms ask people to leave their social rituals. WishPlanner keeps the ritual and redirects the value:

  • A Secret Santa draw can land on a charity wish instead of a wishlist gadget.
  • A birthday page can collect gifts as donations to a verified story.
  • A voucher can carry a fixed amount of giving and let the recipient choose which story it helps.

Transparency is built into the loop: admin vetting before anything goes live, certificates for donors, and a money view that tracks raised vs disbursed per story.

Inside the product

Real screenshots from the running product - stories and impact, donation checkout, Secret Santa, wishlists, certificates, and the admin ledger.

Stories · 01 / 06

Impact stories on a dark cinematic stage

Featured stories, live stats, and a Romania impact map sit behind the fundraising loop - so donors see verified people and places before they give.

Impact stories on a dark cinematic stage

Donate · 02 / 06

Stripe checkout tied to a story

Each live story has a dedicated donate flow with progress, occasions (direct, birthday, Secret Santa), and a certificate on success - payments via Stripe.

Stripe checkout tied to a story

Secret Santa · 03 / 06

Group gifting that can fund charity

Groups gather, draw names, and reveal assignments. Wishlists can mix gadgets with charity wishes so a Secret Santa gift becomes a verified donation.

Group gifting that can fund charity

Wishlist · 04 / 06

Year-round personal wishlists

Owners manage a public /w/[slug] list with priority items and charity wishes - shareable for birthdays, holidays, or any occasion.

Year-round personal wishlists

Certificate · 05 / 06

Proof a real wish was granted

Every succeeded donation can produce a shareable certificate - including honoree naming for birthday and gift occasions, or voucher redemptions.

Proof a real wish was granted

Admin · 06 / 06

Vetting and the money ledger

Nothing goes live until an NGO or beneficiary is approved. The money view tracks raised vs disbursed per story so transparency is operational, not decorative.

Vetting and the money ledger

Stack & integrations

  • App: Next.js, React, Tailwind, Motion
  • Data: PostgreSQL + Prisma
  • Auth: NextAuth (magic links via Resend)
  • Payments: Stripe
  • Comms: Resend, web-push
  • i18n: next-intl (English / Romanian)

Hosting is EU-first for a Romania-centred impact product. No real donor PII appears in portfolio assets - demo identities only.