- Full-stack
- Multi-tenant SaaS
- Engagement platform
Participation platform · Personal project
Pulse turns participationinto momentum.
A multi-tenant platform designed to motivate customers and employees through feedback, tasks, recognition, points and rewards.
- 04
- Role perspectives
- Multi
- Tenant boundaries
- Async
- Background work
- Ledger
- Points integrity
01 · Problem
Disconnected participation loses its momentum.
When feedback, recognition, tasks and rewards live in separate tools, continuity is lost. Customers cannot follow what happens after contributing, employee recognition remains difficult to see, and administrators cannot govern participation consistently.
- 01 · Follow-up
Contribution without continuity
Customers need one place to connect an action with its follow-up, points and progress.
- 02 · Recognition
Progress that stays invisible
Employee contributions and peer recognition need a visible place in the product experience.
- 03 · Governance
Rules spread across workflows
Separate mechanisms make permissions, approvals and incentives harder to manage consistently.
02 · Product experience
The engagement rail
One continuous loop connects participation to a visible result while tenant rules remain in control.
- 01 · Contribute
Capture a meaningful action.
Customers share feedback and reviews while employees complete tasks or participate in recognition flows.
- 02 · Earn
Record the event before the balance.
A central service links each points mutation to a source reference and tenant-scoped rule.
LEDGER / EVENT STREAM
SOURCE LINKEDRULE APPLIEDLEDGER RECORDEDIDEMPOTENCY KEY · SOURCE REFERENCE - 03 · Progress
Make contribution visible.
Wallet activity, recognition, leaderboard position and trophies give participants a coherent view of progress.
- 04 · Redeem
Close the participation loop.
A controlled rewards workflow connects available points with governed requests and approvals.
Redeem
03 · Shared context
Four perspectives, one core
Every role sees a different part of Pulse. Their actions remain connected by the same tenant-scoped business rules and points ledger.
Contribute and follow the result.
Customers share feedback, participate in reviews and follow the points and progress connected to their activity.
- Feedback
- Points & rewards
Turn contribution into visible progress.
Employees complete tasks, exchange recognition and see how those actions shape their wallet, trophies and progress.
- Tasks
- Recognition
Shape the local participation system.
Tenant administrators manage members, configure the organization points economy and oversee participation workflows within their own boundary.
- Members
- Economy rules
Keep every tenant within a clear boundary.
Platform administrators provision organizations, supervise tenant structure and maintain policies shared across the platform.
- Tenants
- Platform policy
04 · Economic engine
A configurable points economy.
Tenant configuration makes reward policies explicit while a central ledger keeps mutations traceable.
- Currency identity
- Earning caps
- Diminishing returns
- Streak bonuses
- Expiry rules
- Peer transfers
- Leaderboard visibility
05 · System boundaries
Multi-tenant by design.
Pulse is organized as a modular monolith in a monorepo. Tenant context follows business data, permission checks and background work.
- 01Client
Next.js and React interfaces for four roles.
- 02API
FastAPI modules apply product and permission rules.
- 03Data
PostgreSQL stores tenant data and the points ledger.
- 04Workers
Redis-backed Celery handles delayed and scheduled work.
- 05Storage
Object storage keeps uploaded product assets.
06 · Operational control
Participation remains governable.
Tenant and platform administrators retain explicit control over the rules and workflows that connect participation to rewards.
Role-scoped permissions
Each perspective receives the actions and data required for its responsibility.
Approvals and audit records
Sensitive participation and redemption events retain a reviewable operational trail.
Asynchronous jobs
Scheduled and delayed work moves through Redis-backed Celery workers.
07 · Engineering log
The decisions shaping the system.
Point balances can drift under concurrent updates.
Use ledger-first mutations with the ledger record and balance update in one transaction.
Shared infrastructure can expose data across organizations.
Carry tenant context through tables, permissions and every background path.
Two valid mutations can target one balance.
Lock or version balances and keep source references idempotent.
Delayed side effects can slow interactive requests.
Keep the modular monolith and move scheduled work to Celery.
What the project demonstrates
- 01Four distinct role interfaces
- 02Feedback, task and recognition modules
- 03Tenant-aware data and permissions
- 04Central points services and configuration
- 05Worker and scheduler structure
What remains to validate
- 01Real-user motivational effect
- 02Production-scale performance and concurrency
- 03Production migration reliability
- 04Long-running worker and integration behaviour
- 05Product-wide accessibility and responsive coverage
Outcome