Digital business cards for enterprise corporate groups.

A custom multi-tenant SaaS we built for a corporate group running hundreds of employees across multiple companies. QR + NFC + vCard delivery, batch CSV onboarding, per-company branding. One platform, one upload, every card live.

What we built

BusinessLink is a custom multi-tenant SaaS platform that replaces paper business cards with QR-code and NFC-powered digital profiles, managed centrally. One corporate group, multiple companies, hundreds of employees — one platform that handles the tenancy, the branding, the onboarding, and the day-to-day card management. Every employee gets a public-facing branded profile; every recipient saves the contact with one tap and no app install; every change a profile owner makes goes live immediately across every card already in circulation.

  • Digital business cards

    Every employee gets a public-facing branded profile reachable by QR code or NFC tap. Recipients land on a mobile-friendly page with the option to save the contact straight into their phone via vCard — one tap, no app to download, no friction at the moment of exchange.

  • Multi-company tenancy

    Data isolation between companies inside the group is enforced at the query level, and branding is overridden per company. The role hierarchy — Super Admin, Company Admin, Employee — is carried by Spatie Laravel Permission. Super Admins manage every company; Company Admins see only their own; Employees manage only their own profile.

  • Batch CSV import

    Hundreds of employees onboard in a single CSV upload. Real-time progress tracking shows the import as it runs, and every new employee record gets its profile and QR code generated automatically. One file, one upload, every card live — no row-by-row admin work.

  • Real-time profile updates

    When a profile owner edits their details, every card the employee has already handed out updates immediately. Job titles, phone numbers, photos and company branding all change in place. There is no reprinting, no recall, no stale information on cards that are already in the wild.

  • Self-contained installation

    All assets — logos, background images, QR codes — are stored as base64 in the application database. There is no external file storage dependency to provision, secure, or back up separately. Deployment is one application; backup is one database; the install moves between environments as a single unit.

  • Security-first uploads

    PNG uploads are validated by magic-bytes checking, not just by extension. CSRF protection sits on every state-changing request. Two-factor authentication is available on admin accounts, and login is rate limited to five attempts per minute per email-and-IP pair to blunt credential stuffing.

BusinessLink digital business card — rendered profile with vCard download QR code BusinessLink cards list with QR Code preview modal BusinessLink Add Company modal — multi-tenant company management form BusinessLink Add User modal — employee onboarding with role + company assignment

Outcomes

Multi-tenant

Corporate group isolation

Hundreds of employees

Single batch CSV import

QR + NFC

Card delivery formats

Common questions

Why custom-built instead of off-the-shelf?
Off-the-shelf digital business-card SaaS does not handle corporate-scale multi-tenancy, per-company branding, and batch CSV onboarding for hundreds of employees in one platform. A corporate group with multiple companies under one roof needs data isolation between companies, branding overrides per company, and a Super Admin layer that sees everything — the standard product catalogue is built for individuals and small teams, not for a corporate group operating at this scale.
How does multi-company tenancy work?
Spatie Laravel Permission carries three roles — Super Admin, Company Admin, and Employee. Super Admins manage every company, every user, and every card across the platform. Company Admins manage only inside their own company. Employees manage only their own profile. Company data isolation is enforced at the query level so a Company Admin in one company can never read or write a record belonging to another. Branding is overridden per company on top of that same isolation boundary.
Why base64 asset storage?
Logos, background images and QR codes are stored as base64 in the application database rather than on an external file store. That choice keeps the installation self-contained — no external storage bucket to provision, no separate credentials to manage, no second backup target to keep in sync. Deployment is one application, backup is one database, and moving the platform between environments is a single coordinated operation rather than two.
Do recipients need an app?
No. Profiles load in any modern mobile browser. A recipient taps an NFC card or scans the QR code, the profile opens, and one tap saves the contact into their phone via vCard. There is no app store install, no account creation, and no friction at the moment of exchange.
How does the batch CSV import work?
A Company Admin or Super Admin uploads a single CSV file containing every employee they want onboarded. Real-time progress tracking shows the import as it runs through the rows. For each new employee, the platform creates the user record, generates the digital profile, and renders the QR code automatically — no row-by-row admin work and no separate steps to provision the card after the user exists.
What about security?
Two-factor authentication is available on admin accounts. CSRF protection sits on every state-changing request. Login is rate limited to five attempts per minute per email-and-IP combination to blunt credential stuffing. Public endpoints — the routes recipients hit when they scan a card — are rate limited as well. PNG uploads are checked by magic bytes, not just by file extension, so a malicious file cannot masquerade as an image based on its name alone.

Stack

The platform runs on Laravel 11 with Livewire 3.0 for a reactive UI without a separate JavaScript front-end. Spatie Laravel Permission carries the Super Admin / Company Admin / Employee role hierarchy, and QRCode.js generates QR codes client-side. Asset storage uses base64 in the application database — logos, background images and QR codes all live inside the application, with no external file storage dependency.

Built entirely in-house. No third-party platform dependencies beyond the framework stack.

BusinessLink is in production for an enterprise corporate group running hundreds of employees across multiple companies. It exists because off-the-shelf digital-card SaaS does not solve corporate-scale contact management — the standard products are built for individuals or single small teams, not for a group operating multiple companies under one parent with strict data isolation and per-company branding. The platform handles the tenancy, the onboarding, the security model, and the day-to-day card management as one piece of software, owned outright by the group that uses it.

Want a custom platform built for your operation? See custom platform development →

Got a custom platform to scope?

Talk to us