This is the third article in a series detailing my journey to create a robust, scalable, and performant platform that enables gamification for other applications.

Building upon my previous article, we have an overall architecture proposed and a suggested schema for the main components of our gamification engine. In this article we will dive into the event processing logic that will determine if received events are relevant to any configured goals.

For reference, here are the relevant schemas:

// Example goal definition
{
id: "goal-1234",
name: "Mobile Power User",
desc: "Log in at least 5 times on a…

Designing a Scalable Gamification Engine — Part 2 — Data Schema

This is the second in a series of entries detailing my journey to create a robust, scalable, and performant platform that enables gamification for other applications.

Building upon my previous article, we are in the midst of an attempt to design a gamification engine that has the following requirements:

  1. Allow client applications to define goals for certain entities that are completed when those entities fulfill a goal’s criteria.
  2. Allow clients to feed usage information into our system so that it tracks entity progress towards completing those goal requirements.
  3. Allow…

Designing a Scalable Gamification Engine— Part 1

This is the first in a series of entries detailing my journey to create a robust, scalable, and performant platform that enables gamification for other applications.

A trophy
A trophy

A project that I work on has a few proposed features that we have been tossing around for a while. Of those requested features, the most relatable is a badging system. The idea is that some users should be able to define custom badges that other users can earn in response to engaging with our application in certain ways. …

Jason Zissman

Engineer, Repairman, Tinkerer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store