What I built.
VisionLink Dashboard is part of my portfolio of websites and applications.
- Digital-card and profile-management code.
- vCard, public URL and share-image utilities.
- Company, lead and payment-related workflows.
Under the hood.
Nuxt / Vue
Dashboard and profile surfaces
Supabase
Application backend
Pinia
Client state
Utilities
vCard, slugs, share images and company workflows
The physical card needs a control room
The physical NFC card is only an entry point. The dashboard is where the digital experience is managed: profiles, card details, sharing and the workflows around them. I built this as part of the wider VisionLink platform.
One identity, several workflows
The Nuxt application brings together Supabase, Pinia and a large set of focused components and utilities. The code includes card URLs and short slugs, vCard output, sharing images, company seats, leads, image handling and payment-related workflows.
Those details matter because a platform grows beyond its first happy path. A personal profile, a company-managed card and an incoming lead need different behaviour while still feeling part of the same product.
The card has more representations than you expect
A card can be a public URL, a short slug, a vCard contact file or a share image. The repository has focused utilities for these representations, alongside company seats, leads and payment-related behaviour.
That is why I think of the dashboard as product infrastructure. The editor is only one surface. The same identity has to make sense when someone opens a link, saves a contact or manages cards for a company. The utility boundaries are visible in the source; consistency across every output still needs end-to-end checks.
Keep the public card simple
I want the management experience to carry the complexity so the public card can stay simple. Keeping sharing, account context and presentation concerns separated in the code helps support that direction.
Maintaining a product, not delivering a page
This is ongoing product engineering rather than a single landing-page delivery. It combines interface work, data modelling, integrations and the practical decisions that come with maintaining a business.