Open-Sourcing the GRAMO Loyalty Platform (xGov Proposal 3500632412)

Hi emg110, great question. This is really the core of the proposal’s value proposition, so let us be specific.

Code reusability, separable modules:

The codebase is a Django project with distinct apps that can be extracted or adapted independently:

  • Algorand integration layer (api/ app): wallet generation, ASA transfers via algod, balance tracking, opt-in management. This is the most directly reusable module. Any Django project needing to interact with the Algorand blockchain can lift this layer as-is. It’s a generic Algorand-Django bridge.

  • Custodial wallet system: automatic wallet creation on user registration, pre-funding with ALGO, pre-opt-in to the target ASA. This pattern is reusable for any application that needs to onboard Web2 users to Algorand without requiring them to manage their own wallet. Think event ticketing, gaming rewards, employee recognition, charitable donations… any context where the end user shouldn’t need to know what Algorand/blockchain/crypto is.

  • Claim/validation pipeline: receipt upload, claim arrival to validator, manual verification. The receipt validation is specific to retail, but the pipeline architecture (submit proof → validate → distribute tokens) generalizes to any proof-of-action reward system.

  • React frontend: auth flows, wallet management UI, claim submission, and redemption. Structurally reusable as a starting point for any token-based user-facing app on Algorand.

Parametric adjustability:

Several key parameters are already configurable without code changes (via Django settings and database): the target ASA ID, partner store configuration and distribution wallet addresses. A developer forking for a different vertical (say, a coffee shop chain or a gym) would primarily need to change these parameters, the logo of the app, and adapt the receipt validation logic to their domain. The app is live at app.gramo.io, it’s easy to see how the whole platform can be adapted to any other retail business.

Applicability beyond our business:

The platform is designed around a generic loyalty loop: user performs action → submits proof → retail or Gramo team validates → tokens distributed. The “action” in our case is a CBD purchase, but this loop applies to any retail vertical, any service business, or any context where you want to reward verifiable behavior with on-chain tokens. The Django/React stack, the Algorand integration, the custodial wallets, the JWT auth are not CBD-specific. The only CBD-specific element is the partner store branding and the receipt validation rules, which are the easiest parts to swap out.

Under MIT license, any developer can fork, strip the GRAMO branding, plug in their own ASA, adjust the mailbox for reception of claims, and deploy for their own use case.