Configure lens catalogs, rules, and storefront Rx flows—without complexity
Model materials, types, packages, and prescription types in one place—aligned with how you actually sell lenses.
Encode availability, pricing, and recommendations with conditions and actions shoppers never have to think about.
Guided lens advisor flows on the theme, checkout-aware summaries, and a path from browse to cart that stays on brand.
Rows below reflect features implemented in this repository. They are not a copy of third-party app scorecards.
| Capability | In this app | Compared to typical lens-only apps |
|---|---|---|
| Prescription capture & validation | ||
| Guided storefront Rx wizard | Theme app extension and lens-advisor scripts on the PDP (configure steps, prescription types, and lens path). | Many apps add a form widget; fewer pair the same logic with your full lens catalog and server-driven steps. |
| Prescription file upload | App-proxy upload to configured storage — JPG, PNG, GIF, or PDF up to 5 MB (server must have upload configured). | Upload flows vary; here upload shares the same app stack as the rest of Rx (not a disconnected iframe vendor). |
| Server-side Rx value checks | POST validate-prescription uses admin-configured ranges (min/max/increment) including PD and monocular PD where configured. | Client-only validation is common; this keeps range rules aligned with what merchants set in Admin. |
| Optional prescription OCR | App-proxy OCR route exists for supported storefront flows when enabled (depends on server configuration). | OCR is often a separate vendor or manual re-key; offering it on the same path reduces handoff friction when configured. |
| Lens catalog, pricing & rules | ||
| Lens catalog in your data model | Prisma-backed materials, types, packages, addons, and pricing grids managed from the embedded app. | Fixed vendor SKUs are common; this app is built to model how optical teams already merchandise lenses. |
| Storefront rule check | App-proxy rule-check API evaluates the same rule logic the storefront needs for options and flow. | Simpler apps often hard-code upsell paths; rule-check keeps storefront behavior consistent with Admin. |
| Checkout, cart & fulfillment surfaces | ||
| Cart Transform line merge | Shopify Cart Transform extension merges related frame/lens lines when your checkout settings enable it. | Line-item property–only flows often leave split charges; merge semantics need first-class checkout support. |
| Checkout Rx summary | Checkout UI extension surfaces lens / prescription summary at checkout when deployed. | Many lens tools stop before checkout; shoppers lose context at the worst possible step without a checkout surface. |
| Admin order lens details | Admin order extension shows Mobikasa RX wizard data on the order for fulfillment teams. | Export-to-spreadsheet workflows are common; in-admin visibility reduces operational drag. |
| POS prescription capture | POS UI extension captures prescription selections for in-store selling when installed. | Web-only lens tools do not cover retail associates; POS parity matters for omnichannel optical. |
| APIs & platform | ||
| Storefront JSON over app proxy | Public app-proxy routes under `/public/api/...` and `/api/rx-lens-advisor/...` aliases for theme and storefront clients. | Black-box widgets often hide data behind opaque hosts; your storefront can call documented JSON endpoints here. |
| Embedded admin + durable sessions | Shopify embedded app with OAuth and Prisma session storage (see README for setup). | Same baseline as other Shopify apps; optical-specific value is in the domain models above, not reinventing auth. |
Install on your Shopify store and approve the scopes your team needs.
Set up lens data and rule sets so the right options surface for each product and prescription.
Enable the prescription experience for customers; iterate without redeploying core storefront code.
Use your .myshopify.com domain. You'll be redirected to Shopify to approve access.