Back to projectsProduct case study · 2026
  • 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.

A personal product designed and developed entirely by Charlot Joël DEDJINOU.
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.

  1. 01 · Follow-up

    Contribution without continuity

    Customers need one place to connect an action with its follow-up, points and progress.

  2. 02 · Recognition

    Progress that stays invisible

    Employee contributions and peer recognition need a visible place in the product experience.

  3. 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.

  1. 01 · Contribute

    Capture a meaningful action.

    Customers share feedback and reviews while employees complete tasks or participate in recognition flows.

  2. 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 LINKED
    RULE APPLIED
    LEDGER RECORDED
    IDEMPOTENCY KEY · SOURCE REFERENCE
  3. 03 · Progress

    Make contribution visible.

    Wallet activity, recognition, leaderboard position and trophies give participants a coherent view of progress.

  4. 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.

01 · Customer

Contribute and follow the result.

Customers share feedback, participate in reviews and follow the points and progress connected to their activity.

  • Feedback
  • Points & rewards
02 · Employee

Turn contribution into visible progress.

Employees complete tasks, exchange recognition and see how those actions shape their wallet, trophies and progress.

  • Tasks
  • Recognition
03 · Tenant administrator

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
04 · Platform administrator

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.

  1. 01
    Client

    Next.js and React interfaces for four roles.

  2. 02
    API

    FastAPI modules apply product and permission rules.

  3. 03
    Data

    PostgreSQL stores tenant data and the points ledger.

  4. 04
    Workers

    Redis-backed Celery handles delayed and scheduled work.

  5. 05
    Storage

    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.

Consistency
Problem

Point balances can drift under concurrent updates.

Decision

Use ledger-first mutations with the ledger record and balance update in one transaction.

Isolation
Problem

Shared infrastructure can expose data across organizations.

Decision

Carry tenant context through tables, permissions and every background path.

Concurrency
Problem

Two valid mutations can target one balance.

Decision

Lock or version balances and keep source references idempotent.

Delivery
Problem

Delayed side effects can slow interactive requests.

Decision

Keep the modular monolith and move scheduled work to Celery.

What the project demonstrates

  1. 01Four distinct role interfaces
  2. 02Feedback, task and recognition modules
  3. 03Tenant-aware data and permissions
  4. 04Central points services and configuration
  5. 05Worker and scheduler structure

What remains to validate

  1. 01Real-user motivational effect
  2. 02Production-scale performance and concurrency
  3. 03Production migration reliability
  4. 04Long-running worker and integration behaviour
  5. 05Product-wide accessibility and responsive coverage

Outcome

Several participation mechanisms become one configurable product experience.

Pulse connects customers, employees and administrators through shared product rules without presenting its motivational intent as a measured result.