Case study · E-Commerce & Marketplaces

Letting gift recipients choose, at marketplace scale

Gratofy is a gifting marketplace where recipients choose their own gift from Shopify and WooCommerce stores. National Digital built it on Laravel and Nuxt.

  • Laravel
  • PHP 8
  • Nuxt
  • Vue
  • Shopify API
  • WooCommerce
  • Stripe
✓ Verified Review

“National Digital have been pivotal partners in the scope and build of our platform. Their technical expertise and collaborative approach made our marketplace vision a reality.”

Stefanie Carniato Founder & CEO at Gratofy

Full inventory sync

What connecting a supplier store pulls across

10k+

Products recipients can choose from

Recipient

Chooses the gift - the sender only funds it

At a glance

Industry
E-Commerce & Marketplaces
Engagement type
Platform build
First release
2024
Team
National Digital engineering team

About the client

Gratofy is a gifting platform that lets each recipient choose the gift they want, which it calls the Gift of Choice. Its founder, Stefanie, started it after seeing too many gifts end up in the rubbish or collecting dust. Gratofy serves people gifting to family and friends as well as companies gifting to staff and clients.

The challenge

Corporate gifting lacked personalisation, wasting budget on unwanted items while companies coordinated gift campaigns by hand across diverse recipient preferences and budgets. Running that at any scale also meant keeping tens of thousands of products from independently managed Shopify and WooCommerce stores accurate on price, availability and tagging, without a person checking them.

What we built

A custom gift marketplace that aggregates Shopify and WooCommerce catalogues behind one browsing experience, wrapped in a campaign engine handling recipient lists, branded invitations, reminders, expiry and refunds. Senders fund a budget; recipients choose their own gift from tens of thousands of products.

  • Shopify and WooCommerce catalogue aggregation
  • Webhook-driven product, price and availability sync
  • Campaign engine: launch, recipients, reminders, expiry, refunds
  • Gift-budget funding and redemption flows
  • Stripe payment authorisation and settlement
  • Centralised product pricing and tagging across stores
  • Role-based access for merchants, clients and administrators

The stack

A Laravel API with a Nuxt front end; catalogue ingestion from Shopify and WooCommerce with webhook-driven product, price and availability updates; a campaign lifecycle covering launch, recipient invitation, reminders, expiry and refund; Stripe payment authorisation and settlement; centralised product pricing and tagging across stores; and role-based permissions separating merchant, client and administrator access.

Channels & edgeSender & recipient apps

API & integrationShopify, WooCommerce

Applications & workflowsNuxt marketplace UI

Data platformLaravel back end

Hosting & deliveryMonitoring, backups

The outcome

The marketplace removes the wasted spend and manual coordination that corporate gifting previously required. Campaign administration that would otherwise be a spreadsheet and a mail merge - who was invited, who has redeemed, who needs reminding, what is left to refund - now runs as platform workflow.

Where it went next

The platform was built so that each new Shopify or WooCommerce store joins the same webhook-driven sync without bespoke handling.

This case study describes real work delivered by National Digital for Gratofy.

Key Takeaways

Recipient choice needs a catalogue and a campaign engine

  • Recipient-choice gifting only works when the marketplace catalogue stays accurate.Critical

    Tens of thousands of products come from independently managed Shopify and WooCommerce stores. If price or availability drifts, a recipient picks something that cannot be fulfilled. Webhook-driven sync updates the marketplace each time a store changes.

  • Aggregating two store platforms behind one experience needs integration work beneath the interface.Critical

    Each platform needs its own catalogue ingestion and webhook handling. Behind those integrations sits one catalogue, so recipients see a single range of products and a new merchant changes nothing about how recipients browse.

  • Corporate gifting runs in campaigns, so the platform is built around campaigns.Critical

    Each campaign has a launch, a redemption period and an expiry. The platform records who was invited and who redeemed, so a client company can see where a campaign stands without tracking recipients by hand.

  • A funded gift budget needs a different payment model from a retail checkout.Important

    A sender commits money before anyone has chosen a gift, and the final spend depends on how many recipients redeem. The payment flow follows each campaign from authorisation through settlement to refund.

  • Central pricing and tagging keeps a multi-store catalogue coherent.Helpful

    Retail rounding, tagging and price updates are applied across every connected store from one place, so products from different merchants present consistently to a recipient choosing between them.

Gratofy lets gift recipients choose their own item across aggregated Shopify and WooCommerce catalogues, wrapped in a campaign engine that handles invitations, reminders, expiry and refunds.

Questions decision-makers ask about this build

How does the marketplace keep tens of thousands of products accurate?

Connected Shopify and WooCommerce stores push changes through webhooks, so a price change, a stock change or a delisting reaches the marketplace when it happens. Products that go inactive in a store are deactivated in the marketplace, so recipients cannot choose them. Pricing and tagging are applied centrally across stores.

Why aggregate two different e-commerce platforms?

Merchants already sell on one platform or the other, and asking them to migrate would discourage them from joining the network. Shopify and WooCommerce model products, variants and inventory differently, so the marketplace normalises both into a single catalogue. A recipient browsing never sees which store a product came from.

What does the campaign engine actually do?

A company loads a recipient list and launches a campaign. From there the platform sends branded invitations, tracks who has redeemed, reminds those who have not, closes the campaign at expiry and refunds unspent budget. The client company supplies the recipients and the budget, and the platform runs each step after launch.

How does payment work if the recipient chooses later?

The sender funds a budget and does not buy a specific item. Money is authorised against the campaign and settled as recipients redeem, and unspent budget is refunded when the campaign expires. Reconciliation therefore happens at campaign level, where a standard checkout reconciles each order. The flow also has to handle campaigns in which some recipients never redeem at all.

Who can see what on a multi-sided marketplace?

Access is role-based, separating merchants who supply products, client companies running gift campaigns, and administrators operating the marketplace. A merchant sees their own catalogue and orders, a client sees their campaigns and recipients, and neither sees the other's commercial data. The permission model enforces those boundaries for each of the three roles.

What is the stack behind it?

The back end is a Laravel API on PHP 8, and the front end uses Nuxt and Vue. Shopify and WooCommerce integrations handle catalogue ingestion and webhook updates, Stripe handles payment authorisation and settlement, and role-based permissions separate merchant, client and administrator access. Scheduled and queued commands run catalogue sync, campaign launch and expiry, reminder notifications and refunds.

More client work

What's next

Building a multi-store marketplace?

Gratofy aggregates Shopify and WooCommerce catalogues behind one recipient-choice experience. If you're weighing something similar, see our work on e-commerce platforms, Shopify integration and WooCommerce development.

Want a platform like this for your business?

Tell us what you're building. We'll come back within one business day with what we'd do first and what it would take.