Open Source Django Plugin

Occasion cards,
reimagined for Django

Design personalised greeting cards, save them to a library, send by email or post — birthdays, weddings, sympathy, and every occasion in between. Drop-in Django app with full REST API.

pip install pypiggyback View on PyPI
🎂

Happy Birthday
Mum!

💍

Congratulations
on your wedding

❤️

With all
my love

12+Occasions
FullREST API
3Delivery Methods
0Vendor Lock-in

Everything Moonpig does.
In your Django app.

✏️

Card Designer

Fabric.js-powered editor with text, photos, stickers, and backgrounds. Double-click to edit, drag to position.

🛍️

Card Shop

Browse templates by occasion and style — funny, traditional, photo, luxury, kids, and blank.

📚

Card Library

Auto-synced library of drafts, saved designs, sent cards, and favourites. Never lose a design.

📧

E-Cards & Post

Send instantly by email or schedule posted delivery. Pluggable backends for your print partner.

👥

Address Book

Manage recipients with email, postal addresses, birthdays, and anniversaries.

🔔

Reminders

Automated email reminders before birthdays and anniversaries. Cron-ready management command.

🎁

Gift Add-ons

Attach chocolates, candles, prosecco, and gift wrap to posted card orders.

🛒

Checkout

Full cart flow with promo codes, pricing, and payment hooks. Stripe-ready architecture.

🔌

REST API

Headless-ready DRF API for mobile apps, SPAs, and third-party integrations.

Five lines to get started

Add Piggyback to any Django project. Templates, editor, API, and admin included.

# settings.py
INSTALLED_APPS = [..., "piggyback"]

# urls.py
path("", include("piggyback.urls")),

# terminal
python manage.py migrate
python manage.py load_sample_data

Ready to send some joy?

Read the docs, clone the repo, and start designing cards in minutes.