← Alle artikelen →

QR SaaS bouwen in Laravel: wat komt er allemaal bij kijken?

Wil je een eigen QR SaaS platform bouwen in Laravel? In dit artikel leg ik uit welke componenten je nodig hebt, welke keuzes je moet maken en waar de valkuilen zitten.

Martin Knops · 17 Mar 2026

Laravel is het perfecte framework voor een QR SaaS platform. Het is volwassen, goed gedocumenteerd en heeft een rijke ecosysteem van packages. Maar een QR SaaS bouwen is meer dan een paar routes en controllers aanmaken.

In dit artikel loop ik door alle componenten die je nodig hebt voor een productie-klaar QR SaaS platform.

1. De kern: redirect engine

De redirect engine is het hart van het systeem. Elke QR-code verwijst naar een URL op jouw platform — bijvoorbeeld qr.jouwdomein.nl/abc123. Die URL moet zo snel mogelijk resolven naar de uiteindelijke bestemming.

In Laravel maak je hiervoor een dedicated controller:

class QrRedirectController extends Controller

{

public function resolve(string $code)

{

$tag = Cache::remember("tag:{$code}", 300, fn() =>

Tag::where('code', $code)->with('activeRedirect')->firstOrFail()

);

dispatch(new TrackScan($tag, request()))->afterResponse();

return redirect($tag->activeRedirect->url, 301);

}

}

Let op de 301 redirect — dit is belangrijk voor SEO van de bestemmingspagina. En de cache voorkomt een database-hit bij elke scan.

2. Multi-tenant architectuur

Een SaaS platform heeft meerdere klanten. Elke klant heeft zijn eigen tags, gebruikers en analytics. De eenvoudigste aanpak is een tenant_id kolom op alle relevante tabellen.

In Laravel gebruik je een global scope om automatisch te filteren:

class TenantScope implements Scope

{

public function apply(Builder $builder, Model $model): void

{

$builder->where('tenant_id', auth()->user()->tenant_id);

}

}

Voeg deze scope toe aan je modellen en je hoeft nooit meer handmatig te filteren.

3. QR-code generatie

Voor de generatie van QR-codes gebruik je een package zoals simplesoftwareio/simple-qrcode of endroid/qr-code. De QR-code verwijst altijd naar jouw redirect endpoint — niet naar de uiteindelijke bestemming.

$qr = QrCode::format('png')

->size(300)

->generate("https://qr.jouwdomein.nl/{$tag->code}");

Sla de gegenereerde QR-code op in storage zodat je hem niet bij elke request opnieuw hoeft te genereren.

4. Analytics

Analytics is waar je het verschil maakt ten opzichte van simpele redirect services. Je wilt minimaal bijhouden:

- Scans per tag per dag

- Unieke scans vs totale scans

- Apparaat breakdown (mobiel / desktop)

- Geografische spreiding

- Piekuren

Gebruik Laravel's queue systeem om scan-data asynchroon te verwerken. Zo vertraag je de redirect niet.

Voor de frontend van het analytics dashboard is een combinatie van Filament widgets en een charting library zoals Chart.js of ApexCharts ideaal.

5. Admin dashboard

Filament is de beste keuze voor het admin dashboard van een Laravel SaaS. Het biedt:

- CRUD interfaces voor tags, campaigns en gebruikers

- Resources met volledige zoek-,

Vertel me over jouw dynamic QR-project. Ik geef je binnen 24 uur eerlijk advies — of maatwerk development gerechtvaardigd is of niet.

Stuur een bericht