Custom Shopify App Case Study: Ansandra
A gift registry with its own internal currency, where a guest either buys a specific gift or contributes credit that holds its value regardless of prices.
This case study covers a premium e-commerce platform where customers build gift registries for events and receive gifts two ways: as items or as store credit. The credit mechanic is a separate system on Laravel with its own database and business logic, tied to Shopify through middleware, with the admin interface embedded inside Shopify itself. At the start of development the platform held 153 registries. Eight months later it held more than a thousand.
Registries up more than sixfold in eight months
Ansandra sells premium brands, but its defining feature is the gift registry. Customers create an event, such as a wedding, choose the gifts they would like to receive, and share the registry with their guests. Guests can either purchase a specific gift or contribute credit to the registry.
That credit is more than a simple wishlist status. It works as an internal currency that can accumulate, move between registries, and retain its value even when product prices or market currencies change.
Standard Shopify has no native concept of registry credit or an internal currency. So the project was never just about building a gift-list interface. We built a separate system with its own backend, database, business logic, and calculations, then integrated it directly with Shopify.
This architecture allowed the registry to operate as a fully independent financial layer while remaining connected to the Shopify store and its products.
Ansandra
Premium e-commerce, luxury goods and gift registries
Bethesda, Maryland, United States
Shopify
The platform is owned by Sandy and Tracy, a mother and daughter. Their requirement was stated simply: simplicity for them, simplicity for users. None of the mechanical complexity was meant to reach either.
They create a registry for a wedding or another celebration, choose gifts and manage dates and contents.
They give an item from the list or contribute credit to the registry.
They manage registries, discounts and currency from the embedded admin, without a developer.
A currency the platform does not have
Internal credit is not a discount, not a gift card and not a customer balance in the usual sense. No such entity exists in Shopify’s data model.
Credit has to live on its own terms
It accumulates, transfers between registries and keeps its face value regardless of how product prices or currencies move. Tying it to the price of a specific item was not an option.
Two ways to give, one registry
A guest chooses between buying a specific item and contributing credit, and both paths have to converge in the same registry and the same calculation.
Calculations that do not map onto Shopify
The credit math turned out to be the hardest part of the project and combined poorly with the platform’s native calculations.
Two systems, one picture
Data lives both in Shopify and on a dedicated backend, and both sides have to see the same state at the same moment.
Complexity the owners never see
The mother and daughter running the platform were not supposed to meet any of the above in their daily work.
How our team worked
A separate backend for credits
The credit system runs on Laravel, hosted separately, holding its own database and business logic including the calculations.
Middleware with continuous reconciliation
Data is held both in Shopify and on the backend, with a dedicated layer reconciling the two continuously. That gives precise control over how and when data updates, and removes the risk of the systems drifting apart.
Registries and discounts on the Shopify side
Registries live in Shopify, split by type, with their discounts alongside them. An administrator can also create a registry manually on request from the site.
Admin embedded in Shopify
Management sits in two embedded interfaces, Credit Registry and Registry Dashboard: registry sales, active sales, users, upcoming registries and the split between public and private ones.
Currency managed from the dashboard
Credits are configured and managed from the same admin, and users spend them on products.
Mode selection at registry creation
When creating a registry, the user chooses whether gifts arrive as purchased items or as store credit.
Credit that does not lose its value.
An ordinary gift list is bound to products, and any price change breaks its logic. Here a guest does not contribute the price of a vase, they contribute credit to the registry. That credit holds its face value, pools with other contributions and can be carried to another registry.
Making that work meant moving the credit mechanic into a separate backend with its own database and calculations. The data lives in both systems at once, and the middleware reconciles them continuously so that Shopify and the credit platform never disagree about how much sits on a registry. To the platform owners, all of it appears as one figure on a dashboard.
What changed after the build
Beyond the numbers:
Credit works as a first-class entity
It accumulates, transfers between registries and stays unaffected by price and currency movement.
Two systems hold one state
Continuous reconciliation between Shopify and the credit backend removes data drift.
Owners run the platform themselves
from the embedded admin, manual registry creation included.
What these numbers do not prove
Registry count moves with more than the app: platform marketing, wedding seasonality and the brand mix all affect it. The app made the credit scenario possible and manageable.
| Metric | Value | Period | Source |
|---|---|---|---|
|
Registries |
from 153 to more than 1,000 |
eight months |
platform dashboard |
|
Registry sales |
around $2M |
2026 |
platform dashboard |
A Shopify store that needs its own internal currency or credit system
A platform built around events: weddings, birthdays, corporate gifting
A business whose calculation logic does not fit native discounts and gift cards
An owner who wants complex mechanics managed from the familiar Shopify admin without learning how they work
Credit belongs to the registry rather than to a customer, pools contributions from several guests, transfers between registries and keeps its face value regardless of product prices or currency movement.
Credit calculations combine poorly with the platform’s native mechanics. A dedicated database and business logic gave precise control over how and when data updates.
In both systems. Registries, their types and discounts sit on the Shopify side, credit data and calculations on the dedicated backend, with middleware reconciling the state between them continuously.
The catalog, the sales, the registries themselves with their type split, and the discounts attached to them. Plus the admin, embedded in Shopify as an app.
Yes, on request from the site, directly from the admin.