Skip to content
Case study

SwiftLink: from idea to a live NFC business card platform in 30 days, and still growing

A UK startup needed the software behind its NFC business cards built fast, built right and built to grow. We delivered the core platform in 30 days and have been SwiftLink's technology partner ever since.

SwiftLinkOctober 25, 2026
  • Custom PHP
  • Shopify
  • DigitalOcean
  • Cloudflare
  • Stripe
  • Apple Wallet
  • Google Wallet
The SwiftLink storefront, built on Shopify, with the card profile behind it.
By the numbers
30 days
From kickoff to a working platform
2,000
Cards in the first production batch
10,000
Addresses tested before launch
100%
Of the code and IP owned by SwiftLink
At a glance

The project, in brief

Client
SwiftLink Tech Ltd, Bradford, United Kingdom
Product
NFC and QR business cards with a digital profile that customers update any time
Market
Business and individual users, selling in the UK and overseas
Our role
Product planning, architecture, full development, hosting setup, deployment, ongoing feature development and support
Core build
30 days from kickoff to a working platform on the client's own server
Relationship
Continuous since May 2023
Stack
Custom PHP web application, Shopify storefront, DigitalOcean, Cloudflare, Stripe, Apple Wallet and Google Wallet APIs
The challenge

Tie a physical card to a digital identity, at scale

SwiftLink's founders, Stephen Haley and Sunnie Patel, had a clear product in mind. A physical card you buy once, carrying an NFC chip and a QR code, linked to an online profile you can edit forever. Tap the card on a phone and the profile opens. No app, no typing.

The store side was simple. They had chosen Shopify, and Shopify handles products and payments well. The hard part was everything behind the card.

Every card needed its own permanent web address before it was manufactured, because the manufacturer writes the address onto the chip. Thousands of these addresses had to exist as empty accounts, waiting for a customer to tap the card for the first time and claim it. Once claimed, the card and the profile had to stay connected for life, while the customer changed their details as often as they liked.

The first order was 2,000 cards. The founders also asked a direct question at the start: could the system hold 100,000 accounts without being rebuilt?

They had the designs, the brand and the supplier. What they did not have was a technical partner who could turn that into working software quickly, make the architecture decisions they could not make themselves, and stay available as the business grew. As Stephen put it in our first conversation, “I don't understand development in all honesty. This is why I need you.”

Why Aneri Developers

We answered the question they were actually asking

SwiftLink's brief attracted a large number of proposals. Most answered the question “can you build a website?” Ours answered the question they were actually asking: how do you tie a physical object to a digital identity, at scale, without the two ever coming apart?

Before any contract, we worked through the model with Stephen in plain language. A purchase on Shopify. A unique account and public link for each card. The link stays fixed, the profile behind it changes. We confirmed that pre-generated empty accounts were possible, that server and DNS setup was covered, and that an affiliate programme could be added without custom development by integrating a proven script.

Stephen's first message said it directly: we had “taken the time to read exactly what we need and clearly seem to understand what we require.”

The other thing SwiftLink wanted was a partner who would not disappear after launch. They asked for ongoing support and improvement from the start, and we agreed to it from the start.

The 30-day build

From kickoff to a working platform

The project kicked off on 20 May 2023. SwiftLink's designs arrived two days later. We set a 30-day target and worked to it.

  1. 01
    Week 1 and 2

    Design and the first screens

    We turned the client's visual references into working screens for every step a customer would see: first tap, account creation, email verification, password setup, profile editing and the public profile itself. By day 15 these were live on a test address so Stephen and Sunnie could tap through them on their own phones and give feedback.

  2. 02
    Week 3

    The engine behind the cards

    This was the part that mattered most. We built the admin panel with a batch generator: enter a number, press generate, and the system creates that many unique profile addresses with matching QR codes, exported as a spreadsheet and a zip file ready for the manufacturer. Each address carries a tracking marker so the platform knows whether a profile was opened by tap or by scan, which later became the analytics feature. On day 25 we tested a batch of 10,000 addresses and deployed the admin panel to the client's own server the same evening.

  3. 03
    Week 4 and 5

    The customer side, live

    Profile editing, social links, team members, cover and profile photos, and a save-contact button that drops the details straight into the phone's address book on both iPhone and Android. On day 33 the full system was running on SwiftLink's server and we held our first video call to walk through it.

  4. 04
    Day 45

    Production

    On a live call with both founders, we generated the first official batch of 2,000 profile addresses. Stephen's message that evening: “We can order a lot of stock tomorrow now. Our confidence is in you Ritik.” The physical cards arrived a month later and worked first time.

The batch generator: every card's address, created before manufacturing.
The product

What customers hold in their hand

One tap opens a profile the customer owns and edits forever. Themes, a Pro tier, analytics and wallet passes all live in the same app.

Public profile
Themes
SwiftLink Pro
Analytics
QR & wallet
Technology

The stack behind it

Storefront

  • Shopify

Platform

  • Custom PHP

Hosting and infrastructure

  • DigitalOcean
  • Cloudflare

Payments

  • Stripe

Wallet integrations

  • Apple Wallet
  • Google Wallet
Decisions that shaped the platform

The calls that held up

A fast build is only valuable if the decisions underneath it hold up. These are the ones that did.

01

Keep Shopify and the platform separate.

Shopify already handles products, payments, tax and shipping well. Rebuilding any of that would have cost weeks and gained nothing. The custom platform lives on its own subdomain and does the one thing Shopify cannot: run the cards.

02

Generate addresses in bulk, not per customer.

Early on, we proposed creating each account from the admin panel as orders came in. Stephen explained that the manufacturer needed every address before production. We changed the design the same afternoon. The batch generator became the heart of the system, and it is still how every new product line is launched.

03

Random keys, not sequential numbers.

Every profile address uses a long random key. Nobody can guess the next customer's profile or scrape the whole customer list by counting upwards.

04

Let the client manage platforms themselves.

Rather than hard-coding the list of social networks, we built an admin screen where SwiftLink adds, edits and reorders them. When Threads launched in July 2023, mid-project, it was added in minutes with no developer involved. Twitter's rebrand to X was handled the same way.

05

Right-sized hosting.

We tested AWS, then recommended DigitalOcean: simpler to manage, cheaper to run, easy to scale up in minutes when traffic grows. DNS moved to Cloudflare for a free CDN, firewall and faster global loading, which also meant the client could cancel their old hosting later without any downtime.

06

Curated choices over open customisation.

When SwiftLink wanted customers to pick their own theme colours, we recommended a set of eight designed options matched to the physical card colours instead of a free colour picker. Profiles stay on-brand and the product looks consistent in every customer's hands.

07

Test with friends first.

Before public selling, we suggested putting 20 to 25 cards with friends and family to find the problems real users find. SwiftLink did exactly that.

Beyond launch

How the platform grew

The 30-day build was a starting point. As SwiftLink sold cards, talked to customers and watched competitors, the wishlist grew, and the platform grew with it. Every feature below was added to the live system without a rebuild and without disrupting existing customers.

Themes

Four profile themes (Social, Business, Corporate, Modern) with light and dark versions, eight colour options matched to the card range, and customer-selectable icon packs

Products

Phone tags, social media tags and metal cards, each with its own setup flow; a connect-existing-card process so one customer can link several products to a single profile

Pro membership

Recurring subscriptions through Stripe, offered during setup or later, with a cancellation survey, admin-side activation and a verified badge for members

Pro features

Analytics by tap, scan and per-link click with date filters; embedded video slider; image gallery; featured links; product showcase; lead-capture popup

Wallets

Add-to-wallet passes for Apple Wallet and Google Wallet, each built on the vendor's own pass API

Growth tools

Short links (account.swift-link.com/yourname), an affiliate programme integrated with Shopify orders, email signature generator, and export of collected leads to Excel for CRM import

Operations

Digital-only accounts created from admin, manual customer setup, account reset and deactivation, admin password reset, privacy controls for contact buttons, QR code manager, staging environment and server backups

Storefront

Shopify page builds, speed optimisation, product reviews, video pages, tracking tags and ongoing fixes

The admin panel: customers, tap and QR analytics, and Pro subscriptions.
How we work together

The habits behind a long partnership

One shared channel.

From day three, everything ran through a single WhatsApp group with both founders and our team. Questions got answered the same day, usually within the hour. Screens were shared as they were built, not at the end of a milestone.

Show, don't describe.

Every new module came with a short screen-recorded walkthrough so the founders could use it without a meeting. Bigger changes were demonstrated on a video call and tested together, live.

Test before live.

Once customers were on the platform, we set up a separate staging copy. New features go there first, get checked by SwiftLink, and only then move to production. Backups run before every significant change, so a problem can be rolled back in minutes.

Think ahead for the client.

Many of the platform's features started as our suggestions rather than requests: email notifications when someone connects with a customer, the connections export, tracking tap versus scan from day one, a staging server, and a security layer for a planned health-record feature that nobody had asked about yet. Stephen's response to that last one: “Love that you're thinking ahead with this.”

Be there when it matters.

When SwiftLink needed eight customer accounts set up for a corporate client who was waiting on a call, it was done in 15 minutes. When their email host migrated servers overnight and took their mail down, we had it back the same afternoon. When a customer in London needed a card assigned before a meeting, it happened before the meeting.

Results

What SwiftLink got

  • Core platform live in 30 days

    on the client's own infrastructure, with the first 2,000 production addresses generated on day 45 so manufacturing could begin

  • Built for the scale they asked about.

    A 10,000-address batch was tested before launch. There is no ceiling on the number of accounts, and new product lines are launched by generating a batch, not by writing code

  • One platform, every product.

    Business cards, metal cards, phone tags and social tags all run on the same system, and a customer can connect several to a single profile

  • A paying membership tier

    with recurring billing, live and processing subscriptions

  • SwiftLink runs it themselves.

    Adding a social platform, resetting a customer, creating a digital account, generating a batch or changing an icon all happen in the admin panel without a developer

  • No rebuilds.

    Every feature since launch has been added to the original codebase. The architecture chosen in week one is the one running today

  • A relationship that outlasted the project.

    SwiftLink's founders have since brought us other client work through their own businesses

In the client's words
“Ritik has been a very important part to our business, and has gone above and beyond in every aspect, picking up elements that we missed ourselves. At no point did he ever say no, he always answered with we will find a way. Extremely talented, fantastic communication skills, always answers very quickly. We will now be working with Ritik long term.”
Stephen Haley · Co-founder, SwiftLink

“Great thinking ahead Ritik as always.”

Stephen Haley · on the connect-existing-card flow

“Me and Ste checked the device adding section and it worked fantastic. Amazing. Well done.”

Sunnie Patel · Co-founder, SwiftLink

Building something with a physical product behind it?

SwiftLink needed software that could not fail, because every card leaving the factory depended on it. If you are building a product where the software has to be right the first time and keep growing afterwards, we should talk.

Book a discovery call

30-minute call · we reply within 1 business day · NDA on request.