Building Frontiersmen 5.0: Shopping Carts, 60,000 SKUs, Two AIs and Carol Telling Me to Go to Bed
Building Frontiersmen 5.0
Shopping carts, 60,000 SKUs, two arguing AIs, a future in-house AI named FRANK—and Carol telling me to get off the computer and go to bed.
- Current redesign
- Version 5 The largest Frontiersmen website undertaking to date
- Distributor access
- ≈60,000 SKUs Useful only after MAP, MSRP and product data are verified
- Recent nights
- Past 2:00 AM Multiple nights this month, much to Carol’s delight
- Daily time
- Nearly 8 hours On something related to the website while still running the business
The largest website build we have attempted.
Thanks for stopping by the blog.
I know most of you probably came here to look at guns, night vision or whatever questionable financial decision I recently added to the website. Instead, today you are getting a behind-the-scenes look at what it has taken to build this thing.
Yes, five. Apparently I enjoy rebuilding websites almost as much as I enjoy creating additional work for myself.
This version has been the largest undertaking we have attempted to date. It is more complicated, more capable and considerably more work than any of the previous designs.
I am also more confident in this build than any version we have had before.
I like a challenge. That is probably obvious at this point.
However, if you own a business, have the available capital and are considering building a complicated e-commerce website yourself, I would strongly suggest hiring a professional.
There is a reason web developers charge what they charge.
This shit takes forever.
This is more than a new coat of paint
This was never supposed to be another basic website with a new homepage, a few product pages and a phone number at the bottom. The goal is to create a real operating system for Frontiersmen Firearms.
Commerce
A real shopping cart, payment choices, shipping logic, product filters and wish lists.
Firearms workflow
FFL selection, regulated-product handling, identity requirements and clear inventory sourcing.
Customer accounts
Account panels, order information and direct messaging with Frontiersmen.
Product management
Database-driven products, categories, filters, custom inventory and distributor inventory.
Education
Night vision information, future academy content and better explanations before the sale.
Community
The bulletin board, business spotlights, useful services and community connections.
Every one of those items sounds simple until you connect it to everything else. Then you change one field and somehow the shopping cart forgets how shipping works.
Welcome to web development.
Building a cart for a gun shop is “fun.”
A normal shopping cart has a fairly straightforward job.
Put item in cart. Pay for item. Ship item.
A firearms shopping cart has more responsibilities.
- Identify whether the product is physically at Frontiersmen or sitting at a distributor.
- Apply the correct shipping rules for each inventory source.
- Recognize when a firearm must be shipped to another FFL.
- Allow the customer to select the receiving FFL.
- Handle a mixed order containing shop inventory, distributor inventory, firearms and ordinary accessories.
- Keep inventory-source labels visible on product pages, collections and inside the cart.
“In Stock at Frontiersmen” and “Distributor Stock” cannot be tiny afterthoughts hidden at the bottom of a product page.
Then there are account requirements, identity verification, payment choices, transfers and all the other little details that become very large details when money and regulated products are involved.
It has taken a considerable amount of time to make the cart behave like an actual system instead of a decorative button that occasionally remembers what it is supposed to do.
The 60,000-SKU pain in the ass.
Distributor integration was supposed to make this easier.
That was adorable.
That sounds great until you realize I cannot completely trust the data stream yet.
The feed is not giving me a clean, dependable pricing model for MAP and MSRP. The fields are not consistently usable, and the information cannot simply be dumped onto the website and assumed to be correct.
MAP
Minimum Advertised Price. This controls what can be publicly advertised under a manufacturer’s pricing policy.
MSRP
Manufacturer’s Suggested Retail Price. It is not automatically the same as MAP or the actual selling price.
Getting either number wrong can create problems with manufacturers, customers or both. That means each product we add must be checked against information from the actual manufacturer.
One product at a time.
Talk about a pain in the ass.
Having access to 60,000 products is not useful if I cannot trust the data enough to publish them responsibly.
I could dump all 60,000 SKUs onto the website tomorrow and make the store look enormous. I would also create a giant mess filled with questionable prices, inconsistent descriptions and products nobody actually wants.
I am not doing that.
We are going to curate the inventory, verify the information and build something usable.
I would rather clean and verify the manufacturers, categories and products people genuinely want to buy than publish 60,000 questionable listings just to look big.
If you want specific ammunition, magazines, optics, firearms, night vision accessories or other products, tell me. Your answers will help determine what gets verified and added first.
The bulletin board is going to matter.
Out of everything being added to the website, the bulletin board may be my favorite feature.
It gives us a place to highlight local businesses, organizations, useful services, community resources, partners and people doing good work.
It is not intended to become another random directory filled with paid listings nobody reads. I want it to become something useful.
Business spotlights
Local companies and skilled people our customers may actually want to know.
Useful services
Attorneys, estate resources, trades and specialists connected to real customer needs.
Community links
Organizations, events, partnerships and resources worth sharing.
Frontiersmen has never existed in a vacuum. We work with local businesses, collectors, dealers, agencies, attorneys, families handling estates and people with specialized knowledge.
The bulletin board gives us a place to connect some of those people. We are going to use it much more in the near future.
Customer accounts and direct messaging
I have also been testing a direct-message function through customer account panels.
The basic idea is that a customer can log into an account and send a message directly to Frontiersmen.
I cannot sit at the computer and direct-message everyone all day. I do not have a giant customer-service department hidden in the building. Hank is useless with email, and Visitor 7 is not allowed to answer customers without supervision.
Still, the messaging system could become a useful way to maintain good service as we scale. It gives customers another place to ask about an order, product, transfer or service without trying to remember where the conversation started.
Was it a text? Facebook? Email? A phone call while I was driving? Something shouted across the shop six months ago?
Putting more communication inside the customer account could make it easier for everyone to keep track of what is happening.
I will not be available every second of every day, but I want customers to have a reliable way to communicate directly with Frontiersmen.
Things are going to get crazy for us. I have stuff in the works. That is why we are putting in the work now.
Two AIs argued until the integration worked.
Yes, a lot of this website has been vibe coded.
For anyone unfamiliar with the term, vibe coding is when you describe what you want to an AI, let it write code and then spend several hours trying to understand why fixing one problem created three new ones.
At one point, I literally had Google Chrome open with Hostinger AI coding away while a ChatGPT sidebar had access to the browser.
One AI would suggest a solution. The other would explain why the first AI was wrong. Then the first AI would try again.
I basically allowed two AIs to argue with each other until they solved an integration problem I had been fighting.
It worked.
That may not be the development process they teach in college, but the integration started working, and that is what mattered.
Somewhere, an actual web developer probably just felt a disturbance in the Force.
Carol has been bitching at me.
Carol has been bitching at me about how much time I have spent on this website.
In her defense, she is not wrong.
That does not mean eight peaceful hours sitting at a desk with a cup of coffee.
It means checking products, fixing filters, testing the cart, changing categories, working on accounts, arguing with integrations, writing content, creating images, checking mobile layouts and trying to understand why something that worked yesterday has suddenly decided it no longer believes in itself.
This is happening while I am still operating the actual business.
Apparently sleep is important.
Carol keeps bringing that up.
I am starting to suspect she may have a point.
Then I have to build the whole thing again
Once this website is functioning the way I want, I have to build another version for Frontiersmen Defense Systems.
That version will serve dealers, law-enforcement agencies, institutional buyers and government partners. It will need its own products, account structure, procurement tools, quote requests, agency information, dealer pricing and restricted access.
Basically, I need to take everything I have learned from this build and create another website with an entirely different audience and workflow.
That is going to be fun.
See, Carol? Web development can be fun.
Carol does not appear convinced.
Meet FRANK.
This is also a good time to introduce FRANK.
FRANK is the AI system I eventually want to build for Frontiersmen.
The long-term goal is to create an in-house AI that can help customers navigate products, understand services, find information and get pointed in the right direction without pretending it replaces actual human service.
Navigation
Help customers find products, services, policies and educational material.
Basic questions
Handle repeat questions so BigRed can focus on work requiring an actual human.
In-house hosting
The goal is a locally hosted system running on a dedicated server.
FRANK will not replace me. Hopefully, he will prevent me from answering the same basic question 47 times while I am trying to finish something else.
The problem is that I need an in-home server powerful enough to host him.
Servers cost money.
Let me finish the website, sell some products and make enough money to fund the machine that will eventually become FRANK’s home.
This is apparently how normal businesses operate now.
You sell guns and night vision to fund the artificial intelligence living in your house.
Nothing weird about that.
Why put this much work into it?
Because I believe Frontiersmen is heading somewhere much larger.
The retail operation is growing. Night vision is becoming a major part of what we do. Frontiersmen Defense Systems is moving further into dealer sales, agency procurement and government-contracting work.
The systems supporting those businesses need to exist before everything gets busy.
I would rather struggle with the infrastructure now than wait until customers, orders, dealers and agencies are demanding something the system cannot handle.
If we do this correctly, customers should not need to think about most of it. They should be able to find a product, understand where it is coming from, place an order and know what happens next.
That is the goal.
Give us some time.
The website is not finished.
There are going to be bugs, missing products, incomplete sections and things that need adjustment after people begin using them.
I am sure someone will find a button I forgot to connect within six minutes of the site going live.
That is part of building something this large.
Give us some time, send useful feedback and understand that I am actively working on it.
This is the fifth design, the largest build we have attempted and the first version I genuinely believe gives us the foundation we need for what is coming.
I hope people enjoy the new site.
More importantly, I hope you enjoy what we are going to build on top of it.
Questions for everyone
Real feedback is considerably more useful than me guessing what 60,000 distributor SKUs people may or may not want.
Useful feedback will directly influence which products and features move to the front of the line.
The “I Refuse to Read BigRed’s Novel” Version
Yes, I know I write a lot. No, I am not going to stop.
- This is the fifth Frontiersmen Firearms website design.
- It is our largest website undertaking to date.
- I am confident in the foundation we are building.
- The cart must handle firearms, FFLs, multiple inventory sources and shipping rules.
- I have access to roughly 60,000 distributor products.
- I do not trust the MAP and MSRP data enough to publish everything.
- Each product needs to be checked against the manufacturer.
- Yes, that is a pain in the ass.
- Tell me what products you want so I know what to prioritize.
- The bulletin board may be my favorite feature.
- We will be using the bulletin board much more soon.
- I am testing direct messaging through customer accounts.
- It is still just me, so do not expect 24-hour live chat.
- Two AIs argued until they fixed an integration problem.
- Do not laugh because it worked.
- Carol has been bitching because I keep working past 2:00 AM.
- I have been spending almost eight hours a day on website-related work.
- After this, I need to build another site for Frontiersmen Defense Systems.
- Apparently I believe web development is fun.
- Carol disagrees.
- Eventually I want to build FRANK, our in-house AI.
- I need to make enough money to buy the server that will host FRANK.
- Things are going to get busy, and that is why we are working hard now.
Thanks again for stopping by, reading and following along while we build this thing.
Now I should probably go to bed before Carol starts bitching again.
Tell BigRed what you want on the site.
Products, manufacturers, account features, bulletin-board ideas or dealer and agency needs—send the useful feedback.
Frontiersmen Firearms · 105 Princeton Avenue · Palmerton, Pennsylvania 18071