At Inxeption, a B2B industrial e-commerce startup, buyers paid upfront for products but received freight quotes later via Ops calls.
This delayed pricing caused order cancellations from sticker shock. When orders did proceed, incorrect delivery details led to unexpected fees that Inxeption absorbed to protect customer relationships, despite terms placing responsibility on buyers. These fees were causing the company to lose money on orders.
In two months, I designed a checkout-integrated freight quoting solution, collaborating with engineering and SMEs to connect product, location, inventory, and shipping data.
This feature eliminated extra steps and Ops calls, saving time and money for both buyers and Inxeption.
Order cancellations due to surprise freight costs dropped to zero.
Accurate delivery info prevented costly accessorial (post-delivery) fees to Inxeption.
Our Ops team validated the solution’s effectiveness.
Here's an overview of the final design in about a minute. Read on to learn about the journey and how I led the project forward.
In February 2024, leadership asked me to simplify and automate freight quoting so buyers could pay at checkout instead of afterwards. We hypothesized that upfront costs and more accurate data collection would address our pain points.
Interviewed logistics specialists to understand operations and constraints
Mapped data flows to align teams
Prototyped UI flows and led validation sessions with SMEs
Wrote detailed requirements for engineering and QA
I took on this project while juggling two other high-impact initiatives:
A redesign of product configuration, which was a core platform feature
I was the sole app designer at the time, and our junior PM was filling in after multiple departures. Company instability added urgency and uncertainty.
I conducted extensive interviews with our Ops team, the shipping and logistics specialists who manually handled freight quoting and booking. My conversations revealed that their expertise was largely intuitive, making it challenging to digitize their mental workflows.
Examples of decisions our Ops team made instinctively, which I had to figure out how to digitize:
Shipping mode (Less Than Truckload or LTL vs. Full Truckload or FTL) is based on linear footage—how much trailer space a shipment needs—and has a major impact on cost. Each mode also uses a different API. And because LTL cutoffs varied by carrier, we worked with Ops to standardize the logic.
Delivery dates vs. pickup dates create complexity: While buyers care about delivery dates (especially in construction where timing is critical), freight APIs and booking systems operate on pickup dates. Our Ops team would manually iterate through multiple quotes, adjusting pickup dates to meet delivery requirements, similar to optimizing airline bookings. Did Ops think this was necessary for MVP or was there a workaround?
Warehouse location affects pricing: While Ops could check an inventory spreadsheet, our code had to identify the nearest warehouse with inventory and handle edge cases like stock spread across multiple warehouses, no stock, or sellers not using the inventory feature. What would Ops do?
These are just three of the insights revealed through interviews.
Direct questioning (i.e., "Tell me how you do your job") often yielded incomplete or meandering information, so I adapted my approach to rely on recognition rather than recall. Presenting specific scenarios to react to revealed critical operational constraints that would have been missed otherwise.
Example: Optimizing pallet orientation to reduce linear footage could be harmful
I proposed automatically rotating pallets 90 degrees to optimize truck space and reduce costs. Through diagrams (above) showing a 53-foot trailer with standard 48" x 40" pallets, I illustrated how rotation could reduce linear footage from 16 feet to 13.3 feet, potentially saving money by qualifying for LTL rates instead of FTL.
Counterintuitively, logistics experts advised against automatic rotation to save money, explaining that warehouses may lack equipment to reorient pallets, and some products (like glass solar panels) cannot be safely stacked. This insight led to letting manufacturers specify stacking and turning capabilities, rather than making assumptions.
At project kickoff, the plan for obtaining API quotes at checkout was vague, partly due to resource constraints and a junior PM leading a complex feature.
I saw an opportunity to move things forward and quickly sketched a map connecting the key data dependencies, with the inputs for an API quote on the right and their sources in the checkout page on the left.
This lightweight approach helped me quickly identify gaps and drive early alignment without unnecessary polish.
I also used the diagram to walk the PM through how the quoting flow worked and to offer mentorship on PM practices, since he was still ramping up on both.
Armed with the plan above and domain knowledge from the Ops team, I moved onto design.
Input A: How do the items fit in the truck?
In the product configuration, I added a field to define the type of handling unit (such as a pallet) and a conversion field allowing sellers to specify N items per handling unit. I also clarified that the dimensions and weight fields applied to the handling unit, not an individual item, which was a point of confusion in past user feedback.
Based on interviews with Ops, I added flags to indicate if a handling unit could be turned and stacked. We had also worked with stakeholders and PM to standardize the cutoff between LTL and FTL, choosing a conservative linear footage of 15 feet and removing carriers with shorter cutoffs.
Together with the formula to calculate linear footage developed by our engineer, we had all the data to determine how much space a shipment would occupy and whether it should be quoted as LTL or FTL.
Input B: Where is the pickup location?
Our system selected the nearest warehouse with inventory, based on the buyer’s delivery location. But we also had to handle edge cases. Working with the Ops team, we made key decisions:
Not enough inventory at any one warehouse?
Choose the closest warehouse that could fulfill the bulk of the order. Sellers could either transfer inventory to that location or manage a split shipment behind the scenes.
Not enough inventory across all warehouses?
Block the order unless the product allowed negative inventory. If it did, show the closest warehouse with any stock.
No warehouses entered into the platform?
Default to the pickup location set in account settings.
Input C: What are the details of the delivery location?
To prevent costly accessorial fees, we collected key details like delivery location type (e.g., residential, construction site, business). We then enforced location-based requirements. (Screenshots in section "Iterative refinement" below.)
For example, if a truck arrived at a school site without requesting a pallet jack, the driver might have to return to the warehouse, bring a pallet jack, and redeliver, increasing the cost. To avoid this, we required a pallet jack for destinations where heavy items couldn’t be moved without one.
Now that we could capture all the data for freight quoting, we needed to map data sources to the APIs. While our engineer understood the data flow, I created a numbered, color-coded diagram to help QA and future collaborators. It mapped every UI input to the existing logistics quoting fields, assuming those already aligned one-to-one with the APIs.
Once all API data sources were identified, I designed the experience of requesting quotes and viewing responses. Since dozens of results could be returned, I needed to prevent analysis paralysis while still offering choice, especially for buyers who avoid certain carriers due to past experiences.
We explored several models, including expandable sections and showing the top three cheapest and fastest options. Ultimately, we streamlined the interface to show just the cheapest quote, the fastest quote, and an invoice option for complex cases. Our reasoning: most buyers either want the fastest or cheapest shipping; those with special needs could pay for the product now and coordinate shipping later with Ops.
I also designed solutions for multiple edge cases to ensure a clear user experience:
Single quote scenarios: Hid the redundant "cheapest/fastest" labels
No quote scenarios: Graceful fallback to "invoice me" with an explanation
Expired quotes: Preserved form data to request a new quote, similar to airline bookings
Mixed product types: Prevented quotes for more than one item type while allowing purchase completion
Partial pallet quantities: Handling scenarios like 418 pumpkins (between 4 and 5 pallets) without blocking purchases
I designed corresponding seller interfaces to show the selected quote and enable one-click booking, streamlining the handoff to fulfillment. I also added a link back to the order for context, an enhancement that benefited all quote pages.
With my understanding of the whole system, I also updated a dozen "downstream" pages affected by this feature. Below is a small selection.
To ensure accurate implementation, I authored multiple supporting documents:
Requirements specifications: Screen-by-screen breakdown of all changes and new functionality documented in over 10 specs, in collaboration with the lead engineer.
Data mapping: Color-coded diagrams showing how each input field connects to the API, shown earlier.
Testing calculator: Tool for QA to understand LTL vs. FTL logic without attending all design discussions.
I collaborated closely with Engineering and stakeholders throughout implementation, resolving issues via async communication and targeted meetings.
Example: During development, we discovered that outdated shipping destination fields were incompatible with the new APIs, causing incorrect destination data and costly accessorial fees.
I had already begun redesigning that section, which was slated for post-MVP implementation, but I quickly finished the design, aligned with stakeholders, and documented the changes for Engineering and QA. These updates were successfully included in the MVP.
This experience reinforced the importance of uncovering dependencies earlier in the planning process.
Zero order cancellations due to surprise freight costs.
Eliminated accessorial fee losses through accurate data collection.
Reduced Ops workload by removing manual quoting calls.
Improved buyer qualification as upfront pricing filtered out price-sensitive customers.
Our Ops team, who served as subject matter experts throughout the process, confirmed that the solution provided a competitive advantage in B2B e-commerce while accurately reflecting their operational needs.
Scenario-based research proved more effective than direct questioning for extracting operational knowledge.
Comprehensive edge case planning prevented user frustration and revenue loss.
Cross-functional documentation accelerated development and QA processes.
MVP scoping discipline enabled delivery despite competing priorities and organizational instability.
This case study demonstrates my ability to translate complex operational requirements into intuitive user experiences while managing technical constraints and business priorities in a resource-constrained environment.