- Platform
- Web App
- Duration
- 14 weeks
- Industry
- Enterprise, Retail, Consumers
- Read time
- 6 min read
RaftLabs built a receipt-scanning loyalty web app for Aldi Ireland's AldiFest festival campaign, delivered via BrandFire. The platform let shoppers upload receipts from purchases over €25 for automatic competition entries to win Electric Picnic festival tickets and €100 Aldi gift cards. The campaign reached 2,000+ signups and processed 5,000 receipts in the first week, doubled purchase frequency among participants, and increased average purchase value by 25%. Built in 14 weeks using Next.js, AWS Lambda, PostgreSQL, and Vercel. RaftLabs has delivered the AldiFest campaign platform annually since 2022.
Most festival-adjacent retail campaigns run on brand awareness and hope. Aldi Ireland wanted a campaign where every purchase during the AldiFest period translated into a measurable engagement action: not just a shopper who saw the promotion, but one who registered, uploaded a receipt, and entered a competition.
We built AldiFest for Aldi Ireland through BrandFire: a receipt-scanning web app where shoppers upload receipts from purchases over €25 for automatic competition entries to win Electric Picnic festival tickets and €100 Aldi gift cards. Each receipt is one entry; more receipts means a higher probability of winning. 2,000 shoppers signed up and 5,000 receipts were processed in the first week. Purchase frequency doubled among participants, and average purchase value increased 25%. We have delivered the platform annually since 2022.

before & after
What changed
- Aldi Ireland ran traditional marketing for AldiFest with no digital mechanism to convert festival excitement into measurable repeat purchases
- Customers who engaged with AldiFest had no way to earn recognition or reward for their purchases during the festival period; brand sentiment did not translate into loyalty action
- Campaign performance was difficult to attribute: foot traffic and in-store sales were tracked separately with no connection to individual customer engagement
- Young festival-goers, Aldi's target demographic for the campaign, were not reachable through the channels traditional retail marketing uses
- After each campaign, Aldi had no direct digital channel to festival shoppers for future re-engagement or personalized follow-up
- Shoppers create accounts and upload receipts from purchases over €25; each receipt is automatically counted as one competition entry without manual processing
- The platform tracks individual customer activity (uploads, entries, account status), giving Aldi a direct digital relationship with festival shoppers for the first time
- Admins select winners from automatically shortlisted entries; the draw process is transparent and auditable rather than manually managed
- Campaign performance is visible in real time: sign-ups, receipts processed, entries per user, and geographic distribution are all tracked from the analytics dashboard
- Customer data collected during the campaign is owned by Aldi and available for future re-engagement, reducing acquisition cost for subsequent festival cycles
What we had to solve
- 01
Building infrastructure that handles a sharp launch spike and then idles cost-effectively between annual campaigns
AldiFest launches with a burst of signups and receipt uploads driven by the festival marketing push, then traffic drops to near-zero until the next annual cycle. Standard always-on infrastructure would mean paying for peak capacity year-round. The architecture had to auto-scale for the launch surge (thousands of concurrent users uploading photos) then scale down immediately after, so that the infrastructure cost matched the actual usage pattern rather than the peak.
- 02
Making receipt upload reliable enough that no legitimate entry was lost
A promotional campaign where a valid receipt upload fails to register as an entry is a trust-breaking moment. The shopper made a qualifying purchase, followed the instructions, and still did not receive credit. This erodes campaign participation and generates support contacts that overwhelm a small retail marketing team. Receipt processing had to succeed on the first upload attempt across the range of photo quality, receipt formats, and mobile devices Aldi's customer base uses, and fail gracefully with a clear retry path when it did not.
outcomes
What we achieved
Aldi Ireland had no digital loyalty program targeting festival shoppers. The AldiFest campaign ran on brand awareness with no mechanism to capture individual customer engagement.
Without a receipt-based entry mechanic, customers had no incentive tied directly to individual purchases during the promotional window.
Existing campaigns had no mechanism to encourage larger baskets. Shoppers who were already buying from Aldi had no prompt to consolidate more purchases in one visit.
What clients say
What our clients say about us.
Three-year average engagement. Founders and operators describing the work in their own words. No marketing varnish.

Incredibly simple and easy to use app. Exactly what we were looking for.
Your seasonal campaign is generating excitement but not converting into measurable repeat purchases?
the build
What we built
AldiFest is designed around one behavioral mechanic: each qualifying receipt is one competition entry, so every additional purchase during the campaign window is a reason to come back.
Shoppers enter the draw in under a minute, standing in a car park
Registered shoppers photograph their Aldi receipt from a qualifying purchase over €25 and upload it through the web app. Each validated receipt counts as one automatic entry into the weekly competition draw. The upload flow was designed for a shopper standing in a car park or at a checkout: under a minute, no manual data entry required.

Admins pick winners in one step, no manual receipt counting
Each receipt upload increments the user's entry count automatically. When a draw closes, the platform generates a shortlist weighted by entry count; shoppers who uploaded more receipts have proportionally more entries. Admins select winners from the shortlist in one step without manually reconciling receipt records or calculating entries. The draw history and winner records are stored with full audit trails.

Shoppers know their entry was received without waiting or wondering
Receipts are validated and credited to the user's competition entry count immediately upon upload. Shoppers see their current entry count and competition status in their account. Push notifications update users when draws open, remind them to upload before deadlines, and confirm when they have been entered in a draw, removing the uncertainty about whether a submission was received.

Aldi owns the customer data: the next campaign costs less to reach the same people
Aldi's team accesses a real-time dashboard showing signups, receipts processed, entries per user, weekly draw participation, and geographic distribution across Ireland. The customer data (account details, purchase frequency, engagement patterns) is owned by Aldi and available for export. After each campaign cycle, that data informs the following year's campaign design and reduces the cost of reaching the same shoppers again.

Engagement
How we worked together
- 01Weeks 1–2
Discovery and scoping
We map the problem before writing code. Two weeks of technical audit, stakeholder interviews, and prototype — so both teams align on scope and risk before sprint one.
- 02Ongoing
Two-week Agile sprints
Each sprint ends with working software, not a status update. You review a real build, request changes, and approve before we move forward. No surprises at handover.
- 03Ongoing
Daily async updates
Slack for daily progress, Asana for task visibility, weekly video calls for decisions. You have full visibility without needing to attend every meeting.
- 04Final
Handover and warranty
Full code handover with deployment runbooks and documentation. Thirty-day warranty period for production issues at no extra cost.
stack
Why we chose this stack
- 01The campaign web app needed to load fast on the first visit for shoppers who had just seen the promotion and scanned a QR code in-store. Next.js server-side rendering gave us fast initial loads even during the launch surge, without hydration lag on the receipt upload flow.Next.js
- 02Receipt image processing and competition entry logic ran as serverless functions that scaled automatically to handle thousands of concurrent uploads at campaign launch and cost near-zero between annual cycles. The spike-and-idle usage pattern made Lambda the right choice over a provisioned server.AWS Lambda
- 03Competition entries, user accounts, receipt records, and winner shortlists required transactional integrity. No entry could be double-counted or lost when Lambda functions processed concurrent uploads. PostgreSQL's guarantees made the draw process auditable.PostgreSQL
- 04Deploying the Next.js front-end to Vercel gave us CDN-edge delivery across Ireland without configuring a separate CDN layer. Campaign updates and design changes deployed in seconds, which mattered during the live festival period when the Aldi marketing team needed to push copy changes quickly.Vercel
Common questions about the AldiFest loyalty campaign
A shopper registers on the AldiFest web app, then uploads a photo of their Aldi receipt from a qualifying purchase over €25. The platform validates the receipt and credits one competition entry automatically. No form to fill out, no code to enter. A shopper who makes five qualifying purchases during the campaign period has five competition entries. Weekly draws give every participant a chance regardless of total entry count, but shoppers with more entries have a proportionally higher probability of being shortlisted.
Before the platform, running a competition where entries were tied to purchase receipts would have required manual receipt verification, entry counting, and a separate draw process. The auto-shortlisting feature made each validated upload directly add one entry to the user's count in the system. When a draw opens, the platform generates the shortlist automatically. Admins run the draw by reviewing the shortlist and selecting winners; a process that previously would have taken a day of manual work now takes minutes. The draw record and each winner's entry history are stored for compliance and audit purposes.
AldiFest launches with a surge of signups and concurrent receipt uploads driven by the campaign marketing push. AWS Lambda's serverless architecture scaled receipt processing functions automatically to handle that burst without provisioning dedicated servers for peak capacity. After the launch week, traffic drops significantly; Lambda scaled down immediately, so infrastructure costs matched actual usage rather than peak capacity. Load testing before each annual launch confirms the platform handles the expected signup rate without queue delays or upload failures.
Aldi owns the customer data collected during each campaign cycle (account details, purchase frequency, entry history, and contact information), which is exportable at any time. The platform itself was built for repeat use across annual campaigns, and Aldi has operated it since 2022 without rebuilding each year. Post-campaign, server capacity scales down to reduce costs during the inactive period, and the platform is reactivated for the following year's cycle with configuration updates for new prize structures, dates, and promotional content.
We built AldiFest (receipt upload and validation, automatic competition entry counting, weekly draw management with auto-shortlisting, winner selection, push notifications, an analytics dashboard, and GDPR-compliant data handling) in 14 weeks. The serverless architecture and the campaign-specific scope (one mechanic, one audience, one competition structure) kept the timeline tight. A platform with multiple concurrent campaigns, multi-retailer support, or POS-integrated point crediting would take longer. Contact us to scope based on your campaign mechanics, retailer footprint, and compliance requirements.
Related work
More work like this
AI phone agents automate global feedback loops through voice interviews
We transformed a text-based AI interview platform into a voice-first system that conducts automated phone interviews globally, eliminating user friction and delivering richer insights through natural conversations.
Read case study

An AI OCR loyalty platform drove 1,000+ sign-ups for a major supermarket chain
We built an AI loyalty platform for Musgrave's SuperValu and Centra that automates receipt validation with 99.9% accuracy, acquiring 1,062 users in 4 weeks.
Read case study
LoyaltyPass delivers wallet-native loyalty cards with 60% higher enrollment than app-based programs
LoyaltyPass runs loyalty programs inside Apple Wallet and Google Wallet. Customers earn and redeem without a separate app download, and businesses get real engagement data without the friction of a native app.
Read case study







