One record
Checkout is the easy 5%. The hard 95% is where bolt-on storefronts break.
An order has to be paid, allocated against real stock, picked, shipped, invoiced, and reconciled — and when a storefront is bolted on as a separate stack, each step turns into a sync, a middleware hop, or someone re-keying. oozmi keeps storefront, catalog, orders, inventory, customers, and books on one operating record, so nothing drifts and nothing gets re-keyed. Change a price once and it’s what the store shows, what an order captures, and what an invoice posts — and because everything reads that record, the store also stays fast, personalizes per segment, and edits live.
What the storefront does
Five things that fall out of one record.
Performance
Lightning fast: a runtime that sends exactly the data and code each visitor needs, and runs their next click before it happens — Lighthouse 96 / 84.
Recommendations
A recommender that retrieves, ranks, and re-ranks on the live model — never out-of-stock, margin-aware, segment-aware.
Editable storefront
Change anything in the visual Builder or by plain-language chat, with the SEO module keeping every publish search-ready.
Personalization
Segments built in CRM decide each customer’s hero, components, recommendations, and price — same URL, different store.
Discounts in clicks
Stacked, tiered, segment-scoped, time-boxed, budget-capped discounts in about five minutes, not two days of dev work.
Performance
Lightning fast — so the store sells more and ranks higher.
Speed here is proprietary technology, not a tuning pass. Our runtime sends a visitor exactly as much data as they need over the network, runs exactly the code their screen needs, and predicts their next interaction so it’s already done before the tap lands. For a shopper that’s a smoother experience; for the business that’s more completed sales and a higher place in search. laguna.rs sits at Lighthouse 96 desktop, 84 mobile, untuned, on heavy per-segment pages.
Three things our runtime does that a bolt-on storefront can’t
Sends exactly the data
Each response carries only what a screen needs — never a generic payload trimmed later in the browser.
only what’s on screenRuns exactly the code
Only components actually on a page parse and execute. Unused code never reaches the browser.
no dead JavaScriptPredicts the next move
It runs a visitor’s likely next interaction before it happens, so the next view is already there.
prefetched & precomputedBetter performance is better UX — and better UX is more completed sales and a higher place in search. All three come from the same runtime: less sent, less run, the next view already there.
Recommendations
Recommendations that already know what’s in stock, what it costs you, and who’s looking.
Bolt-on engines learn from a laggy copy of your events, so they happily push a sold-out title or your thinnest-margin one. oozmi’s recommender retrieves, ranks, and re-ranks on the same live model the store, warehouse, and ledger already share — blending this session’s clicks with a buyer’s whole history, filtering to what’s on hand, and biasing toward margin and the CRM segment the rest of this page uses. Same record, no event pipeline, no nightly export.
- retrieval → rank → re-rankthe shape best-in-class systems use: pull many candidates, score them with a learned ranker, then apply business rules.
- trained & served on the live modelno reverse-ETL, no event lag — the recommender reads the row the order just wrote.
- inventory-, margin-, segment-awarenever shows out-of-stock, can bias toward margin, and uses the same CRM segments.
Editable storefront
Edit the storefront in the Builder, or just tell it what to change.
Every part of the storefront is editable in a visual Builder — or by typing the change in plain language and letting the assistant make it. Either way the SEO module checks what you publish before it goes live, so anything that ships already follows the rules a search engine rewards. No deploy, no developer in the loop.
- Metadata written for you — titles and descriptions, every page
- Clean, stable URLs — no broken links when you re-merchandise
- Structured data on by default — products, prices, and reviews readable by search
Put the summer sale hero on the homepage for trade accounts only, until Sunday.
Done. Live for the Trade accounts segment through Sunday 23:59. SEO check passed — metadata, headings, and structured data are clean.
Personalization
Two customers open the same URL and see two different stores.
Segments built in CRM decide what the storefront shows: a different hero slide, different components, different recommended products, and a different price — the one their tier already earns. It’s the same group the campaign sends to, so the page a customer lands on already matches the offer that brought them. Segments go as granular as you can describe a customer.
- This week’s bestsellers
- Staff picks
- Items you reorder
- Bulk-ready titles
- From your wishlist
- New from authors you follow
Same page, same URL. The segment decides the hero, the components, the recommendations, and the price.
Discounts
A discount that used to take a developer two days now takes about five minutes.
Stacked, tiered, segment-scoped, time-boxed, budget-capped — even the discount that meant a ticket and two days of dev work is a few toggles on the record. You set who it’s for, what it does, when it runs, and what it can spend; the storefront prices it at checkout, no coupon code. At Laguna, even the most complex discounts — several sets of rules and rewards combined — now take about five minutes to set up instead of 2–3 days.
- WHOTrade accounts
- WHATBuy 3, pay 2
- WHENUntil Sunday
- CAPMax €5k budget
- STACKStacks with loyalty
Priced at checkout — no coupon code, no promotion engine to reconcile against the catalog later.
Bring one order that falls apart after checkout.
The one that needs a stock check, a manual allocation, and a re-key into finance. We’ll run it through one record in front of you and show you what stops being a sync and starts being a single write — back office included.