Performance · Competition · Engagement

KPI Quest

A role-aware performance management and gamification platform that transforms everyday KPIs into live competitions, achievements, and team engagement — built for sales, support, and operations teams.

Version 3.7.0 — Now with Beat Your Best & the KPI League
The Project

What Is KPI Quest?

KPI Quest is a web-based performance platform that takes the numbers every team already tracks — calls made, issues resolved, sales closed — and turns them into something people actually care about. Instead of static spreadsheets and end-of-month reports, agents see live leaderboards, earn badges and XP, compete in daily and weekly challenges, and climb divisions in a season-long league.

Originally built for a single office team of around thirteen people, KPI Quest has grown into a full performance ecosystem. It combines four pillars into one workspace:

Performance Tracking

Log daily KPI scores, view interactive charts, compare against targets, and break down results by agent, pod, or campaign — all in real time.

Gamified Competitions

Create daily, weekly, or monthly competitions with custom scoring rules. Agents log scores, climb live leaderboards, and earn certificates and badges.

Teams Automation

Log scores by posting hashtags in Microsoft Teams channels. Broadcast leaderboards, celebrate wins, and send scheduled updates automatically via Adaptive Cards.

Knowledge & Tools

A built-in knowledge base with rich text editing, a shared contact directory, utility calculators (energy, instalment plans, tariff comparisons), and daily mini-games.

Audience

Who Is KPI Quest For?

KPI Quest is designed for any team where performance matters and engagement is a challenge. The platform adapts to different roles, so everyone sees what’s relevant to them.

Agents

Log scores, track personal KPIs, compete in challenges, earn badges and XP, and see exactly where they stand on live leaderboards.

Team Leaders & Pod Managers

Review team performance, coach individuals, manage pod memberships, and see at a glance who’s thriving and who needs support.

Administrators

Full control over campaigns, pods, users, roles, competitions, Teams integrations, backups, and system settings from one control room.

Built for Real Teams

KPI Quest started as an internal tool for a small UK office running weekly KPI competitions. It’s been battle-tested with real users logging real scores every day — not a theoretical product demo.

Features

What’s Inside

KPI Quest is packed with features that work together to drive performance and engagement. Here’s what you get out of the box.

Core Platform

  • Role-aware dashboards — Agents, managers, and admins each see a tailored view at the same URL. Multi-role users can switch between views.
  • Live leaderboards — Real-time standings update the moment a score is logged, powered by server-sent events. No refresh needed.
  • Custom competitions — Define scoring rules, point values, daily targets, and competition duration. Run daily, weekly, monthly, or fully custom schedules.
  • Beat Your Best — A fairness algorithm that measures weekly performance as a percentage of each player’s rolling personal best, so newer or lower-volume agents can win too.
  • KPI League & Divisions — Three divisions seeded from recent form, monthly title sprints, and year-end promotion and relegation with absence protection.
  • Badges, XP & Levels — Agents earn achievements for streaks, wins, attendance, and milestones. A trophy cabinet tracks everything they’ve unlocked.
  • Certificates — Generate personalised, printable certificates for competition winners.
  • Daily mini-games — Rock Paper Scissors, Higher or Lower, Daily Word, and Daily Sudoku with shared leaderboards and resumable progress.

Integrations & Automation

  • Microsoft Teams inbound scoring — Agents post hashtags like #Smart or #Sale in Teams channels and points are logged automatically.
  • Adaptive Card broadcasts — Send rich, interactive leaderboards and achievement cards straight to Teams channels.
  • Scheduled updates — Automated daily summaries, target progress, and standings delivered on a schedule.
  • Dynamic image generation — Leaderboard cards rendered as images on the fly for visual impact.
  • Batch windows & quiet hours — Prevent chat spam with configurable batching and delivery windows.

Knowledge & Productivity

  • Knowledge base — Collaborative article editor with categories, subcategories, tags, drafts, and rich text formatting.
  • Shared directory — Central address book with filtering by type, company, department, and instant search.
  • Utility calculators — Instalment plans, energy usage, tariff comparison, dual fuel, and meter reading guides built in.
  • Call flow tools — Step-by-step guided workflows for common processes like tariff changes, instalment plans, and meter readings.

Operations & Safety

  • Role-based access control — Six distinct roles with granular permissions. Every request is authorised server-side.
  • Full backup & restore — One-click JSON backups and restores from the admin panel.
  • Installable PWA — Agents can install KPI Quest on their home screen with a branded offline shell. Private data is never cached.
  • Fail-closed migrations — Database migrations run before the app starts. If anything fails, the container stops rather than risking data loss.
  • Passkey support — Optional WebAuthn authentication for passwordless sign-in.
Benefits

Why KPI Quest?

Most performance tracking tools are either too complex or too simplistic. KPI Quest threads the needle — powerful enough for operations teams, engaging enough that agents actually want to use it.

🎯 Drives Real Engagement

Gamification isn’t a gimmick — it works. Live leaderboards, streaks, and badges create natural motivation that spreadsheets can’t match. Agents check in because they want to, not because they have to.

⚡ Real-Time Visibility

No more waiting for end-of-week reports. Managers see performance as it happens, can spot trends early, and intervene before small issues become big ones.

🤝 Connects Tools You Already Use

The Microsoft Teams integration means agents can log scores without leaving their chat app. Leaderboards and updates come to them — no extra logins, no context switching.

🛡️ Built for Safety

Role-based access, server-side authorisation, fail-closed migrations, and one-click backups. KPI Quest treats operational safety as a feature, not an afterthought.

📱 Works Everywhere

Responsive design means it works on desktops, tablets, and phones. The PWA shell gives agents an app-like experience with their own branding.

🔧 Self-Hosted & Open

Deploy on your own infrastructure with Docker Compose. No SaaS lock-in, no per-seat pricing, no data leaving your control. The full source is available on GitHub.

Hosting

Hosting Requirements

KPI Quest is designed to be self-hosted on your own server. It runs as a set of Docker containers managed via Docker Compose, making deployment straightforward whether you’re using a VPS, a home server, or a platform like Portainer.

Minimum Requirements

Component Minimum Recommended
CPU 1 core 2 cores
RAM 1 GB 2 GB
Storage 5 GB 10 GB+ (for backups and uploads)
Operating System Linux (Ubuntu 22.04+) Linux (Ubuntu 22.04+)
Docker Docker Engine 24+ Docker Engine 24+ with Compose plugin
Node.js (build only) 22.15+ 22.15+
Database PostgreSQL 16 (included in Compose) PostgreSQL 16 (included in Compose)

What’s Included in the Container Stack

  • PostgreSQL 16 — Persistent data storage with automated health checks and SCRAM-SHA-256 authentication.
  • Web application — The Next.js application serving the UI and API, running on port 9103.
  • Background worker — A separate pg-boss worker handling scheduled Teams notifications, gamification evaluation, and queued jobs.

Production-Ready

The standard Docker Compose configuration includes health checks, restart policies, migration-before-startup, fail-closed encryption, and persistent volumes. It’s the same configuration used in production deployment.

Technology Stack

Next.js 16 React 19 TypeScript Prisma 7 PostgreSQL 16 Better Auth pg-boss Tailwind CSS v4 shadcn/ui Tiptap Editor Server-Sent Events PWA / Service Worker
Development

Where KPI Quest Is Headed

KPI Quest is under active development. Version 3.7.0 introduced Beat Your Best and the KPI League — two features that change how competitions work without disrupting existing scoring behaviour.

Currently Shipping

Beat Your Best with rolling personal-best algorithm. KPI League with three divisions, monthly titles, and promotion/relegation. Runtime feature toggles via Settings. Animated in-app presentation for new features.

On the Horizon

Continued refinement of the competition engine, deeper Teams integrations, expanded reporting, and further self-hosting improvements. The project is open to contributions — see the GitHub repository for the roadmap.

Open Source

The full source code is available on GitHub at github.com/jimdhope/kpi-dashboard. Issues, feature requests, and pull requests are welcome.

FAQ

Frequently Asked Questions

Can I self-host KPI Quest?

Yes. KPI Quest is designed for self-hosting. The standard Docker Compose configuration sets up PostgreSQL, the web application, and the background worker with a single docker compose up -d. No cloud dependency is required.

Does KPI Quest store data in the cloud?

No. All data stays in your own PostgreSQL database. The PWA service worker deliberately caches only the offline shell and framework assets — authenticated pages, API responses, sessions, and mutations are never cached locally.

What authentication methods are supported?

Email and password with database-backed sessions via Better Auth, plus optional WebAuthn passkeys for passwordless sign-in. Password recovery is built in.

Can I use KPI Quest with Microsoft Teams?

Yes. Inbound webhooks allow hashtag-based scoring (post #Sale in Teams and points are logged automatically). Outbound webhooks send Adaptive Cards with leaderboards, achievements, and scheduled updates to your Teams channels.

How do backups work?

Administrators can create full JSON backups from Settings → General. Backups include users, campaigns, pods, competitions, rules, logs, KB articles, directory records, and automations. Restore is available from the same panel.

What’s the licensing model?

KPI Quest is open source. You’re free to use, modify, and deploy it for your own organisation. Check the repository for the full licence details.

How is KPI Quest different from a spreadsheet?

Spreadsheets are passive — someone has to update them, and nobody looks at them until they have to. KPI Quest is live, automated, and engaging. Scores update in real time. Agents see their progress instantly. Managers get dashboards that highlight what matters. And the gamification layer turns routine tracking into something people actually enjoy.

See KPI Quest in Action

KPI Quest is deployed and in active use. Get in touch to discuss deployment options, feature requests, or how KPI Quest could work for your team.