DEV3 Technologies home

DEV3 Stampora – Loyalty & Rewards SaaS Laravel Script with Points, Tiers, Stamp Cards, Staff Scan App

A self-hosted loyalty and rewards platform on Laravel 12 and Filament 4: points that expire in FIFO lots, tiers, stamp cards, one-time reward codes, a staff scan app with an offline queue, a member wallet PWA and a POS API. Web installer and demo data included. No mobile apps.
by DEV3 TechnologiesVerified Author(0) 0 sales 1 viewsUpdated 08 Nov 2026

Launch Offer: up to 50% off

This item is 50% off: $24.50 instead of $49

Ends in
--
Days
--
Hrs
--
Min
--
Sec

Video tour. Pick a section below to browse 96 screenshots in 9 sections.

App & phone tours

Tap play to watch each app. Nothing downloads until you do.

  • Mobile web1:11

Stampora is a loyalty and rewards platform you host yourself, built by DEV3 Technologies on Laravel 12 and Filament 4. Each customer is a business with its own programme, branches, staff, rewards and members. You run it as the operator: plans, businesses, takings and payout batches live in a separate panel.

What it does

  • Points, tiers and stamp cards. Earn rules by spend or by visit, with multipliers and bonus campaigns that can stack or exclude each other. Points live in FIFO lots with their own expiry, so a member sees exactly what lapses and when. Tiers move up the moment a purchase crosses a line and down only at the review date. Stamp cards complete into a reward without any manual step.
  • Rewards with one-time codes. A member reserves a reward with points and gets a code that works once, at one counter. Reservations return their points and stock when they expire or are cancelled, and a void never gives back points that were voided.
  • A staff scan app in the browser. Staff sign in, pick a branch and scan the member's rotating QR code, or type a member number, PIN or reward code. They earn, add a stamp, redeem and void within limits you set. Scans taken offline are queued on the device and replayed once, never twice.
  • A member wallet. A mobile-first web wallet with a live QR code, balance, tier progress, stamp cards, rewards, history, referral link and an optional paid Club tier. Members add it to the home screen.
  • Fraud checks. Duplicate receipts, out-of-hours earns, repeated voids, impossible travel between branches, code guessing and uncovered voids raise flags a manager can confirm or dismiss.
  • Panels and API. A business panel with a Stamp Wall, reports and the join poster, an operator panel with plans, business meters, takings, payout batches and audited view-only support sessions, and a REST API with an OpenAPI document and signed webhooks so a till can earn and redeem points.

Quality checks

The release passed seven gates on the final code: Larastan level 6 with 0 errors, 270 Pest tests, a build inside the page budget, migrations and the full demo seed on MySQL 8 and SQLite, a headless smoke test of 59 pages with seven race checks run on MySQL (one reward code redeemed by two staff, the last stock unit reserved twice, earn against redeem, offline replays, void against reserve, expiry against reserve, two Club payments), the installer driven from the zip, and a secret scan. The home page scores 96 for performance and 100 for accessibility on mobile.

What you should know before buying

  • Connect a till through the API. There are no vendor-specific point-of-sale plugins.
  • No Apple or Google wallet passes. The wallet is a web app that members add to the home screen.
  • SMS is simulated. E-mail uses the Laravel mailer, so configure your SMTP details.
  • No native scanner app. Staff scan in the browser over HTTPS (a local test machine is the exception).
  • Points have no cash value. The paid Club tier is the only money path: you are the merchant of record on the payment gateway (simulated by default; real Stripe, Razorpay and PayPal drivers are included but never called). Businesses cannot connect their own payment account in this version, and their takings are paid out by batch. Renewals of stored cards are simulated; on a real gateway a renewal waits for a pay link plus seven days of grace.
  • The travel-between-branches fraud rule needs branch coordinates. There is no geo-IP.
  • A cron entry every minute is required for expiry, reminders and birthdays. Web only: there are no mobile apps. Node.js is not needed (assets are prebuilt).

Included

Source code, a web installer, the demo data with ten fictional businesses, the OpenAPI document, an offline buyer guide and six months of support.

How it's built

Architecture, stack, key decisions and the quality gates DEV3 Stampora passed before release.

The engineering behind Stampora: points in FIFO lots, a fixed lock order for every money path, one-time reward codes and an offline scan queue that never credits twice.

The problem it solves

A loyalty programme looks like a counter and a stamp until points move. Two staff redeem the same code at once, a receipt is rung twice, a void arrives after the points were spent, a phone replays a queue it already sent. Each of those must end in the same books, and a manager must be able to see why a member holds a balance.

Architecture and approach

Stampora is a Laravel 12 application with a Filament 4 business panel, an operator panel and hand-built public pages, a member wallet and a staff scan app. Points are integers held in lots, each with its own expiry, on the shared wallet ledger. Every movement carries a unique key, so a repeat call is a no-op rather than a second entry. Earn maths and tier decisions are pure functions pinned by vector files.

Every money path takes its row locks in one fixed order: members, lots, the reward, the reward code, the staff limit row. A test records the order of every path and compares it. Reward codes are stored as a hash and redeemed under a row lock, so exactly one of two parallel scans wins. The staff app queues scans on the device with a client id; replays return the stored answer. Seven race checks run on MySQL in the release gate.

Quality gates and results

The release passed seven gates, with a Larastan level 6 result of 0 errors and a headless smoke test over every public and panel page.

Tech stack

Area Technologies
Application Laravel 12, Filament 4, Blade, REST API
Data MySQL 8, SQLite
Frontend Tailwind CSS 4, Vite
Quality Pest, Larastan level 6, Playwright

Inside the build

Regulars, rewarded: Points, tiers and stamp cards on the customer phone, with a staff scan that stays as simple as it is today. Regulars, rewarded — Points, tiers and stamp cards on the customer phone, with a staff scan that stays as simple as it is today.

Join, earn, reward: Three steps explain the whole flow, from the poster at the counter to a one-time reward code. Join, earn, reward — Three steps explain the whole flow, from the poster at the counter to a one-time reward code.

Guides & articles

Practical guides and engineering write-ups for DEV3 Stampora.

Loyalty program software: 7 things to check before you pick one

Last updated
Loyalty program software: 7 things to check before you pick one: DEV3 Stampora

A loyalty programme is easy to demo and hard to run. These seven checks separate software that holds up at the counter from software that only looks good on a landing page. Each one comes with how DEV3 Stampora answers it.

The staff scan app after an earn with a multiplier

1. Can you explain every point?

Ask where a member's balance comes from. Stampora keeps points in lots with their own expiry, so the member sees what lapses and when, and every movement has a ledger entry you can trace.

A member wallet showing balance, tier progress and the live QR code

2. Do reward codes work exactly once?

Two staff scanning one code at the same moment should produce one reward and one refusal. Codes are stored as a hash, redeemed under a row lock, and expire with their reservation.

A reward code reserved from the member wallet

3. What happens with no signal?

Counters lose their connection. Stampora queues scans on the device and replays them once; the same queue sent twice credits nothing the second time. Redeems always need a connection.

The offline queue waiting to replay

4. Are tiers fair?

A member should move up the moment a purchase crosses the line and move down only at the review date, with a grace period you can see. Voids must not drag a tier down by surprise.

The tiers editor

5. Who can cheat, and how would you know?

Duplicate receipts, repeated voids, code guessing and out-of-hours earns should raise a flag a manager can review. Stampora flags them and keeps the evidence next to the transaction.

The fraud flag queue

6. How does your till connect?

Ask for an API, not a plugin list. Stampora exposes earn, redeem, void and member lookup over a keyed REST API with an OpenAPI document and signed webhooks.

The business dashboard with the Stamp Wall

7. What are the limits?

Ask every vendor: wallet passes for the big phone platforms (Stampora ships a web wallet instead), SMS (simulated here, bring your own provider), a native scanner app (none: the browser scans over HTTPS) and who is the merchant of record for paid tiers (you are).

Video: a tour of Stampora from the site to a redeemed reward and the Stamp Wall

Frequently asked questions

The complete source code (version 1.0.0) as a download from your account, with the setup and usage guides shown on this page. You can modify the code to suit your product.

Buying guides: Laravel scripts with Filament panels and a web installer · Next.js or Laravel for a SaaS script?

Free snippets from this product

Questions about this product (7)

Answers from the DEV3 team and the community.

Ask a question

More from this author

View all

Related in Web Scripts & Software

View all