Private Shopify Portal Case Study: Goswick Eye
Patients see only the lenses their doctor prescribed, order for themselves and their family, and the order reaches the distributor without clinic staff touching it.
This case study covers a private Shopify portal for ordering prescription contact lenses. It connects an eye care practice’s patient and prescription data with a distributor’s catalog, family accounts, insurance credits, volume discounts and automated fulfillment. Development started in March 2026 with launch planned for September 2026. Final UAT with the distributor is underway.
The project used Shopify and Shopify API, with Gadget and AWS as part of the application infrastructure.
orders and roughly $2M moving from a third-party platform to an owned one
Goswick Eye is an eye care practice with more than seven locations across Massachusetts and New York, serving around 15,000 patients a year.
Online lens ordering has run on Dr. Contact Lens, a third-party platform, which has processed over 5,000 orders worth roughly $2M. The practice does not own that platform, and along with it does not own the branding, the patient experience or the data.
The project moves that channel onto a private Shopify store the practice owns, and automates the chain end to end, from prescription sync to distributor shipment.
Goswick Eye
Optometry, prescription contact lens retail
United States, Massachusetts and New York, more than seven locations
Shopify
The practice is co-owned by Dr. Christopher Goswick, optometrist, and Emily Goswick, licensed optician. The catalog holds 166 products from 16 contact lens manufacturers with a large number of variations. Running the portal requires syncing more than 12,000 records from the practice’s electronic health records.
They order the lenses their doctor prescribed, without calls or email threads.
One account, several patients, each with their own prescription.
They assign insurance credits, manage prescriptions and accounts, and watch the state of the sync.
A catalog gated by prescription
The portal is private and login-only. A patient sees not the assortment but the lenses matching their current prescription. With no active confirmed prescription, no order is possible.
Families sharing one email address
Parents and dependents often use the same address, yet each holds a separate prescription. Authentication had to be separated from prescription ownership.
Product attributes Shopify variants cannot express
Lenses carry parameters that must match precisely: the specific eye, the specific manufacturer, the specific product type.
Three discount mechanics in one checkout
An insurance credit as a fixed dollar amount, a volume discount on an annual supply, and a manufacturer rebate whose terms differ per brand and per product group.
Entities Shopify does not have
Prescriptions, patient-to-family links, insurance credits and deductions do not map onto native platform objects.
Fulfillment on the distributor's side
Orders must reach shipping automatically, with statuses coming back to the patient.
Private portal with family accounts
The account holder signs in, selects themselves or a linked family member, and orders in one interface.
Prescription screen and product matching
Patient and prescription IDs, issue and expiry dates, status, prescribing doctor and separate parameters per eye. Data arrives through Spesso, after which the app matches the prescription to a product from the distributor’s catalog by its attributes.
Insurance credits through the admin
Staff assign a patient a fixed-amount credit, and the patient applies it at checkout. This used to be handled by hand, phone calls included.
Manufacturer rebate calculation
Rebate logic is configured per manufacturer. The patient sees whether their cart plus the year’s purchases reach the rebate threshold, and how far short they are if not.
Administration and sync health check
The app shows patients, family links, prescriptions and vision plan history, along with when the last sync ran, how many records processed per entity, and what failed.
ABB Optical Group integration
Product, price and variant retrieval, order dispatch and delivery status updates all run automatically through the distributor’s API.
Full automation over a semi-manual scheme
Both were on the table in the original proposal. We took the full one: no manual prescription entry into Shopify and no manual dispatch of individual orders.
The existing Spesso layer over a direct EHR integration
Spesso is an integration and normalization layer between the practice’s electronic health record system and Shopify. It already existed and needed only extension. That saved budget and added normalization: Shopify receives clean patient, prescription and product data rather than raw clinical records.
A custom embedded app over the Shopify admin
The native admin cannot handle prescriptions, family links or insurance credits. Clinic staff got an interface with a full set of operations on those entities.
Automated distributor integration over manual order entry
At the start it was unclear whether the distributor had a usable API, so manual fulfillment stayed in the architecture as a fallback. The distributor prepared their side, and the fallback was dropped in favor of full automation on a dropshipping model.
A prescription becomes a shipped order with no manual step anywhere
The prescription is written at the clinic and lands in the health record. From there Spesso delivers it to the portal already normalized, the app matches it to a product in the distributor’s catalog, checks the expiry date and shows the patient exactly what they were prescribed. The patient picks a quantity, sees the insurance credit, the volume discount and the rebate status at checkout, pays, and the order goes to ABB Optical Group for shipping. Delivery statuses come back.
At no point in that chain does a staff member type anything in.
The portal launches in September 2026, so production numbers do not exist yet. What stands as of final testing:
The channel leaves the third-party platform
Over 5,000 orders and roughly $2M in volume move to a system the practice owns, along with the branding, the patient experience and the data.
12,000+ records synced
Patients, prescriptions, family links and insurance credits flow into Shopify through the normalization layer, with sync state monitored.
166 products from 16 manufacturers
mapped to prescription parameters.
Three discount mechanics run in one checkout
alculated automatically.
A multi-location optometry practice sitting on someone else’s lens ordering platform and wanting its own
A business that needs catalog access gated by customer data, medical or otherwise
A seller whose products carry attributes that do not fit standard Shopify variants
A store where one person orders for themselves and for family members, each under their own rules
A seller combining individual credits, volume discounts and external manufacturer cashback
A company handing fulfillment to a specialized distributor
Prescriptions, Ordering and Automated Fulfillment
Not yet. Development began in March 2026, launch is planned for September 2026, and final testing with the distributor is running now.
No. The portal is private, and viewing a product requires an active prescription. Patients see what they were prescribed and cannot select anything else.
Yes. After API integration, ABB Optical Group receives orders and ships them directly.
Through Spesso, an existing integration and normalization layer between the practice’s electronic health record system and Shopify. The store receives clean data rather than raw clinical records.