Knex Card — Digital Business Cards for the Modern Network
The Problem
Business cards are still the default handshake in networking — but they get lost, outdated, or thrown away. Professionals need something as easy to share as a physical card but that never goes stale. Knex Card set out to build exactly that: a digital business card platform where a single link or NFC tap gives anyone your latest contact info, and you control what they see.
Stack Choices
Backend — Laravel 13 + Filament v5
Laravel 13 is the backbone — handling authentication, API routing, database migrations, queue jobs, and the admin panel. Authentication is powered by Laravel Fortify with email/password, social login (Google, LinkedIn, Facebook, Apple via Socialite), passkeys (WebAuthn), and two-factor authentication (TOTP). API authentication uses Laravel Sanctum for mobile token-based access.
The admin panel runs on Filament v5 with custom resources for user management, profile moderation, team oversight, and global analytics — giving the Knex operations team full control without building a custom admin UI. Filament widgets display real-time stats, industry distribution charts, and top-profile leaderboards.
Frontend — Vue 3 + Inertia + TailwindCSS v4
The front end is a single-page application built with Vue 3 (Composition API, TypeScript) and Inertia.js v3. Inertia bridges server-side routing with SPA UX — pages are Vue components rendered server-side (SSR enabled for SEO), then hydrated client-side for instant navigation. TailwindCSS v4 handles all styling with a dark, modern design system.
Key frontend packages:
- reka-ui — headless UI components (Radix port for Vue)
- lucide-vue-next — icon system
- vue-sonner — toast notifications
- @vueuse/core — composition utilities
- @laravel/passkeys — WebAuthn passwordless authentication
- class-variance-authority + clsx + tailwind-merge — component variant management
Mobile — NativePHP + NFC
A companion mobile app built with NativePHP wraps the web platform and exposes NFC capabilities — Android HCE (Host Card Emulation) and iOS Core NFC. A phone tap on an NTAG215 sticker opens the card instantly in the browser. No app install needed on the receiver's end.
Architecture
The platform is organized into three layers:
- Public profile pages — each user gets a vanity URL at
knexcard.naicatech.com/@usernamewith SEO meta tags, Open Graph, Twitter Cards, and structured data. Zero JavaScript required to view; degrades to pure HTML. - User dashboard — an authenticated SPA for managing profiles, social links, custom fields, themes, QR codes, analytics, and team settings.
- Admin panel — Filament v5 for user moderation, team management, and system-wide analytics.
The app exposes both web (Inertia) and JSON API (/api/v1/) endpoints in parallel — the web layer serves the dashboard SPA, while the API layer serves the mobile app and third-party integrations.
Multi-Tenancy
Teams act as tenants with a session-based scoping strategy. A tenant_id column on all scoped models, a reusable BelongsToTenant trait, and a global TenantScope automatically filter queries by the active tenant. Corporate accounts can lock theme colours, branding, and hide the "Powered by" footer — essentially white-labelling the platform for their employees.
Code Organisation
Business logic is extracted into single-responsibility Action classes (app/Actions/CreateProfile, TrackProfileView, GenerateVCard). Validation lives in Form Requests, authorization in Policies, and API responses are transformed through Eloquent API Resources. Controllers stay thin.
Key Features
Rich Profiles
Each profile supports name, job title, company, bio, tagline, photos (avatar, cover, logo), contact info (email, phone, mobile, WhatsApp), full address (country, state, city, ZIP, street), social links (LinkedIn, Facebook, Instagram, TikTok, X, YouTube, GitHub, Dribbble, and more), custom dynamic fields (text, URL, email, phone, file types), business details (industry, description, services, products, business hours), and six built-in themes with custom accent colours (Emerald, Ocean, Sunset, Royal, Rose, Slate).
vCard (.vcf) Downloads
Profiles are downloadable as standard vCard 3.0 files — compatible with Android, iOS, Outlook, Gmail, and Apple Contacts. Every field is included: name, title, company, emails, phones, WhatsApp, URL, address, bio, and social links.
Dynamic QR Codes
Every profile gets a dynamic QR code (profile link, URL, or vCard download) with customizable foreground/background colours and an optional logo. Scans are tracked per QR code with device, browser, OS, country, city, IP, referrer, and whether the contact was saved. SVG download included.
NFC Sharing
The profile URL is encoded into an NTAG215 sticker. Tap a phone, browser opens, card renders. No app install, no friction. The mobile app handles NFC writing and pairing.
Analytics Dashboard
Profile views and QR scans are tracked with breakdowns by device, browser, OS, and geography (IP-based country/city). Users see total views, unique views, daily/weekly/monthly/yearly trends, contact save rates, and a paginated scan history with filtering.
Team & Corporate Plans
Teams can issue cards to employees with locked branding, custom domains, and role-based permissions (Owner > Admin > Manager > Member). Invitations are managed through the dashboard. Corporate branding controls include theme colour locking, accent colour locking, avatar/logo/cover image locking, company name and tagline locking, "Powered by" visibility toggle, and custom domain support.
The Build
From kickoff to first live card: roughly 6 weeks. The bulk of that time went into the dashboard UX and the analytics engine — the public profile view is deliberately minimal and fast.
Key decisions that shaped the build:
- Inertia over a pure SPA — SEO matters for public profiles. Inertia gives us SSR for free while the dashboard behaves like a proper SPA.
- Fortify for auth — login, registration, 2FA, passkeys, password reset, and social OAuth all come out of the box.
- Action classes over fat controllers — business logic lives in single-responsibility classes. Controllers stay thin.
- SQLite in development, PostgreSQL/MySQL in production — zero-config local dev, robust production deployment.
- Sanctum tokens for mobile — the API layer doubles as the mobile app backend without additional auth infrastructure.
Production Readiness
The project scored 8.5/10 in its production audit across six categories — the highest marks in Architecture (9/10), Maintainability (9/10), and API Quality (9/10):
| Architecture | 9/10 |
| Security | 8/10 |
| Scalability | 8/10 |
| Performance | 8/10 |
| Maintainability | 9/10 |
| API Quality | 9/10 |
The complete tech stack includes 21 database migrations covering users, profiles, social links, custom fields, profile analytics (IP, device, browser, OS, referrer tracking), QR codes, QR code scans, teams, team members, and passkeys.
What's Next
Upcoming features include AI-powered business card OCR (snap a photo of a physical card and auto-import the fields), Apple Wallet and Google Pay passes, CRM integrations (HubSpot, Salesforce), an email signature generator, digital catalog pages for product showcases, and bulk CSV team imports.
Knex Card is live and actively evolving. Visit the platform to see the latest.