JSD Space was still running on a lightly modified Shopify template.
Customers regularly contacted us with questions about fitment, installation, and finding the right product.
Will this fit my car? How do I install it? Do you have something for my model?
As a small business, we also could not provide live support whenever someone needed it. We eventually removed phone support because we could not reliably staff it throughout the day.
I started wondering if the store could answer some of those questions itself.
The numbers changed. The questions didn't.
The project started while I was investigating why the JSD Space website seemed to convert much worse than our marketplace channels.
At first, the Shopify funnel looked pretty bad.
Then I dug deeper.
A large amount of the apparent checkout activity came from abnormal Google and YouTube traffic that produced no purchases. Once I separated it, I could not use the original conversion rate as proof that the whole storefront was simply difficult to use.
The support messages still showed something useful.
I reviewed 17 usable conversations from customers who had contacted JSD Space for help. Compatibility, installation, returns, product discovery, and delivery questions kept appearing.
That did not tell me how common these problems were across every shopper.
But it did show that the same kinds of information questions were reaching us repeatedly.
I started with the faster fix.
The recurring questions gave me a smaller problem I could actually test.
Redesigning the storefront would mean touching much more of the shopping experience.
But many of the questions reaching us depended on information JSD already had.
So I started with a more focused intervention.
Could an assistant make some of that information available immediately instead of waiting for an email response?
The first version was mostly a mobile-first Figma prototype.
I designed a full chat overlay on mobile and a right-side panel on desktop so customers could keep the store visible while talking to it.
The early version already included quick actions, vehicle selection, product cards, and selected reference items.
Most of the data was still mocked.
I was mainly testing whether conversational support could actually feel like part of the store.

The early prototype already explored quick actions, vehicle selection, product cards, and reference items.
The hard part wasn't chat. It was context.
The first prototype made something obvious.
Building a chat window was not the hard part.
The harder problem was helping the assistant understand what the customer was talking about.
If someone was already looking at a product, they should not have to open the assistant, copy its name, explain what they mean, and then ask their question.
The product was already on the screen.
I took inspiration from Joshua Lucas's AI Mode work, where something already visible in the interface could become part of the prompt.
I adapted that idea to shopping.
An Ask AI action can open the assistant with that product already attached.
Customers can also deliberately select products inside the conversation, and multiple products can become context at once.
Now a comparison can start with:
What's the difference?
One early version automatically selected products whenever the assistant displayed them.
That felt wrong.
Seeing something is not the same as choosing to ask about it.
So I made context intentional.
A product can enter the conversation directly from the storefront, without making the customer explain what they are looking at.
Customers can attach multiple products and ask about them together.
The car was context too.
For JSD Space, knowing the product is only half of the question.
The other half is the customer's car.
A part that works for one Mustang generation may not work for another, so I built vehicle selection into the assistant too.
I first used AI-generated vehicle outlines because they let me get the interaction working quickly.
Once I saw them in the interface, I did not like them.
They felt too abstract.
I later moved toward full vehicle imagery and a more specific generation-based selection system.
This became the first version of an idea I would later expand much further in the JSD Space redesign.



The assistant needed to know when it didn't know.
Once I connected a real model, trust became much more important.
The assistant could sound confident even when JSD did not actually have enough information to confirm an answer.
For automotive fitment, that is a problem.
So instead of treating the model itself as the source of truth, I grounded it in JSD's own information.
General store answers come from a JSD knowledge base.
Product questions can pull live Shopify information through a read-only connection.
I also added guardrails around what the assistant should not do.
It should not invent compatibility, pricing, inventory, or policies.
It cannot access private customer information.
And if the available store data cannot confirm something, it should say that instead of pretending it knows.
If the store couldn't verify fitment, the assistant shouldn't pretend it could.
Figma stopped being enough.
I could design the assistant in Figma.
Making it actually answer customers was different.
I built the storefront experience into the Shopify theme and used a Vercel backend for the parts that should not live in front-end code.
OpenAI handled the responses, while Shopify supplied live product information through read-only access.
I used Codex and Claude throughout the implementation loop.
They helped me translate the Figma experience into Shopify code, connect the backend, debug responsive behavior, and work through edge cases.
That let me take the project much further than a prototype.
But the product decisions still came from me.
I decided how context should work, what the assistant could access, how desktop and mobile should behave, and where the assistant needed to stop instead of guessing.



I used Codex and Claude to close fidelity and behavior gaps while turning the design into a working Shopify experience.
Then it went live.
After about a month, the assistant went live on JSD Space.
Customers can ask about products, bring items into the conversation, compare them, check fitment and installation questions, and move from an AI recommendation back into the store.
People are using it.
I do not have a clean experiment yet that isolates what the assistant changed about conversion or support volume, so I am not going to claim one.
The result I can verify is simpler.
It is a real product, connected to real Shopify data, running on the live store.
Building the assistant also exposed things AI alone could not fix.
Vehicle context wanted to exist beyond the conversation.
Product cards became entry points into AI.
And the storefront itself still had broader problems I wanted to address.
A lot of the ideas I first tested here eventually moved into the larger JSD Space redesign that followed.
What started as a faster support experiment ended up changing how I thought about the store around it.