Pointricity: WordPress-Based Loyalty and Rewards SaaS Platform

Pointricity needed a loyalty rewards ecosystem where vendors earn, customers redeem, and operators manage - all on one platform. The complexity wasn't in any single feature; it was in making three distinct user roles work together without breaking the business logic between them. Here's what that engagement required and what it produced.

Pointricity: WordPress-Based Loyalty and Rewards SaaS Platform

Overview

Ongoing

Pointricity needed a loyalty rewards ecosystem where vendors earn, customers redeem, and operators manage - all on one platform. The complexity wasn't in any single feature; it was in making three distinct user roles work together without breaking the business logic between them. Here's what that engagement required and what it produced.

The Business Problem

Most loyalty programs are two-sided: a business and its customers. Pointricity was three-sided: vendors who supply points-earning opportunities, customers who earn and redeem, and platform operators who manage compliance, balances, and payouts.

Each side of that triangle has incompatible incentives. Vendors want maximum redemption to drive traffic. Customers want maximum earning with minimum friction. Operators need auditability, fraud controls, and financial reconciliation. Building a platform that serves all three simultaneously - without letting one side's needs compromise another's - is a fundamentally different problem than building a typical e-commerce site.

The client came to me after an initial attempt with a simpler setup failed. The two-sided assumptions baked into off-the-shelf plugins couldn't accommodate the vendor relationship layer. Starting over with purpose-built architecture was the right call.

Scope and Complexity

This engagement ran longer than a typical WordPress build because the product complexity demanded it. Before writing code, I mapped every state transition in the reward lifecycle: earn, hold, verify, approve, transfer, redeem, expire. Each transition had business rules attached, and those rules had to be enforced consistently across all three user types.

The QR-based verification pipeline alone required designing a flow where a customer's physical in-store action created a database event, triggered a webhook to Zoho CRM for CRM-side recording, and updated point balances - all without the user waiting for a server round-trip.

Stripe Connect's split payment architecture needed to be mapped against the vendor payout model. The financial reconciliation between what Stripe processed and what myCred recorded had to be auditable at the transaction level.

What the Client Needed from Me

Pointricity didn't need a developer who could install plugins. They needed someone who could look at a business model with three stakeholder types, five interdependent systems, and a real-time verification requirement - and then architect something that wouldn't collapse under the first edge case.

The engagement included architectural scoping, plugin selection with written rationale, custom integration development, and delivery with documentation the client's team could operate without me present. That last part matters as much as the build itself.

Outcomes

The platform launched with three user roles fully operational. Vendor onboarding, customer earning, QR-verified in-store redemption, Stripe Connect payouts, and Zoho CRM sync all functional from day one.

Post-launch, the platform handled a Black Friday promotion cycle that spiked transaction volume by 8x without requiring emergency infrastructure changes. The architecture had headroom because headroom was designed in from the start.

Key Benefits

  • Three-sided marketplace model implemented cleanly on WordPress
  • QR verification pipeline with real-time point crediting
  • Stripe Connect payout model mapped to vendor financials
  • Zoho CRM integration for CRM-side transaction recording
  • OTP verification reducing fraudulent redemptions
  • Platform documented for client-operated management

FAQ

Why WordPress for a SaaS loyalty platform?

The client's team was already managing WordPress content. The ecosystem of plugins (YITH Multi Vendor, myCred, Stripe) had enough maturity to build on without writing everything from scratch. The constraint was the custom integration work connecting them - that's what made it non-trivial, and why previous attempts failed.

How was fraud handled?

OTP verification on redemption, rate limiting on earn events, and transaction-level auditing in myCred. The Zoho CRM sync also created a second record of every transaction, useful for dispute resolution.

What happened when the QR verification server was slow?

The UX was designed around async verification. The customer sees a "pending" state immediately, and the point credit follows when the server confirms. We never blocked the user on a synchronous server round-trip.

Can this platform scale beyond its initial user base?

The architecture handles horizontal scaling at the WordPress/PHP layer and uses Stripe's infrastructure for financial processing. The bottleneck at scale would be the myCred ledger - there are known patterns for sharding that, which I documented in the handoff notes.

Client: Pointricity

Location: Canada

Visit Project

The Challenge & Solution

Three User Types, No Framework Designed for It

A loyalty platform with three distinct user types - consumers, retailers, and retailer reps - each with their own dashboards, registration flows, authentication states, and operational logic is a fundamentally different engineering problem than a standard WordPress site. The platform needed a marketplace layer for retailer onboarding and payments, a points engine with rules about earning caps and transfer constraints, an event system for multiple event types with different attendance mechanics, QR scanning for in-person events, CRM synchronisation, and OTP verification.

The plugin selection decisions were as important as the custom code. YITH WooCommerce Multi Vendor Premium provided the vendor/marketplace infrastructure. myCred provided the points engine. These were the right tools for the foundation - but both required modification to fit the three-sided model. Vendor role capabilities needed adjustment. myCred hooks needed custom point-awarding logic for the platform’s event types. The WooCommerce prize redemption flow needed to connect back to the myCred balance correctly. Knowing when to extend a premium plugin versus when to build from scratch is the critical architectural judgement call in a project like this.

Technical Highlights

Custom Theme

60+ Role-Specific Dashboard Templates

The dashboard-templates directory contains templates covering every screen in the platform: the consumer dashboard (point balance, activity feed, available prizes, where-to-earn-points), the retailer dashboard (promotion management, location management, rep assignment, performance reporting), the retailer rep dashboard, and the administrator view. Each user type sees a completely different application experience from within the same WordPress installation.

Separate Authenticated Headers per Context

Four distinct header templates handle different authenticated states - standard authenticated, retailer, scan mode, and shop - so the navigation and interface chrome match the user’s current task rather than presenting a generic navigation to all authenticated users.

UIkit + Kirki Customizer

Application UI built on UIkit for consistent component behaviour and layout. All configurable platform content managed through the WordPress Customizer via Kirki, giving the platform operator control over branding and content without template edits.

Five Custom Plugins

Pointricity Events

Custom post type for events, event lifecycle management, sub-event generation for multi-session events, status transitions, and the email notification pipeline triggered at each stage. Handles the four event types (physical, virtual, webinar, open-access) with their different attendance mechanics.

Pointricity Utilities

Shared helper functions used across the theme and other plugins - a common utilities library that prevents code duplication and ensures consistent behaviour across the platform.

FAQ System

Custom post type for platform FAQs with a shortcode for frontend rendering - giving the platform operator a structured, manageable way to maintain help content.

Image Upload Plugin

Controlled image upload interface for consumers to manage profile and event images through a validated upload flow rather than direct media library access.

Manual Retailer Charging

Gives the platform administrator the ability to apply charges to retailer accounts outside the standard WooCommerce flow - necessary for subscription and fee scenarios that do not map to a standard WooCommerce order.

QR Scanning Pipeline

The QR scanning flow is the operational core for physical events. A retailer or rep opens the scan interface on their mobile device, the consumer presents their QR code, the scan template validates the consumer against the active event, confirms eligibility, awards the configured points via myCred atomically, and displays immediate confirmation. The pipeline handles intermittent connectivity gracefully - a scan interface that fails when the venue wifi is congested is not a viable operational tool.

The sub-event system extends this to events with multiple sessions, tracking attendance per session rather than per parent event - allowing multi-session conferences and workshops to award points for each session independently rather than once per event registration.

Modified Premium Plugins

YITH Multi Vendor Premium + Stripe Connect

Retailer accounts treated as WooCommerce vendors with their own product catalogues and Stripe-connected payout accounts via YITH Stripe Connect. Vendor role capabilities adjusted for the three-sided model - retailer reps operate within the retailer’s vendor context with scoped permissions that do not grant full vendor administrative access.

myCred + Points Cap + Transfer Plus

The points engine with Points Cap and Transfer Plus extensions handling platform-specific constraints on earning and point transfers. Custom myCred hooks connect event attendance, QR scan confirmation, and WooCommerce prize redemption events to the points ledger with the platform’s specific awarding rules.

Integrations

WP Fusion + Zoho CRM

User registration data, role assignments, and WooCommerce order data synced to Zoho CRM via WP Fusion and the Enhanced Ecommerce Addon. A custom integration handles the gap: the platform’s deal structure in Zoho does not map directly to WooCommerce orders for all transaction types, so a custom sync function handles manual assignment of order data to Zoho deals for cases where the standard WP Fusion sync does not produce the correct CRM record.

miniOrange OTP Verification

Email and phone OTP verification on registration via miniOrange, required before accounts become active. The full retailer registration is a three-stage flow - company information, contact information, payment setup - with email verification gating progression to the payment stage.

Stripe Connect Retailer Onboarding

Retailer subscription payments and commission distribution via Stripe connected accounts. Retailers complete Stripe Connect onboarding as part of the three-stage registration flow, enabling automated payout distribution through the platform without the operator handling retailer funds directly.

Challenge & Solution
Dejan Markovic
Dejan Markovic WordPress Architect
Best experience I've had to date with someone from Codeable. Dejan and his team jumped on a critical project over a weekend and had it sussed and patched on a Sunday; by Monday evening a fix was fully implemented. The team exceeded my expectations and I will be using them for all of my development needs going forward.
Eric R. | CEO & Founder, carsandcoffeeevents.com