Launch Offer: up to 50% off

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

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

DEV3 Quarko – Dynamic QR Code SaaS Laravel Script with Designer, Editable Destinations, Bulk Runs & Analytics

A multi-tenant dynamic QR code SaaS on Laravel 12 and Filament 4: 14 code types, a designer with a scan check, editable destinations, print-ready PDF and EPS, CSV bulk runs, branded domains, scan analytics and an API. Web installer and demo data included. No mobile apps.

by DEV3 TechnologiesVerified Author(0) 0 sales 0 viewsUpdated 08 Nov 2026

Video tour. Pick a section below to browse 118 screenshots in 10 sections.

App & phone tours

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

  • Mobile web1:08

Quarko is a QR code platform that you run as a multi-tenant SaaS, built by DEV3 Technologies on Laravel 12 and Filament 4. Workspaces design codes for menus, packaging, posters and window cards, choose static or dynamic, and download print-ready files. A dynamic code points at a short address on your domain, so the destination can change after printing while every scan is counted. You sell plans, and every workspace is isolated from the others.

What it does

  • Fourteen code types. Web address, contact card, Wi-Fi, plain text, email, SMS, phone, location, calendar event, menu PDF, app store chooser, social links, coupon and SEPA payment. Menu, coupon, social and app store codes open a landing page; the rest carry their content or redirect.
  • A designer with a scan check. Live preview with colours, gradients, dot styles, eye styles, a logo and a frame with your own call to action. A scannability score covers contrast, quiet zone, print size, error correction and logo size. Quarko raises error correction for a big logo, refuses a design below the safe score and warns about inverted codes.
  • Edit after print. Change where a printed code leads, schedule the next destination, pause, resume or archive, and keep every earlier destination in a history. Redirects are 302 with no caching, so a change takes effect at once.
  • Print-ready exports. SVG and PNG with a resolution, plus a PDF with bleed and crop marks (TrimBox and BleedBox set) and an EPS, written by Quarko itself. Download links are signed and expire after 15 minutes.
  • Bulk runs from a CSV. Download a template per type, upload, read the row-by-row validation report, confirm the valid rows and download a ZIP with one file per code and an index CSV. Runs resume after a worker restart and can be cancelled.
  • Scan analytics. Scans and unique scanners, trends, top cities, countries, devices, referrers, a compare view for four codes, CSV download, and the Scan Clock: a flat weekday-by-hour chart in the workspace time zone.
  • Branded domains. Each workspace can verify its own scan domain with a CNAME and a verification record, so printed codes carry its name.
  • Landing pages that work on a phone. Menu viewer, contact card with Save contact, event card with Add to calendar, Wi-Fi card, coupon reveal and social links, including right-to-left pages in Arabic.
  • Limits that count scans. Plans meter dynamic codes, monthly scans, bulk rows, branded domains and API calls. At the cap, codes keep working through a small grace allowance and the owner is emailed at 80 and 100 percent.
  • Trust and safety. A public report form, a safe-link queue where a person confirms or blocks a destination with a reason, takedowns, a neutral page for paused or blocked codes and an audit log.
  • SaaS layer. Plans, trials, billing page, invoices, team roles (owner, designer, viewer), an operator panel with usage per workspace and audited impersonation.
  • API (plans with API access): scoped keys hashed at rest, rate limits with headers, one error envelope and an OpenAPI document.

Install and demo data

A web installer checks the server, writes the configuration, migrates and loads either demo data or an empty install, then creates the operator account. The demo has 24 fictional workspaces, about 1,300 codes, ten months of history and about 90,000 raw scans, including a café group, a hardware co-op with a 2,400-SKU bulk run, an events company and an estate agent. Every demo password is password. Node.js is not needed because compiled assets are included.

Good to know before you buy

  • Drivers are simulated until you configure them. Subscription payments run on a simulated gateway (Stripe, Razorpay and PayPal are present), mail is written to the log until you set SMTP, and scan locations come from a fictional table until you add a GeoLite2 file.
  • The safe-link check is guarded off by default. The built-in driver flags a list of test hosts only. To check real destinations you enable the Safe Browsing driver with your own key.
  • You are the merchant of record. Quarko handles no money between a workspace and its scanners; your customers pay you, and tax, invoices and refunds are your responsibility.
  • PNG uses GD; Imagick is optional. With GD the PNG is anti-aliased. Without GD a pure-PHP writer draws square modules only.
  • EPS colour is approximate. CMYK values are converted from RGB; ask your printer for a proof if colour matters.
  • The fully round "dots" style reads less reliably in some scanner libraries, such as jsQR, than in a phone camera. The scan check is a guide, not a guarantee: always scan a printed proof with two or three phones.
  • Branded domains need your TLS and DNS. Quarko verifies the records but does not issue certificates.
  • Web only. There are no mobile apps.
  • Name: Quarko is a working name checked by a web search only, not a trademark clearance. Check it before launching under it.
  • No hosted demo. The brands, people and places in the screenshots are fictional.

Quality checks

Quarko 1.0.0 passed the seven release gates of the DEV3 Laravel suite on the final code: static analysis (Larastan level 6), the Pest suite (395 tests), a front-end size budget, migrations and seeding on MySQL 8 and SQLite, a headless-browser pass over 135 pages and 59 happy paths with MySQL race checks (parallel creates at the dynamic limit, 200 parallel scans, scans across the cap, parallel bulk runs), exports decoded back with a QR reader, an installer test from the package and a secret scan.

How it's built

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

The engineering behind Quarko: a QR designer whose scan check decodes its own output, a no-store redirect edge with queued recording, atomic plan quotas, resumable bulk runs and a tenant guard that fails closed.

The problem it solves

A QR code is printed once and trusted for years. It must still scan after a logo or a gradient is added, a destination must be editable without a cached redirect, scan counts must stay exact under load, and no workspace may ever see another one's files.

Architecture and approach

Quarko is a Laravel 12 application with Filament 4 panels for workspaces and the operator, Blade pages for the public site and scan landing pages, and a JSON API. It builds on the shared DEV3 core for settings, roles and audit.

A scan check that tests itself

The matrix comes from a QR library; the renderer, shapes, frames, PDF and EPS writers are Quarko's own. The scannability score covers contrast, quiet zone, size, error correction and logo size, and the automated tests render dozens of designs and decode them back to the exact content.

An edge that never caches a change

The scan address answers with a 302 and no-store, looks up the code from cache and records the scan after the response. Recording is idempotent, so a retried job cannot double count.

Quotas under lock

Dynamic code limits are checked under the workspace row lock and scan quotas use a conditional update, with a cap and a grace allowance. Parallel requests cannot pass the limit.

Bulk runs that resume

Rows are validated first, reserved against the plan, built in chunks and zipped with an index file. A restarted worker continues where the run stopped.

A tenant guard that fails closed

Every tenant model is scoped by workspace and a guard throws if one is loaded without a tenant. Exports and bulk ZIPs are served through signed links, and a generated test requests other workspaces' records and expects 404.

Quality gates and results

Quarko 1.0.0 passed the seven release gates on the final code, including Larastan level 6, 395 Pest tests, a headless-browser pass over 135 pages and 59 happy paths, and MySQL race checks on five groups: the dynamic limit, parallel scans, the scan cap, bulk reservations and destination changes. Exported codes are decoded back with an independent QR reader. The demo seed holds about 1,300 codes and 90,000 raw scans, and a consistency check ties the roll-ups back to the raw rows.

Tech stack

Area Technologies
Application Laravel 12, Filament 4, Blade, REST API
QR engine chillerlan/php-qrcode matrix, Own SVG renderer, Own PDF and EPS writers, GD raster
Edge 302 no-store redirect, Queued scan recording, Conditional-update quotas
Concurrency Row locks, Resumable bulk runs, MySQL race checks
Quality Pest, Larastan level 6, Decode tests, Headless browser smoke, Installer test

Inside the build

Codes you can change after they are printed: The home page opens on a real scannable code, a scannability meter and one button to make your own. Codes you can change after they are printed — The home page opens on a real scannable code, a scannability meter and one button to make your own.

The same page in dark mode: White on near-black with the safety orange kept, so the proof-sheet look holds at night. The same page in dark mode — White on near-black with the safety orange kept, so the proof-sheet look holds at night.

Guides & articles

Practical guides and engineering write-ups for DEV3 Quarko.

QR code generator for print: 7 things to check before you print a thousand

Last updated
QR code generator for print: 7 things to check before you print a thousand: DEV3 Quarko

A QR code is printed once and trusted for years. Here are seven things to check before you send a thousand table tents to the printer, with DEV3 Quarko as the worked example.

Video tour — design, export, change a printed code and read the Scan Clock

Quarko home page: a real scannable code, the scannability meter and one button to make your own

1. Will it still scan after you style it?

Logos, gradients and rounded dots cost modules. Look for a score that covers contrast, quiet zone, print size, error correction and logo size, and that raises correction for you when a logo needs it. Quarko refuses a design below the safe score and warns about inverted codes.

The designer with a live preview and the scannability meter

A big logo, with error correction raised automatically

2. Can you change the destination after printing?

A dynamic code points at a short address, so the poster stays and the page behind it changes. Check that the redirect is not cached by browsers, that you can schedule the next destination and that earlier ones stay in a history.

Scheduling the next destination for a printed code

3. Does it give the print shop what it asks for?

SVG and PNG with a resolution are not enough for packaging. Look for a PDF with bleed and crop marks and an EPS. Quarko writes both itself; the EPS colour is an RGB-to-CMYK approximation, so ask for a proof.

A print-ready PDF with bleed and crop marks

4. Can it make a thousand codes from a spreadsheet?

A bulk run should validate every row first, show the reason for each bad row and give you one ZIP with an index file.

The validation report listing the rows to fix

5. Do you see when and where people scan?

Totals are not enough. Quarko adds the Scan Clock, a flat weekday-by-hour chart in your own time zone, with top cities and countries.

The Scan Clock

6. Can the code carry your own domain?

A branded domain means the printed code shows your name. It needs a CNAME and TLS in front of the app; Quarko verifies the records but does not issue certificates.

7. What happens when a destination turns bad?

Look for a report form, a safe-link queue, a takedown with a reason and a neutral page for a paused code.

The safe-link queue in the operator panel

Limits

Payment, mail and scan-location drivers are simulated until you configure them, and the safe-link check is off by default. You are the merchant of record for your customers. PNG uses GD (Imagick is optional), EPS colour is approximate, the fully round dots style can read less reliably in some scanner libraries than in a phone camera, and there are no mobile apps. Always scan a printed proof.

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?

More from this author

View all

Related in Web Scripts & Software

View all