Penalty — a retail chain's promo website with a gift showcase inside a Tilda landing
A campaign of a chain of stores: purchases of 600 ₽ or more with the loyalty card, or delivery orders of 1500 ₽ or more, give chances in the draw for the main prize of 5,000,000 ₽ and valuable prizes — a smartphone, a game console, a home cinema and delivery certificates. Accepted receipts can also be exchanged for guaranteed gifts from the showcase, and partner products and the chain's bank card add chances.
- Role
- Frontend developer
- Timeline
- 2026, May — June

The challenge
Build on the shared base of the chain's campaigns an app for the Tilda landing: put the gift showcase into the landing, make the account with chances and the exchange of receipts for gifts, and hand prizes over by delivery type.
What the solution includes
- The gift showcase is rendered by the app right inside the landing page: Vue Teleport into an element of the frame and the app's styles copied into the frame's document; on phones, slides of four cards.
- Exchanging receipts for gifts: the price in receipts, the stock left, a progress bar, ordering with a size or colour choice, and after the order the choice of a pickup point in a store.
- The account: chances in the draw and receipts to exchange, the rules for earning chances, the receipt history with the chances of each receipt, a banner of the draw for holders of the chain's card.
- Prizes are handed over by delivery type: an e-certificate through a dialog sending it by email, an item through the pickup point form, the rest wait for delivery.
- The link with the landing through postMessage: Tilda buttons open receipt registration, sign-in, feedback and external links in the app.
- Sign-in with a six-digit SMS code, the list of participating regions, winners with a search by phone, a responsive layout.



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 gifts and prizes on them are test data too; the names and logos of the chain, its card and the charity fund are hidden, and the first screen of the landing is not shown.