Skip to content

kdo

A gift list that's easy to share. Paste a product link to add it, and zero missed gifts.

Visit kdo.joris.re (opens in a new tab)

The story

The first version of kdo was born in November 2024, just before the holidays: a small project for my own lists and my family's.

In spring 2026, a deep rebuild: a new sign-in system, a new way to read product pages with AI, and a mobile experience redesigned from scratch. The small side project became a real product.

Zoe's gift list on kdo: her profile, then the gifts she'd like, grouped by category like books and fashion

What it does

kdo does one thing: help you share what you'd like to receive, and nothing more. No buy button, no ads.

  • Add a gift in one gesture. Paste a product link, and kdo finds the name, the picture and the details, and even suggests a category.
  • Secret reservations. Your friends and family can reserve a gift without you seeing it. Only the people you accepted know what's already taken.
  • A useful profile. Shoe size, clothing size, birthday: the things people always end up asking.
  • Apple Shortcut. Add a product to your list from the iOS Share menu, without opening the website.
  • Respectful of your data. Available in French and English, with account export, account deletion and clear consent.

You can see an example list here: kdo.joris.re/zoe (opens in a new tab).

How it works

  • Reading product pages, step by step. kdo first reads the product page. Then an AI model cleans up the title, finds the price and the details, ignores product variants and suggests a category.
  • Safe by design. Pasted links are checked before kdo opens them, and every image is copied to kdo's own storage and cropped to fit.
  • A small public API. A token-protected endpoint powers the Apple Shortcut.

Built with: React Router 8, React 19, TypeScript, Bun, Tailwind CSS, shadcn/ui, Motion, PostgreSQL with Drizzle, better-auth, Cheerio, the Vercel AI SDK, sharp, React Email, Plunk, and Vercel for hosting.

Let's work together

Pick the way you prefer. I usually reply within a day.