Skip to main content
  • SaaS platform
  • Badge designer
  • Access control

Badging SaaS

Sector
Events
Delivered as
  • Web app
Year
2025

“Prêt à lancer votre premier événement ?”

(The project)

A multi-tenant accreditation platform for events: custom registration forms, a visual QR badge designer, bulk PDF generation and encrypted access-control scanning. It started with one event and grew into a reusable SaaS.

(Context)

The whole accreditation lifecycle, as one product.

Each organiser runs their own events, builds registration forms with a drag-and-drop builder, collects visitors, designs and prints QR-coded badges, then controls on-site access by scanning.

A super administrator oversees every organiser, their limits and the global defaults. The platform is a single Laravel 12 application serving a React 19 interface through Inertia.

(Key figures)

multi-tenancy
3-tier
QR payloads
Encrypted
form builder
Drag & drop
badge scanning
PWA

The decisions that shaped it

  1. One codebase

    A single Laravel 12 application serves the React 19 interface through Inertia.js 2, with no split between API and front end.

    Inertia monolith

  2. Tenant isolation

    Data is scoped by organiser and by event, with event URLs enforced by middleware and role checks reserved for the super administrator.

    Soft multi-tenancy

  3. Layered PDF pipeline

    Each badge renders from the event’s own template when one exists, with a clean fallback otherwise, before dompdf or TCPDF produces the file.

    Dynamic badges

  4. Scanning built against forgery

    Visitor identifiers are encrypted inside the QR code, decrypted on the server, checked against the event and the visitor’s status, then logged with gate and time.

    Anti-forgery

(How it works)

The accreditation lifecycle

  1. Build the form

    Organisers compose a registration form with a drag-and-drop builder; platform defaults are added to every new event.

  2. Collect and design

    Visitors arrive manually, by Excel or CSV import, or through public registration, while a Fabric.js designer sets the badge layout.

  3. Generate badges

    Each visitor gets a PDF badge with an encrypted QR code, downloadable one by one or streamed in bulk as a ZIP archive.

  4. Scan and log

    On the day, the scanning app decrypts the code, checks scope and status, and records the gate, the scanner and the time.

Captures of the delivered build, grouped by product. Select one to see it at full size.

Technology

Back end
  • Laravel 12
  • PHP 8.2
  • Inertia.js 2
  • Sanctum
Front end
  • React 19
  • Tailwind CSS 4
  • Vite 6
Badges & documents
  • Fabric.js
  • dompdf
  • TCPDF
  • simple-qrcode
Tooling
  • @dnd-kit
  • Laravel Excel
  • ZipStream
  • Spatie Activitylog

(Next project)

CybrSens

Cybersecurity, 2026

Your project could be the next system we build.