DEV Community

Cover image for Init User Engine – A gamified, frontend-first user system for WordPress
Hao Nguyen
Hao Nguyen

Posted on

Init User Engine – A gamified, frontend-first user system for WordPress

Init User Engine is a lightweight, no-bloat user system for modern WordPress sites. It replaces the default profile/login experience with a full gamification layer — EXP & levels, a Coin/Cash wallet, daily check-in, VIP membership, referrals, and an inbox — all rendered through a fast, modal-driven frontend powered by the REST API.

No jQuery. Minimal settings. Smart by default.


Why Init User Engine?

Most "membership" or "points" plugins for WordPress are heavy, admin-ajax-based, and hard to theme. Init User Engine takes the opposite approach: everything dynamic — avatar, dashboard, check-in, inbox, VIP purchase — is rendered client-side in pure Vanilla JS and talks to a clean REST API. Drop in one shortcode and you get a full gamified account system on top of native WordPress users.

It's the core user system behind the Init Plugin Suite — the same minimalist, performance-first philosophy as Init Live Search.


Features at a Glance

Gamified Progression

  • EXP & Level system with fully hookable progression logic
  • Coin & Cash wallet with transaction logs (dedicated DB tables, not user meta)
  • Daily check-in with streak milestones and an online-time bonus timer
  • Daily task list, extensible via filter

Frontend-First UX

  • One shortcode: [init_user_engine] — avatar button + full modal dashboard
  • Avatar system with upload, live preview, and revert-to-default support
  • Login/Register modals for logged-out visitors, with custom redirect URLs
  • Pure Vanilla JS — no jQuery, no server-rendered admin-ajax round trips

Monetization & Retention

  • VIP membership, purchased with in-site Coin, with configurable duration tiers (including lifetime)
  • VIP bonus system — extra Coin/EXP percentage for VIP members
  • Redeem Code / Gift Code module — generate single-use or bulk codes, redeem for rewards
  • Referral module with cookie-based signup tracking and rewards for both sides

Communication

  • Built-in inbox with pagination, category filters (System, Rewards, Activity...), read/claim/delete
  • Admin panel to send notifications to selected users or the whole member base, with priority and expiration

Built for Developers

  • REST API for every feature — register, check-in, claim reward, inbox, VIP purchase, redeem code, profile, and more
  • Deep set of action/filter hooks: modify EXP curves, VIP prices, referral rewards, theme colors, VIP body classes, and more
  • Transaction and EXP logs stored in dedicated tables with wp_cache support and true paginated queries — built to scale, not just to demo

Core Modules

Module What it does
EXP & Level Award EXP via hook, auto level-up, customizable EXP curve per level
Wallet (Coin/Cash) Dual-currency system with full transaction history
Check-in Daily rewards, streak milestones, online-duration bonus
VIP Coin-based purchase, expiry tracking, bonus % on rewards
Referral Cookie-based tracking, rewards for referrer and new user
Redeem Code Single-use or bulk gift codes redeemable for Coin/Cash
Inbox Filterable, paginated notification center per user
Admin Notify Send targeted or broadcast messages from wp-admin

REST API

Base: /wp-json/inituser/v1/

Endpoint Purpose
POST /register Create a new user account
POST /checkin Daily check-in
POST /claim-reward Claim reward after online duration
GET /transactions Coin/Cash transaction log
GET /exp-log EXP log
GET /inbox Inbox messages
POST /vip/purchase Purchase VIP package
GET /referral-log Referral history
POST /avatar Upload new avatar
GET /profile/me Current user profile
POST /exchange Convert Cash → Coin
POST /redeem-code Redeem a gift code

👉 Full endpoint list in the plugin readme.


Developer Hooks

Init User Engine ships with a wide surface of filters and actions so you're never stuck waiting on a plugin update to customize behavior:

// Change how much EXP is required per level
add_filter( 'init_plugin_suite_user_engine_exp_required', function( $required, $level ) {
    return $level * 100;
}, 10, 2 );

// React to a level-up
add_action( 'init_plugin_suite_user_engine_level_up', function( $user_id, $new_level ) {
    // send a custom notification, unlock content, etc.
}, 10, 2 );
Enter fullscreen mode Exit fullscreen mode

Other notable hooks include filters for VIP pricing, referral rewards, check-in milestones, daily tasks, theme colors, and VIP-related body classes — plus actions for EXP/Coin changes, referral completion, and admin notifications.


Where Data Lives

  • user_meta — EXP, level, Coin, Cash, VIP, referral
  • Dedicated DB tables — transaction log and EXP log (migrated off user meta for scalability as of v1.5.0)
  • wp_init_user_engine_inbox — inbox messages

Installation

Install via WordPress.org or:

git clone https://github.com/brokensmile2103/init-user-engine.git
Enter fullscreen mode Exit fullscreen mode

Then:

  1. Activate the plugin
  2. Drop [init_user_engine] into any page, post, or template
  3. Configure theme color, currency labels, and reward values under Settings → Init User Engine

That's it — modals and logic load automatically.


Part of the Init Plugin Suite

Init User Engine is part of the Init Plugin Suite — a set of minimalist, high-performance plugins built for WordPress developers and creators who value speed, flexibility, and clarity.


Thanks for reading. Got feedback or questions?
Project Page
GitHub

Top comments (0)