§ Case study · Performance · 2018–2019
The CEO and General Manager of Bond Manufacturing didn’t ask me to redesign a website. They asked a harder question: how do we make the outdoor umbrella program more profitable? The website turned out to be the visible five percent of the answer. The rest was a business model — and to get there I ran five separate research efforts, each answering a different question, each pointing at a specific decision.
Bond sold most of its umbrellas through Amazon, Lowe’s, and Home Depot. Distribution was solved. Margin wasn’t. Every sale carried wholesale pricing, retailer fees, and a product page Bond didn’t control and couldn’t use to explain why one umbrella was worth more than another.
Two findings sat underneath the whole project before I drew a single screen. Margin was being eaten by the retail channel — so the decision was to build a direct-to-consumer brand, Performance, that sold straight to the customer and owned the storytelling. And the finished-goods model was rigid and expensive — Bond bought and resold fully-assembled units through a third-party chain — so the decision was to move toward modular assembly: source components directly, build and ship final configurations from Bond’s own warehouse. Those two business findings shaped everything downstream, including the product itself.
I pulled thousands of reviews from Amazon, retailer pages, and social, and clustered them by failure mode in Python. Almost none were random. They were the same product failing in the same predictable ways. And critically, I separated complaints about Bond’s own products from complaints about competitors — I needed to know where we were structurally weak and where there was an opening, not just generic customer pain.
Three failure modes dominated, and each drove a specific product decision:
One more finding ran through all of these: buyers had no confidence the product fit their environment, because the retail listings gave them size, color, and price — none of which predict survival. That finding is what justified the entire recommendation engine.
A separate question: when the product was wrong, why? The reviews and interviews showed people choosing by photo — an umbrella that looked big in the listing didn’t cover the table, or the sun moved and the coverage didn’t. Finding: customers weren’t shopping for an umbrella, they were solving a scenario — patio dining, a pool area, a small balcony, commercial seating, a backyard lounge — and the catalog grid made them translate that into specs on their own.
Decision: the guided flow starts from the use case, not the product grid. Tell the site what you’re shading and how it’s used, and it works backward to size and coverage — and explains why, instead of dropping you into a wall of SKUs.
The review research told me what fails. This stream told me where. I started from all 74,022 US ZIP codes, collapsed roughly twelve thousand duplicates that shared the same post-office meteorology down to about 42,000 unique climate locations, then scraped up to ten years of history per ZIP from Weather Underground — about 120 GB of raw data across six dimensions: UV, wind, precipitation, average wind, drought, and severe-storm probability.

Decision: enter a ZIP, and the builder drafts an umbrella for that exact climate — fade-resistant canopy where the UV is brutal, aluminum and rust-resistant hardware where it’s humid, a heavier base and stronger frame where it’s windy — and tells you why each part was chosen. An interactive weather map made the logic visible: the same umbrella isn’t equally suitable for Arizona, Florida, the Pacific Northwest, or the coast, and the map showed customers why their recommendation differed.
This one happened off the screen, with engineers — including overseas manufacturing partners — and component suppliers. I worked through canopy fabrics (acrylic vs polyester and other outdoor materials), frame materials (steel vs aluminum vs rust-resistant alternatives), hardware (the screws and connectors that were rusting), and bases (weight, pole, stability, and what each does to shipping cost).
Two decisions came out of it. First, the failure modes from stream 1 had concrete material answers — aluminum over rust-prone steel, better hardware — and those became selectable, climate-driven options rather than a fixed bill of materials. Second, and bigger: a damaged canopy used to mean replacing the whole umbrella. Treating the product as interchangeable components — canopy, frame, base, hardware, accessories — made it repairable, cheaper to stock, and assemblable to order in Bond’s own warehouse. I contributed to the cost-reduction strategy here by reframing the product as a modular system instead of a finished-goods catalog; the final sourcing calls stayed with operations.
Wind wasn’t a comfort problem. It was a liability one. There are real cases of patio umbrellas becoming projectiles in a gust — killing pets, damaging property — because the base was chosen for the product instead of the place. A nine-foot canopy that’s fine in still air is a sail at 25 mph, and the base that holds it down in a calm backyard won’t hold it on a windy coast. The single most dangerous variable in the whole catalog was base weight, and the entire industry was guessing at it.
So I refused to leave it to a heuristic and ran it as engineering. I designed and organized a virtual wind-tunnel program in SolidWorks Flow Simulation, modeling airflow over each umbrella geometry and computing the lift and overturning force across a range of gust speeds — as a function of canopy size, shape, and rib count.

Finding: the base weight needed to keep an umbrella stable isn’t a single spec — it’s a function of the canopy geometry and the local wind. Decision: compute the minimum safe base weight per geometry per wind profile, and drive it from the ZIP. A high-wind location gets a heavier base, required, with the safety reason shown. This is the one part of the recommendation engine I would never let a heuristic guess — getting it wrong is exactly how these products hurt people.
The simulations pointed at a structural improvement too: a denser fiberglass-rod (GFRP) tensioning configuration that damps gust energy better than standard steel, lowering the force the base has to resist in the first place. This closed the loop back to stream 3 — the climate data says how windy a place is; the CFD says what base weight, and what structure, that wind actually demands. The wind recommendation wasn’t copy. It was the output of the simulation.
Every stream converged on the same shape: the umbrella had to be a system of parts, and the store had to be that system made visible. I designed it as a modular product — canopy, frame, base, hardware, accessories — resolving to over 20,000 valid configurations from 436 parts. The same parts list the customer assembled on screen was the list the warehouse pulled to build the order.

The 3D layer was built in Blender4Web — rare for a WooCommerce storefront in 2019, and not there to show off. It let the buyer see the exact configuration the research had steered them to. The 2019 player still runs:
The Performance storefront went live: the owned DTC platform, the modular 436-part catalog, the ZIP-driven recommendation engine on a decade of US weather data, the use-case guided flow, the 3D configurator, the CFD-computed safe-base-weight logic, and the GFRP structure that came out of the SolidWorks work.

Then Bond was sold, and I moved on. I’m not going to invent a conversion lift or a margin number I never got to measure — the company changed hands before the data existed. What I can stand behind is concrete: five research efforts that each produced a decision I can trace, a shipped DTC platform, a modular configurator wired to a real supply chain, a recommendation engine built on 120 GB of climate data, and a structural product change that came from running the physics instead of guessing at it.
Blender4Web is effectively dead now; I’d rebuild the 3D layer in React Three Fiber and ship the configurator state straight into the cart, so the warehouse reads an assembly order with no translation. I’d instrument the funnel from day one — ZIP entry, recommendation accept-vs-override, configurator-to-cart by climate segment — and A/B the guided flow against a plain catalog. And I’d wire the SolidWorks output into the recommendation engine directly, so a new umbrella geometry benchmarks itself and surfaces for the right climates automatically. In 2019 the job was to ship. In 2026 the job would be to prove it.
The original 2019 case is on Behance — 9.4K views, 1.6K appreciates.