Case study

Celido — Cashback Platform with Automated Affiliate Tracking

A production fintech platform: 1,000+ partner shops via the Awin network, click-to-payout cashback tracking that runs itself, a double-entry wallet for money integrity, and a full admin backoffice — live at celido.de.

1,000+

partner shops connected via the Awin network

90 days

of commissions reconciled automatically

100%

automated — from shop click to bank payout

Open live demoNext.jsDjango RESTPostgreSQLRedisAwin API

Cashback sounds simple: click a shop, buy something, get money back. Under the hood it is real fintech — click attribution across an affiliate network, money that must never be miscounted, fraud prevention, and commission statuses that change for 90 days after the purchase. Celido handles all of it automatically, and it is live at celido.de.

What users get

  • 1,000+ partner shops — pulled live from the Awin affiliate network, searchable and filterable by category, each with its current cashback rate.
  • One-click tracked shopping — every "shop now" click generates a unique tracking reference and redirects through the network, so each purchase is attributed to the right user automatically.
  • A transparent wallet — pending, confirmed and bonus balances tracked separately, with a six-month cashback trend and a full activity history from click to confirmation.
  • Bank payouts — users add IBAN accounts, request payouts, and follow the status from request to paid.
  • Voucher bonus codes — sign-up bonuses that unlock only after real purchase activity, preventing abuse by design.
  • Serious account security — email verification with one-time codes, Google sign-in, optional two-factor authentication and strict rate limiting.

The engine room

The interesting part of a cashback platform is everything the user never sees:

  • Automated commission pipeline — background jobs import new purchases from Awin every few hours and re-check the last 90 days daily, because shops confirm or decline commissions weeks after the purchase. Every run is idempotent and protected by distributed locks, so four parallel workers never double-count a cent.
  • Double-entry wallet — earned, pending and withdrawn amounts are tracked separately for cashback and bonuses, and the wallet is recomputed from the transaction ledger rather than incremented, so balances cannot drift. Payouts lock the wallet row while money moves.
  • Smart caching — the merchant directory and commission rates are cached in Redis, keeping shop pages fast without hammering the network's API.
  • A complete admin backoffice — user management, payout approval workflows, voucher campaigns, merchant performance and a full transaction audit trail.

The stack

A Next.js and TypeScript frontend in German and English talks to a Django REST API on PostgreSQL — 38 endpoints across 6 modules, with Redis for caching, background queues and real-time notifications over WebSockets.

The takeaway

This is the kind of system where "it mostly works" is not acceptable — money is involved on every page. If your business needs software where correctness, security and automation matter more than anything, this is what we build.