I've built an online product catalogue with AI. Check it out!

UPDATE: Development of the product catalogue is, for now, complete. Anyone interested is welcome to read the updates below, and also visit the demo, linked below. It’s now as complete as I want/need it for the client I made it for.

I’ve had some questions here and direct, so I’ll address them here for clarity.

1. Will I be making it available for Rapidweaver/Stacks? Yes and no. Will I wrap it in a nice container that can be dragged and dropped into RW/Stacks? No. I have neither the skill nor inclination to do that. If a dev wants to work with me and do it, I’m open. But I won’t be doing it on my own. I will, though, make it available as a self-install system at some point. This will require you to FTP some files to your server and add code snippets/widgets to your page builder (it will be platform-independent). When will I do this? Early next year at some point. And no, it won’t be free.

2. Will I be turning it into an only store? Yes. 100% yes. I presently run quite a few online stores for clients using a customised version of PHP Jabber StivaStore. But nowadays, that script and PHPJ themselves are pretty shite (since the takeover), so I plan to evolve my system to replace it. I’m not yet sure if the one system will do both, or if the store will be a separate version. I suspect the latter, as my aim is to keep things as lightweight and simple as possible. Will I make this available? Yes, but it’ll be a licensed product with an upfront cost. When? Mid to late 2026 i suspect. That’s real-world schedulling, not the RW world version :wink:

3. Am I going to adapt it for a blog for the RW/Stacks? Yes, that’s the project I’m starting today. Will I be making it available? Only if @Jannis doesn’t bring his product to the market. Jannis has been a long-time supporter of the RW/Stacks community (not to mention a great resource of help over the years) and I’m not going to release something that treads on his toes. Initially, I’ll be using it myself to replace Alloy.

Hope that covers it. I realise this is of little interest to most, so I won’t be doing further updates here.


I can’t give you a link to a demo as yet, as I’ve not added any security to the admin page, but I have made a video explaining it all.

In sort, it’s a super simple flat-file product catalogue. Think of it as an online store, without the ability to actually sell anything. I’ve built it for a particular client need, but it might be useful to others.

I might, most likely will, add a cart system to it at a later date, but right now, it’s only for displaying products.

It is demo’d in RapidWeaver, but it’s platform-independent. You could add it to any site. Whatever platform you use, you only need to add two pages: the main page and a product page. The entire system consists of three pages: main product listing page, the individual product page, and the admin page.

Have a look at the video: Bit long: 20mins, but there is quite a lot to demo.

Happy to answer any questions or take onboard any advice anyone wants to give.

7 Likes

Looks great!

From where does the site pull the info in? Database, flat file (csv etc.) ?
Is there a chance to get the code? I could use it for non profit organisations.
Thanks for more info.
Tom

It’s all flat file. The individual products are an individual markdown file, the images are just stored in a folder. The image upload process manages and reproccesses the images for you, you don’t need to do anything.

At the moment, no, I’m not making the code available. I might offer the final system as a paid-for solution, but it won’t be for free. Too much work has gone into it, and will continue to go into it for me to give it away.

Roadmap…

Version 1, the present version, is nearly finished. Just need to sort out some security issues.

Version 2. I’m expecting to start on this in the new year. It’ll include image lightboxing. Product variant management and the ability to take online orders and payment.

Version 3. At the very earliest middle of 2026. Automated product insertion. What this will mean is you only have to give the system a link to the product on another website say a manufacturers site) and the system will do the rest. It’ll use AI to formulate a unique product description, assign it to the correct categories, sort out the images and as the product to the front-end. All you’ll need to do is provide a link, or if it’s a generally available product, the full product name. The system will do the rest. This will of course need connecting to an AI API, so there will be a cost involved.

Version 2 is a definite. Version 3? This is more wishful thinking at this point. In theory, it’s entirely possible, but right now it’s complex. But who knows how things will have changed in the AI world in the next 6-12 months!

2 Likes

Demo: Catalogue

I’ve no real idea if anyone is interested in this, but assuming someone might be, I’ve made some big updates over the last few days, the main one is image handling to the body content for a product.

In the product editor, you can now drag and drop images; the uploader will resize them (both dimensions and file size) and rename them based on the slug to make them SEO friendly. So that we don’t get any issues if a product with the same name is added at a later date, a random ID is appended to the file name. These are then inserted into the body wherever you drop them.

The displayed image is scaled to 400px wide, and centred. If you drop two images together (markdown will put them on different lines), the system will automatically put them into a grid, so two images will sit side by side (one image will sit on its own and centred).

Better yet, all images added to the body will create a “virtual gallery” that sits directly below the hero header. No images in the body? No hero gallery. Clicking any image on the page opens a lightbox with a slideshow of all images.

I’m pretty pleased with the image handling, and the flexibility the system has. It adds a lot of clever ways to display images without adding complexity to the code.

I’m now ready to open the frontend to people to have a play. It’s here: Catalogue This product: Catalogue product has multiple images added to the body, so you get a good idea of how it works.

Any feedback, let me know.

1 Like

This looks very nice! I’m not in the “selling products” business, but by playing with it a bit it seems it could serve, in addition, as a very nice blog-like platform. Interested to see where you go with this!

1 Like

Ya, it occured to me a while back it’ll require very little effort to turn it into a blog. But, in the RW world, IMO blogs are @Jannis territory. So even if I took it that way, I’d never make it available.

The facility to take online sales (an ecommerce system) is on the cards for the present dev version (v.1). I’m, presently adding security to the whole system. Next will be product variants, and then a cart facility. I very much doubt I’ll be creating the cart from scratch though, I’ll most likely use an off-the-shelf solution and just plug it in. This will mean an additional cost per transaction; typically 2% over the transaction processing fee, but I think it’ll be worth it.

EDIT: The admin section is now password-protected, and I’ve also added a user management system.

There are two levels of admins: Admins and users. Alll users can change their passwords. Only admins can add/remove users. All passwords have to be to a min security level and the system automatically does the hash thing, so no bare passwords are stored.

1 Like

Big update this morning…

Now added lots more control to the admin. You can see it all in the screenshot.

Also cleaned up the mobile view for categories and sort order on mobile.

2 Likes

Today’s update… Adding a search to the main grid page, and beaking the controls; categories, search and sort-by, out of the main body and into their own widget. This completely opens up the layout options for both desktop and mobile.

Right now, on desktop, I have the controls widget and the main grid in a two col setup, with the controls col taking up 20% of the space. I’ve reduced the number of products per row from 3 to 2. This gives you that classic “ecommerce” look and feel. Of course, you can just put the controls widget above the grid, for a more modern feel, in which case you’'d increase the products per row to 3 or even 4.

Once the screen width reduces to mobile, the left col is hidden, and an accordion appears above the main grid. Click the accordion and the controls are revealed.

This is just one of many layouts you can achieve, now that the controls and main grid are separate widgets.

You can see it in action on the demo: Catalogue

5 Likes

UPDATE: Development of the product catalogue is, for now, complete. Anyone interested is welcome to read the updates below, and also visit the demo, linked below. It’s now as complete as I want/need it for the client I made it for.

I’ve had some questions here and direct, so I’ll address them here for clarity.

1. Will I be making it available for Rapidweaver/Stacks? Yes and no. Will I wrap it in a nice container that can be dragged and dropped into RW/Stacks? No. I have neither the skill nor inclination to do that. If a dev wants to work with me and do it, I’m open. But I won’t be doing it on my own. I will, though, make it available as a self-install system at some point. This will require you to FTP some files to your server and add code snippets/widgets to your page builder (it will be platform-independent). When will I do this? Early next year at some point. And no, it won’t be free.

2. Will I be turning it into an only store? Yes. 100% yes. I presently run quite a few online stores for clients using a customised version of PHP Jabber StivaStore. But nowadays, that script and PHPJ themselves are pretty shite (since the takeover), so I plan to evolve my system to replace it. I’m not yet sure if the one system will do both, or if the store will be a separate version. I suspect the latter, as my aim is to keep things as lightweight and simple as possible. Will I make this available? Yes, but it’ll be a licensed product with an upfront cost. When? Mid to late 2026 i suspect. That’s real-world schedulling, not the RW world version :wink:

3. Am I going to adapt it for a blog for the RW/Stacks? Yes, that’s the project I’m starting today. Will I be making it available? Only if @Jannis doesn’t bring his product to the market. Jannis has been a long-time supporter of the RW/Stacks community (not to mention a great resource of help over the years) and I’m not going to release something that treads on his toes. Initially, I’ll be using it myself to replace Alloy.

Hope that covers it. I realise this is of little interest to most, so I won’t be doing further updates here.

3 Likes

Hi Steve, please don’t hesitate. The more choice users have, the better :+1:

Looks great :blush:

7 Likes

I realise this is of little interest to most, so I won’t be doing further updates here.

So how are we supposed to know about final store and blog? By all means, don’t be silly, keep posting here!

3 Likes

lol. I’ll post again when there is something significant to tell you about.

5 Likes

The reason I like the developers for RW and Stacks. Generous to a fault (almost)…just nice people.

2 Likes

How much control would we have on the pricing information? At least here in Germany we have a “Preisauszeichnungsverordnung” where the price needs to be on a certain position, the buy button needs a certain name, and if we do a special price, we need to display the lowest price of the last 30 days on top / next to the current price. For fluids or such we need to add the Liter or Kilo price …

I am not sure if there is a threshold when all this needed, but would this be possible in general?

Hi. I don’t really understand your question. But pricing is handled in the admin section.

Sorry, these are the requirements:

The German Price Indication Ordinance (Preisangabenverordnung, PAngV) requires that online shops show clear, complete and easily understandable prices, so that consumers can see the final cost and compare offers without hidden charges.[1][2] For an English “simple summary” this boils down to how you show total price, base price, shipping costs and discounts on your product and offer pages.[1][3][4]

Purpose and scope

The PAngV applies to any business that sells or advertises goods or services to consumers in Germany, including online shops of all sizes.[2][5] Its main goal is consumer protection through “price truth and price clarity”, meaning prices must be truthful, transparent and clearly assigned to the specific product.[6][4]

Total price (final price)

For each product you must display the total price that the customer must pay, including VAT and all other price components.[1][3] This total price has to be visible near the product description or offer and must be easy to read and clearly linked to the correct item.[7][8]

Base price for measurable goods

If you sell goods by weight, volume, length or area (for example food, liquids, fabrics), you must show a base price in addition to the total price.[9][4] The base price must usually be given per 1 kilogram, 1 liter, 1 meter, 1 square meter or 1 cubic meter and placed close to the total price.[4][10]

Shipping costs and additional charges

Online shops must inform customers about shipping costs and any unavoidable extra charges before the product is placed in the shopping cart.[1][3] You may link to a separate shipping-costs page, but the link and information must be clearly visible and understandable during the buying process.[3][2]

Discounts and reduced prices

If you show discounts (for example “-20%” or crossed-out old prices) you must indicate the lowest total price that applied to that product during the last 30 days before the discount.[6][4] This rule aims to prevent fake discounts where prices are briefly increased before a promotion.[11][4]

Presentation and legal risks

All price information must be easy to read, clearly assignable to the product and not misleading in layout, wording or design.[7][8] Violations can lead to fines and warning letters or injunctions under German unfair competition law.[4][12]

Quellen
[1] Preisangabenverordnung (PAngV) im Überblick - IONOS https://www.ionos.de/digitalguide/websites/online-recht/preisangabenverordnung/
[2] Wie erfüllen Onlineshops die Preisangabenverordnung? Wie geben Onlinehändler Preise korrekt an?
[3] Legal compliance in online shops in Germany: An overview - Stripe Legal compliance in online shops in Germany: An overview | Stripe
[4] Price Indication directive for online stores | Latori GmbH Price Indication directive for online stores
[5] Die Preisangabeverordnung und ihre Auswirkung auf den … Die Preisangabeverordnung und ihre Auswirkung auf den Online-Shop - Website-Check
[6] Preisangabenverordnung für Online-Shops Preisangabenverordnung für Online-Shops | eRecht24
[7] Die Preisangabenverordnung: Leitfaden für Online-Händler Die Preisangabenverordnung: Leitfaden für Online-Händler
[8] Price Indication Regulation: Legal certainty with ESL labels Price Indication Regulation: Legal certainty with ESL labels | OMS Retail
[9] Preisangaben im Onlineshop (Preisangabenverordnung) MB_02_104 | Preisangaben im Onlineshop (Preisangabenverordnung) | IHK zu Leipzig
[10] Leitfaden Grundpreisangabe - Anwaltskanzlei Weiß & Partner Leitfaden Grundpreisangabe
[11] Preisangabenverordnung im Online-Shop Preis­angaben­verordnung im Online-Shop
[12] New Price Indication Ordinance on 28 May 2022 - Gleiss Lutz New Price Indication Ordinance on 28 May 2022 | Gleiss Lutz
[13] Preisauszeichnungsgesetz | Was Sie wissen müssen … Preisauszeichnungsgesetz | Was Sie wissen müssen ► Magazin
[14] Whitepaper: Rechtskonforme Preisangaben in Online-Shops Whitepaper: Rechtskonforme Preisangaben in Online-Shops
[15] Preisangabenverordnung für Onlineshops erklärt Preisangabenverordnung für Onlineshops erklärt
[16] Preisangaben im Handel und bei Dienstleistungen Preisangaben im Handel und bei Dienstleistungen - IHK Region Stuttgart
[17] Die neu PAngV ➨ Das müssen Online-Shops beachten Die neu PAngV ➨ Das müssen Online-Shops beachten
[18] New Price Indication Ordinance as from 28 May 2022 - Taylor Wessing New Price Indication Ordinance as from 28 May 2022
[19] Grundpreisangabe bei variablen Preisen – was ist rechtlich … Grundpreisangabe bei variablen Preisen – was ist rechtlich erlaubt?
[20] Price indication directive: These are the facts online merchants need … https://www.shopware.com/nl/news/price-indication-directive-these-are-the-facts-online-merchants-need-to-know/

I think that’s just a classic case of massively overthinking something.

Either way, my product catalogue has and will continue to have two prices: current price and rrp. If German customers/regulations require more, then my system won’t be suitable.

3 Likes

Update: Finally found the time today to fully polish off what I am now calling version 1. of the product catalogue. Realised when I was last working on it and appending the individual product details to the product page url using # was going to cause major issues with SEO and social embedding. So been busy changing that, and it’s now fixed. it now uses a ? and so is much more Google friendly. Also, had to really fight with Rapidweaver over the page meta data, as RW really doesn’t want to relinquish control over this content to code on the page. But in the end I found a great workaround, which means that Google and social platforms “see” the correct meta data.

All of this makes little difference to the front end, it only effects SEO and the back end, so visually, other than the # ? problem, there isn’t much difference to the demo: Catalogue

So, for now, that’s a wrap! I’m about to deploy in into two client sites, so will report back how that has gone.

As for the blog: I did split the project into two; the catalogue and a blog system. The bog actually works really well, but I’ve decided not to continue with it. Not in the short to medium term anyway. At the moment I have no need for it, I’m still using @Jannis Poster and Alloy, which are still working perfectly. So for now, putting time and effort into the blog system is pointless.

4 Likes

The “Back” buttons in the upper left of a product detail page don’t work for me.