Match — a promo website of a retail chain and a football club with match tickets
A season-long campaign of a chain of stores with a football club: purchases of 850 ₽ or more give chances to win tickets to home matches, a ball and a shirt signed by the players, and the main prize is a pass for the next season. Tickets are drawn before every match, the ball and the shirt in three waves.
- Role
- Frontend developer
- Timeline
- 2025, September — 2026, April

The challenge
Build the promo website on the shared base of the chain's campaigns: embed the landing made in Tilda into a Vue app with sign-in, receipt registration and the account, connect the landing's buttons to the app's dialogs, and keep the winners page in step with the match calendar all season.
What the solution includes
- The landing from a Tilda export opens in a frame inside the app: a script added to the export passes clicks on «Register a receipt» and «Account» through postMessage, and the app opens the sign-in or the receipt registration.
- Sign-in by phone with an SMS code and consent to the rules; participants who have not accepted the rules yet get a consent dialog.
- Receipt registration: a QR code through the camera or manual entry — date, time, sum and the fiscal numbers (FN, FD, FP) with a photo of the receipt.
- The account: the receipt history with statuses and rejection reasons, the participant's prizes.
- Winners: a search by phone, filters by prize type — tickets, ball, shirt, main prize — by one of fifteen draws and by match, pagination.
- Draw dates and the list of matches were updated all season along the club's calendar; a responsive layout with a separate phone menu.



A commercial team project: I built the whole frontend; the promo page is made in Tilda. Screenshots are from a local build with test data; the names and logos of the chain and the club are hidden, and the landing under the sign-in dialog is blurred.