Bondit Club
A community platform with game mechanics, and the ERC-721 and ERC-20 contracts on Polygon behind its token economy.

TL;DR
- Outcome
- Shipped and ran a gamified community-building platform with an on-chain token economy
- Role
- Solo developer at the start, then team lead as the team grew
- Context
- Gamified community builder for community managers
Context
Bondit Club is a gamified community builder for community managers. Members complete quests and missions, send each other badges, climb XP leaderboards, dress avatars from a store of layered parts, and follow a social feed built mostly from events such as wins and level-ups. Part of it lived on-chain: a token economy with an ERC-20 token and an ERC-721 collection on Polygon, which meant learning Solidity from scratch.
Architecture
- Services. NestJS microservices behind an API gateway, talking over RabbitMQ (request/reply and events), with job queues on Redis. Data in PostgreSQL, MongoDB and Redis.
- Reward engine. Rewards are declarative rules; a handler applies each one, writes a ledger row and publishes an update event.
- Live updates and schedules. A WebSocket gateway on Socket.IO pushes events to members; a scheduler runs daily rewards, leaderboard snapshots and monthly resets.
- Avatar compositor. A .NET service that stacks trait layers into one image, called over the queue.
- On-chain. A plain ERC-20 and an upgradeable ERC-721 behind a proxy, in Solidity on OpenZeppelin. A small listener publishes NFT transfers to the message bus. The in-app balance, XP and badges stay off-chain.
Decisions
Rewards as data, not code. Each reward could have been written as code. As rules, admins attach rewards without a code change, and every reward leaves a ledger row as an audit trail.
Messages instead of service-to-service HTTP. Services publish events rather than calling each other directly, which keeps them decoupled and gives retries. The feed and the live updates are built from the same events.
Polygon for the contracts. I deployed the contracts on Polygon because its fees are lower than Ethereum mainnet’s.
Result
We shipped and ran a gamified community-building platform: quests and missions, badges, XP leaderboards, layered avatars and a social feed, with its own token economy. I wrote its ERC-721 and ERC-20 contracts on Polygon, learning Solidity from scratch.
My role
I was the solo developer at the start, then the team lead as more people joined.