01
Cash for quizzes
A rep solves a product quiz: question from the rich-text editor, closed or open answers, question counter and the amount to win.
Case study · 06 / 09
Sales incentive programme
Sales reps earn real money for hitting challenge targets and solving product quizzes, then cash out to a card. Behind the fun front: wholesale data imports, a rewards engine and five roles in one app.
Colian (Goplana, Grześki, Toffino)
FMCG · Sales incentives
Web app, mobile-first
Product engineering, end to end
The product
Field reps of Colian — maker of Goplana, Grześki and Toffino — see their wallet, the products in the current challenge, articles and the pot to win in quizzes. The agency, Colian, regional managers and wholesalers each get their own admin views.
Our part
A Vue 3 + TypeScript app on a Laravel 12 backend in DDD + CQRS, deployed from a monorepo pipeline to stage and production through an SSH bastion.
Under the hood
CSV/TSV imports validated for structure, binary and XLSX/ODS files detected, each line hashed against duplicates, and processing queued with retries on a schedule.
Thresholds, percentages, progressive tiers and rankings — rewards booked in database transactions to a wallet with a full operation log.
Separate permissions and views for each role, including a preview mode that shows admins the app through a rep’s eyes.
Nested question and answer tabs, inline editing and the whole quiz saved in a single packed request; grading and payout happen in one transaction.
The outcome
Inside the product
Demo data · click any screen to enlarge
01
A rep solves a product quiz: question from the rich-text editor, closed or open answers, question counter and the amount to win.
02
One backend transaction grades the answers, checks the pass threshold and credits the reward to the wallet.
03
Wallet balance, products in the active challenge, an article carousel and the quiz pot — the wallet total is computed from the wallet log.
04
The same dashboard at 390 px with its own mobile menu — reps live on their phones.
05
Dynamic question tabs with nested answer tabs, a WYSIWYG editor with a 5 MB content limit and an open/closed question switch.
06
Validated form, autocomplete linking the article to a challenge product, rich text and drag-and-drop image upload.
07
Server-paginated table with search, earnings per challenge, quiz and payout totals and activation links.
Stack
Next case