Skip to content

Find a component

Loading the directory…

↑ ↓ to select · Enter to open · Esc to closeBrowse all →
Contributor login

Progression

XP, levels, and streak windows as a Bijection component

Bijection source
git clone https://github.com/bijectionhq/progression.git
cd progression
git checkout 3eaf964d67883935ad463f354a20a7b8ea5ab70f

Bijection repository access is required. Request access.

Description

XP, levels, and streak windows as a Bijection component

Explore the package README for API concepts, configuration, and examples. Check the Bijection source for adaptation-specific setup.

Available to evaluate

Review the source and its dependencies before adopting this package. Source availability does not establish npm publication or runtime qualification.

Getting started

  1. Get the source at the revision above and read its package documentation.
  2. Check the required Bijection SDK version, dependencies, and external service credentials.
  3. Follow the package setup instructions and the guide to using components.
  4. Exercise the component in your deployment according to your project’s verification rules.

Open source

Maintained source: bijectionhq/progression. Based on vllnt/convex-progression. License: MIT. Consult the repository for license terms, notices, and contributor attribution.

From the upstream publisher

XP, levels, and streak windows as a Convex component

Explore the demo ↗

Upstream package FAQ

Does @vllnt/convex-progression include any UI or React utilities?

@vllnt/convex-progression is a backend-only component with no React entry point. It exposes mutations and a query that your own backend functions call. UI display, streak freeze logic, leaderboard ranking, and reward delivery remain host responsibilities.

How does @vllnt/convex-progression handle changing XP thresholds?

Thresholds are passed by the host on every call rather than stored in the component. When you call xp.get(ctx, subjectRef, key, scope, thresholds) with a revised threshold array, the component recomputes the level from the stored XP against the new ladder. This avoids backfill migrations when your level design changes.

How does @vllnt/convex-progression authenticate users?

@vllnt/convex-progression is auth-agnostic. The host resolves identity through its own auth mechanism and passes an opaque subjectRef string to each method. The component never receives end-user tokens or raw deltas; your backend authorizes every read and write before calling the component.

Can @vllnt/convex-progression delete data for a user who is removed?

Yes. xp.eraseSubject(ctx, subjectRef, scope?, batch?) deletes all records for a subject in bounded batches and reschedules itself until the data is fully removed. This supports GDPR-style deletion without blocking a single mutation for an unbounded amount of time.

What version of Convex does @vllnt/convex-progression require?

@vllnt/convex-progression requires convex@^1.45.0 as a peer dependency and Node.js 20 or later for the development toolchain. It is currently at version 0.1.0 and is described as an unreleased candidate, so check the repository for current publication status before adding it to a production project.

Use with agents and CLI

Give your coding agent the component’s source identity and setup guidance.

agent-prompt.md
Help me integrate Progression with Bijection.

Read: https://bijection.com/components/progression/SKILL.md

Check SDK compatibility and dependency availability.
Follow this project's execution and verification rules.

Upstream README.md

View repository ↗

Documentation from vllnt/convex-progression at its recorded upstream revision. APIs and setup may differ in the Bijection adaptation.

Loading package documentation…

Keywords