Skip to content

feat: gift shop items to another PokeTokenBar user #281

Open

Description

@kgty0707

Summary

Allow a user to purchase a shop item as a gift and send it to another
PokeTokenBar user using a temporary pairing code.

Motivation

PokeTokenBar already has a shop and inventory system, but all purchased
items can currently only be used by the purchaser.

Item gifting could add a small social feature without introducing Pokémon
trading or changing the existing companion progression system.

Proposed scope (v1)

  • Add a "Gift" option to eligible shop items
  • Generate a short-lived pairing code
  • Allow another nearby PokeTokenBar user to enter the code
  • Add the item to the recipient's inventory
  • Deduct the token cost from the sender only after successful delivery
  • Prevent the same gift from being redeemed more than once
  • Keep the feature local-network only, without accounts or a backend

Explicitly out of scope

  • Pokémon trading
  • Internet-wide gifting
  • Friend accounts or profiles
  • Paid items or real-money transactions

Open questions

  • Would a local-network-only implementation using Bonjour / Network.framework
    fit the project's on-device privacy direction?
  • Should gifting be available for all consumable items, or only selected items
    such as Rare Candy and Mint?
  • Would you be open to a PR for this feature?

Activity

  1. kgty0707 commented on Sep 11, 2026

    @kgty0707
    Author

    Hi! I’ve implemented a working local prototype for this feature, currently limited to Rare Candy and Mints.

    It uses Bonjour only while a one-minute gift offer is active and does not publish any user or item metadata. I’ve also tested the transfer flow between two isolated app instances.

    If this direction looks acceptable, I’d be happy to open a draft PR with a short demo video for feedback.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions