Rewards & Recognition.

Recognition in PerkUp is delivered through Programs. A program defines who is being recognized, with what budget, on what occasion, and how the reward reaches them.

Programs

A Program is the unit of sending. Every program has a type that shapes its behavior (proto/perkup/v1/program.proto):

TypeWhat it does
rewardsA one-off or recurring reward send to selected recipients.
direct / bulkDirectDirect sends to one or many individuals.
anniversaries / birthdaysMilestone sends — see Automations.
perks / personalFunds / policiesRecurring spend — see Perk Programs.
leaveOfAbsencesSends tied to an individual's leave.

Spot rewards & recognition

Managers and admins can send an instant spot reward from the app: pick recipients, an occasion, a message and image, and a value. Recognition can be public — a celebratory announcement — or a private send. Reusable reward templates keep messaging consistent across senders and across automated programs.

Occasions

Every send carries an occasion, which drives the framing and imagery (ProgramOccasion): appreciation, birthday, holiday, incentive, life event, lunch, new employee, team event, work anniversary, and customer gifting.

Acceptance & expiry

A recipient is notified, accepts the reward, and then chooses a gift, spends a balance, or claims swag — see Recipient Experience. Rewards can carry an expiry; unredeemed value is reconciled back to the funding account. The end-to-end money movement is in Money & Balances.

Source: proto/perkup/v1/program.proto · functions/src/services/programs*.ts · apps/frontend/src/pages/{SpotRewards,NewReward,Templates}