Real use-case
NFT Assets Management
How I solve, think, and decide around the biggest pain point.
The problem
Collectibles Education
OwnershipCoin built a Telegram Mini App game to teach users about collectibles. The game needed real NFT images, each prepared in ten pixelation steps before players could see them.
Designers did every step by hand. Export, rename, upload, repeat.
Fifty assets done manually was slow. Five hundred done manually would have stopped the launch.
The real pain point
Ten manual steps. Every single asset.
Each collectible in the education game needed ten versions of the same NFT image. Designers did this by hand for every asset.
Move the slider on the right to see what that felt like. I built a system so one run does it all.
10 steps per asset, done manually, every time.
How it works
Pipeline and stack
From NFT metadata to images the education game can use.
Fetch NFT data
Pull collectible metadata from TON API or GetGems API. If one free tier fails, the other backs it up.
Pixelate 10 steps
Run the same image through ten levels so the game can reveal the collectible slowly.
Store and serve
Save the outputs and wire them into the Telegram Mini App education game.
Stack
Built as an internal tool on a stack the team already used, with dual API sources on free tiers.
Laravel
Backend
Inertia
Bridge
Vue 3
Frontend
NFT metadata
If TON API is down or rate-limited, the app tries GetGems API next.
Prioritization
What I chose vs what I skipped
I had to move fast. Their blocker was my blocker. Here is how I spent my time.
I chose
- Ship a working version in about 3 hours
- Run the tool on my laptop on office WiFi (team used my local IP)
- Use a direct script instead of cloud queues
- Pull NFT data from blockchain APIs
- One simple screen the team could use right away
I skipped
- User login and accounts
- Cloud hosting and paid servers on day one
- Fancy dashboards and analytics
- Mobile responsiveness
- Proper rate-limiting when multiple devices try to download
- Extra features that did not fix the pixelation problem
The impact
0%team velocity boost
Time to process one campaign batch
- 1
Cut process time from about 3 days to one click
- 2
Fewer sorting mistakes on large batches
- 3
Same output every time for every step
- 4
Scaled from about 50 NFTs to 500+
- 5
Freed up designer and admin time to focus on what matters