Ivan Tarasov

Ivan Tarasov · Senior Frontend Engineer

PromoShock — on-chain stream tickets with targeted ads

MetaLamp · 2024 · Middle Frontend Engineer

  • Next.js
  • React
  • TypeScript
  • Zustand
  • Wagmi
  • Viem
  • TON
  • TanStack Query
  • GraphQL
  • React Hook Form
  • Zod
  • Tailwind CSS
PromoShock — on-chain stream tickets with targeted ads

Context

PromoShock was built for Hackers League Winter 2024, TON Society's global Web3 hackathon — 5,000+ participants, 1,200+ projects, 19 cities and a $3M+ prize pool. It's a Telegram Mini App where creators sell stream passes as NFT tickets and advertisers run promos targeted at the people who hold them. I led the frontend, and we built the whole thing end to end in about a week.

What I did

  • Led the frontend and shipped it near-solo in the time we had: a Next.js Telegram Mini App with the full loop — landing, stream and promo listings, and the multi-field on-chain forms for creating a new stream pass or promo.
  • Built the wallet and transaction UX on wagmi and viem against our contracts on Binance Smart Chain, inside a Telegram Mini App shell with TON Connect. The centerpiece was a composable transaction-button system that chains connect, switch network, check and approve allowance, check balance and send — so every on-chain action runs through one reliable, readable flow instead of being hand-wired each time.
  • Wired the NFT ticketing itself: creating a stream or promo writes on-chain and pins its metadata to IPFS through Pinata, while the app reads indexed stream data from a The Graph subgraph over GraphQL alongside a typed, Zod-validated REST client.

Outcome

PromoShock won a prize at Hackers League Winter 2024, out of more than 1,200 projects. In a single week we shipped a working on-chain ticketing Mini App — wallet connection, contract writes, IPFS metadata and indexed reads — and the transaction-button pattern came out clean enough to outlive the hackathon it was built for.