That’s odd, works for me across several browsers. It’s just a button in RW. Can you recheck please?
One final update before I start to deploy…
I’VE ADDED A STORE FACILITY!
I wasn’t going to do this, not yet, but the first client I showed it to immedaitely wanted to take orders and payments, so I’ve added it.
But I’ve cheated. I’ve not tried to build and entire cart system, that’s too much for my tiny brain, instead I’ve added SnipCart.
So now, in the admin section, there is the option to turn on ecommerce.
When it’s not enabled, the system works as an online product catalogue. Enable ecommerce, add your SnipCart API key, tell it the currency you are using, and BOOM! It’s now a fully-loaded online store, with full checkout with payment processing by whatever gateway you choose. Plus, all the other ecommerce features that Snipcart offers.
My work here is done! ProductDeck CMS (as I’m calling it) is officially finished! (until I think of more stuff to add!).
I am maybe will make this available to others, for a fee of course. But I’ve a lot of work to get it to a simple install package, so that might come much later in the year.
Seems to be a Safari issue (at least for me). In Chrome and Firefox the Back button works flawlessly, only with Safari nothing does happen when clicking the button…
I’m at a loss as to why this is happening for you. I’ve tested across multiply machines and multiply browsers. It’s working.
Just to clarify, you mean this button…
Yes, I mean exactly that button. See here: Screenshot 30.01.2026 20.43.49.mp4 - Droplr
Works here on safari. mobile and Mac…
Works for me.
Looks great!
Thanks for that, but as others said, it appears to be working for most others, I can’t replicate this.
What versions of OS and Safari are you using, and do you have any extentions added?
Some more refinements today…
- Fixed the mouse-over hover effect crashing the container boundary (thanks to @wolf for spotting that one)
- If the cart is enabled, the varients available now appear on the main grid page. Image below.
- And a biggie… Cus this has always been a huge bugbear of mine with pretty much every CMS system I’ve ever used!
If you have the admin window open and are adding a product, or writing a blog etc. And the admin session times out. You don’t know that until you have finished what you are doing and clicked save. Then you get a “Session Timed Out” message, and your work is gone.
So I’ve built in a fail-safe: If this happens in ProductDeck, you don’t lose any work. A popup will appear telling you the session has timed out, but it saves your work in thet background. You then just log back in, in another window, come back to the page, and save. No work lost! I think this is the one feature I’m most pleased with. Cus even though everyone of us suffers this issue, devs almost never bother to manage it correctly. Well I’n not a dev, I’m a user. So I have!
I’ve one task left to do before putting this out there for testing by a choice few individuals: Licence management. I’m going to build in a “phone-home” feature, where the app will check the licence and domain being used is valid. This is I suspect a biggie. Right now I don’t even know where to start with something like this, so I’m going to have to draw on AI a lot. So it’s going to take some time.
I’m on Tahoe with the latest Safari version. And yes, I do have several extensions added, as you see in the screenshot. But if it’s working for others everything is fine.
Today I finished completely rebuilding ythe backend. As it was, it worked, but it was a bit thrown together, as the system kinda grew and grew without much thought to the how it all worked together. So now everything is completely streamlined, and needs only a few code snippets added to your web editor (in this case Rapidweaver) to make everything work.
Only a small tweak to the front end today. I’ve now included some logic classes. When the cart is turned off, and ProductDeck is used as an online catalogue, you can opt to have some content displayed by apply a specific class to it. In the live example it’s a header saying “Online ordering is off, please order by phone”.
When the cart is on, a different bit of content can be displayed, in the example it’s a header saying “Online ordering is on, checkout online”
You can apply this logic to any content, just allocate the class to it, and your done.
Should also mention that the new demo for ProductDeck has shifted, it’s now here: ProductDeck
AI has come such a long way. I got inspired by this store and decided to try it myself. I had a working online store in less than five minutes—backend, frontend, everything. Proper prompting is the key to getting a result in a single go. I didn’t touch the code at all.
Looks great.
Little update for today.
Stress tested it, 1000 products, zero lag. Main page loaded instantly, even with 32 products in the grid. Search had no hesitation to find the product typed in.
I was hoping for 200, in reality I could do 2000, but a tested 1000 limit is fine with me!
Also realised I needed to add additional pagination buttons with 1000 products (opposed to the previous 10) to include goto first, and goto last.
Incidentally, the demo on caffeine-injection.com is no longer being worked on, I’ve a new demo/dev version now, sitting on a unique domain. I’ll post it up in a few days once it’s 100% finished.
Oh, licencing is also now done. So in theory it’s ready for use, and even sale. Question is: What would you pay to use this system on one domain?
Hi Kent,
what kind of files are “behind” the system – database, csv, text ?
Thanks
Well it IS Germany… ![]()
But in all seriousness, it’s something other EU member states also enforce (Netherlands and Belgium for example).
This is just a flatfile system. I tried to copy the setup @TemplateRepo made. It could just as well be supabase
It is! But I really don’t understands how my system, or for that matter 99% of the others, contravene these regs. I think the original post was around the two prices: My system can advertise two: The “was” price and the “now” price. If there is a “now” price, the “was” price is striked out. If not, the “was” price is just advertised as the price, no “was” Now" tags.
How does this contravene any regs?
If you just pointed AI at the demo page and said “copy this” it’s mostly likely just given you a visual copy, but with none of the backend. Not that that would be hard to add. It just take time, and a really solid understanding of what a user actually needs, and a clear understanding of how not to do things. That last bit is actually more important that knowing how to do it. AI will always take the path of least resistance, which usually means it creates something that looks right, but doesn’t actually do the things needed.
As I’ve been really open about, I’ve done zero coding. AI has done it all. I’ve just broken every stage of the process into it’s components parts. I then just tell AI what I want for one particular function, it writes the code, I test it, and then tell it where it’s gone wrong and how it should be done. Then, once it’s done, we add it to the rest of the existing system. It’s a long process, but I learn really early that it’s the only way to do it. Try to do it en-mass, and you end up with a mess, that neither you nor the AI really undertand.
To give context to ProductDeck. I’ve been at it about six months now. The first stage was pretty quick, and that first version is even deployed to a few client sites. But from then on, since around start of Nov, it’s been about adding features and making sure it doesn’t fall over. So that’s now about three months; some days it’s all I do, some days it’s just an hour or two. Some days, not at all.
I might not be writing the code, but I still have to do everything else, and it takes ages!
Sorry, I did not refer to your demo; I simply created a prompt based on your description. I uploaded the files to Netlify, but as you noticed, it didn’t work with the basket, etc. I compiled it and added it to my website. Here is a working version:
https://ai-pro.dk/Basic_Web_shop_test/index.html
Of course, there is no login, security, or anything like that in this—it was simply an attempt to see how it could be done. To my surprise, it really is possible, much to my amazement. And I understand very well that it takes a lot of time to get something working according to specifications, etc.






