Rad van Fortuin
Full Stack Developer · 2022 — 2023
Overview
A gamification platform for supermarket loyalty campaigns, deployed across multiple PLUS, Albert Heijn, and Jumbo franchise stores via winnenbij.nl. Customers scan QR codes on physical vouchers to spin a digital prize wheel with realistic physics, built from scratch using my Applied Physics background.
- Engineered a custom physics simulation on HTML5 Canvas with exponential friction decay, delta-time animation, and pointer flex mechanics, all without external libraries
- Implemented a predictive stopping algorithm that subtly ensures the wheel lands on the server-determined prize while appearing natural
- Built a multi-tenant CMS allowing each store to configure their own branding, prizes, campaign dates, and voucher designs
- Created a weighted prize selection system with configurable odds and per-email win limits
- QR code and unique voucher code entry with CSV import/export for campaign management
- Originally built on WordPress/WooCommerce, later ported to Laravel + Livewire for scalability
Tech Stack
Alpine.js Canvas API Laravel Livewire Tailwind CSS Vite
Packages & Dependencies
Coming soon.
Architecture
Coming soon.
Challenges & Solutions
Coming soon.
Lessons Learned
Coming soon.