In this podcast episode, host Michelle Frechette chats with developer Mark Westguard about the new Image Roulette plugin, which randomizes images on WordPress sites while keeping alt text and captions for accessibility. The plugin was inspired by Michelle’s need to display randomized Speed Networking conversation cards.
They demonstrate how it works, discuss potential eCommerce uses, and share experiences using AI tools like Claude to speed up development. The episode also highlights collaboration, creativity, and fun within the WordPress community.
Top Takeaways:
- Image Roulette Plugin: Michelle’s accessibility challenge inspired Mark to create a plugin that randomizes images while preserving alt text and captions. Within hours, he developed a fully functional prototype that later became a public WordPress plugin.
- Accessibility at the Core: The plugin automatically uses each image’s existing media library fields (alt text, title, caption), ensuring accessibility is built-in rather than an afterthought — aligning with WordPress’s broader emphasis on inclusive design.
- Simplicity and Versatility: Image Roulette works via both a Gutenberg block and a shortcode, making it compatible with different site builders. It’s ideal not only for random prompts but also for creative and commercial applications, such as eCommerce product showcases.
Mentioned In The Show:
🙏 Sponsor: A2 Hosting
A2Hosting offers solutions for WordPress and WooCommerce that are both blazing fast and ultra-reliable. WordPress can be easily deployed on ANY web hosting plan from A2: Shared, VPS, or Dedicated. A2 also offers Managed WordPress and WooCommerce Hosting. Take a look at a2hosting.com today!

🐦 You can follow Post Status and our guests on Social Media:
- Mark Westguard (Founder, WS Form)
- Michelle Frechette (Director of Community Relations, Post Status)
- Olivia Bisset (Intern, Post Status)
The Post Status podcast is geared toward WordPress professionals, with interviews, news, and deep analysis. 📝
Browse our archives, and don’t forget to subscribe via iTunes, Google Podcasts, YouTube, Stitcher, Simplecast, or RSS. 🎧
Transcript
[00:00:00] Michelle Frechette: Hello. Welcome to Post Status Happiness Hour, and today I’m live with my good friend Mark Westgard. Mark, how are you?
[00:00:34] Mark Westguard: I’m good, how are you?
[00:00:36] Michelle Frechette: Good, thank you. I should say you’re more than my good friend. You are also my right-hand person when it’s anything techie, especially anything that requires development between you and Corey Maass, like I’ve got you guys on speed dial.
[00:00:51] Mark Westguard: That’s right. Any PHP that’s needed, we’re there.
[00:00:54] Michelle Frechette: That’s right. Or. Or JavaScript or React. I don’t even know what’s ever needed so.
[00:00:59] Mark Westguard: That’s right.
[00:01:00] Michelle Frechette: You just got me covered, which is a wonderful thing.
My lights aren’t working today, so I apologize for the darkness. It is an overcast day, so I guess it makes sense. It all works.
Mark Westguard: Still looks good.
Michelle Frechette: Yeah. Thanks. I wanted to show the people how easy it is. I say that it’s so easy to ask Mark for a solution, but that’s.
[00:01:26] Mark Westguard: But it’s not an open invitation.
[00:01:27] Michelle Frechette: No, no, no, no, no. That’s only for besties. But you, you were able to bring a solution to me in a manner of less than an hour I think. And to tell people a little bit about it every Wednesday morning at 10am my time. So East Coast here in the US, I do a open office hours. We get anywhere from I think we had seven people today to upwards of 10 or 15 sometimes. It’s just a fun time. A few weeks ago, you joined that.
[00:02:00] Mark Westguard: I did.
[00:02:00] Michelle Frechette: Which was awesome. I love when you have some time to be able to join me and things like that. What was exciting for me was okay. We had just launched this idea for Speed Network Online. I wanted to take the conversation cards that Marcus Burnett and I had prepared to be able to hand out at WordCamp US this year. I can show you there are physical cards right. So you can see them here. If you’re listening, I’m holding them up. There’s about 20 something of them, and they’re these little cards that MOO had made. We had made through moo.com great. They’re lovely. They work really well. They’re very WordPress specific, and so I thought wouldn’t that be fun to put those as images on speednetwork.com’s website so that you could hit refresh and get a new prompt every time. I went in search of in the plugin repo and I found a plugin that could do just that, and I so excitedly put it on my website, I posted it to the world, and Taco Verdinska said these don’t have alt text on them. And I was like, oh my gosh, how could I forget an alt text? I’m always preaching about accessibility, and yet I still make mistakes. I went to add the alt text, and it was not possible with that plugin. You couldn’t do it. And I even like did the form. I asked for support, and I said, how do I add alt text? So they said it’s not possible. And I thought, oh, what a fail. So I, in that, in that 10 am open office hours, said, usually I ask if anybody has any needs. I’m coming to you with a need this week. I need to be able to accomplish this and add alt text. You said I could probably make that happen before the end of the hour. You almost had it complete by I think noon or 2 o’ clock that same day, you’d already submitted it to the repo. I was like, holy cow.
[00:04:00] Mark Westguard: Yeah. I thought, while we’re at it, we might as well make a plugin that other people can use.
[00:04:04] Michelle Frechette: Yeah. So you named it Imagery. I’m going to go ahead and add it on here so people can see it. So this is on the Speed Network Online.
[00:04:12] Mark Westguard: Yep.
[00:04:13] Michelle Frechette: And you can see it’s an image, the images that, that Marcus made. Hey, Marcus is in the chat now. Aw, he says two of his favorite people in WordPress. You’re the third there, Marcus. So you can see Marcus did a great job designing these. And you know it says if you had a custom wapu, what would it be holding or wearing to reflect you? Mine would obviously have either Lego, or coffee, or maybe both, I don’t know. And so that’s a great question. If you hit refresh, which I’m going to ask you to do now, Mark. You suddenly get a different one. Hi, Toby.
Toby is in the chat now too. Good to have you here. You can see every time Mark hits refresh we, we get a different question. They’re just randomized. They don’t go in any particular order. I believe they’re randomized?
[00:05:05] Mark Westguard: Just random. Every time you get a different one. Sometimes you’ll get the same one twice.
[00:05:10] Michelle Frechette: Yeah, because it’s random. But the beautiful thing about it is that there is now alt text to every one of these images so that someone using a screen reader can have the prompt read aloud to them. I didn’t lose the ability
to have it be randomized on that refresh, and I didn’t lose the ability to have the beautiful desig n that’s there because I didn’t have to list them all on one page with alt text behind them. Mark was able to accomplish that very quickly. Mark, tell us about it.
[00:05:44] Mark Westguard: Yeah, it was quite a fun little plug. It’s a very, very simple plugin, but we just wanted to make it easy for people to use. You can very easily just create a new gallery, and you can call that whatever you like. And then you select images from your media gallery. And I think I’ve got some images. Hang on one sec.
There we go. Let’s add some cats. So there we go. And what it does is.
Michelle Frechette: Those look familiar.
Mark Westguard: They do. And what we thought we’d do is actually just use the default media library alt setting and the title setting, and also the caption as well. We can put like cat one. Obviously, you would put something more meaningful in here.
[00:06:25] Michelle Frechette: Yes. An orange striped cat with a huge grin on its face.
[00:06:28] Mark Westguard: Yeah, I won’t type that because I’ll just type it in wrong.
Michelle Frechette: It’s okay. It’s all good.
Mark Westguard: So yeah. You can do that for each of these. I’ll just do a couple, just so we can see it working.
[00:06:41] Michelle Frechette: Sure.
[00:06:42] Mark Westguard: We’ll put a caption on there as well. We thought that would be a good thing to do rather than you having to manually put the alt tag and title, and caption in the gallery software itself. This is something you should be doing anyway with all of your media in the media library.
[00:06:57] Michelle Frechette: Exactly.
[00:06:58] Mark Westguard: And click exit gallery. And there’s your cats. So you can easily randomize cats now on your site, you can reorder these, you can remove them, etc. So let’s just do, save. So that then creates a gallery. And then this is on playground. WordPress playground. So hopefully this. Hope this works. We’ll give it a go. So let’s just add a page, and we’ll just bypass that because we don’t want to pound. Cats.
[00:07:24] Michelle Frechette: Cats.
[00:07:26] Mark Westguard: Then there’s actually a block for it. If you do a search for image, you’ll see Image Roulett. Then you can choose the gallery that we just created, then we’ll publish that, and then we can view that page. There’s your cat. It should. It’s got the alt text on there. You can barely see it. Let’s refresh it to one where we put. Oh, I refreshed the playground. So it got rid of them. Let’s try again.
[00:07:56] Michelle Frechette: Oh, it didn’t save the gallery. Oh, because it was playground, right.
[00:07:58] Mark Westguard: Yeah, yeah, because it refreshes. So actually I can’t refresh because I’m in playground. That’s interesting. Yeah.
[00:08:05] Michelle Frechette: So Toby says we need a shared Wapuu gallery for quick insertion anywhere WordPress. That’s actually not a bad idea.
[00:08:13] Mark Westguard: Yeah, you can do a short code as well. If you’re not using the block editor. Maybe you’re using bricks or something else like that. You can use the shortcode as well. It’s quite simple. We thought, while we were building that, let’s go ahead and turn it into an actual plugin. We submitted it to the plugin repo. I went ahead and filled out everything, and we got it submitted and approved. Actually, they approved it very quickly, which was nice, I’ve got to say, since I did this one compared to when I
did WS Forms many, many years ago, very, very smooth process nowadays. They do a great job in the communication. Everything that they give you and all the steps that you have to follow. There you go. We’ve got fewer than 10 active installations because it’s so new.
[00:09:00] Michelle Frechette: Brand new. Yeah. Actually, mine isn’t one of them because I need to go replace what you uploaded to my site.
[00:09:07] Mark Westguard: That’s right. Yeah.
[00:09:08] Michelle Frechette: Connect back to. So it’ll be like maybe 10 by the time.
[00:09:12] Mark Westguard: Yeah, exactly. This is actually the old version. So we just need to update that and get all the images sorted out and everything. There you go. It was a very simple concept that we thought would be useful. Funnily enough, I couldn’t find any other plugins that did this. So hopefully this will be useful to somebody. But I thought a useful thing we could do with this, maybe Michelle, is extend it so that you can actually add links to the images too. So that you could click on the images and then link off. So that might be version 1.01 or version 1.1.0, whenever we get around to doing that.So, yeah, there you go. It was.
[00:09:52] Michelle Frechette: That could be really cool on an E e-commerce site if you had images that then. That you were random. Different galleries of different clothing or mugs or whatever, and you randomize and then you click one and it took you to the. To this page on your website that sold that particular item. That would be kind of a really nice use case for that.
[00:10:14] Mark Westguard: Yeah, absolutely. Yeah. And it also. It does captions as well. So tell you what, while as you talk away, I will spit up and it’s a WP Instance so we can actually hit refresh. I didn’t even think about that. Let me just spin it up quickly. Good old Insta WP.
[00:10:36] Michelle Frechette: Toby’s asking if we’ve tried 6.9. Beta one was released today. I have not yet. Toby tried 6.9. I don’t have a playground right now. That is something that I can install that on. I haven’t yet.
[00:10:52] Mark Westguard: I’ve tried it with WS4. I usually run on the beta version just so I can see if there’s any glaring issues with it.
[00:10:59] Michelle Frechette: Sure.
[00:11:00] Mark Westguard: But I haven’t done anything deep on it yet. I’m not really sure of what they put in it, but I’ll get around to it. Let’s have a look. If we do a search for Image Roulette, if I could type it properly.
[00:11:17] Michelle Frechette: I was going to say the next thing is people have to know how to spell roulette.
[00:11:20] Mark Westguard: That’s right, yeah.
[00:11:23] Michelle Frechette: Rhymes with Frechette though. I mean it’s the Frechette roulette.
[00:11:31] Mark Westguard: Yeah. Michelle, let’s do cats select images. If we do this, then we should be able to actually refresh it, which will be nice. Let’s just, cat one. I’ll put a caption on there too, so you can see that. Let’s do cat two and cat three.
[00:12:04] Michelle Frechette: I noticed none of them look like your cats, though.
[00:12:06] Mark Westguard: No, no, wrong. Wrong color. And your cat as well.
[00:12:10] Michelle Frechette: That’s true.
[00:12:11] Mark Westguard: They’re very happy looking cats though.
[00:12:14] Michelle Frechette: They are, though. They are Cheshire grinning cats for sure.
[00:12:17] Mark Westguard: That’s right. There’s our gallery. Then we can add a page and Cat of the Day.
[00:12:29] Michelle Frechette: Cat of the day.
[00:12:32] Mark Westguard: We’ll search for Image Roulett. Let’s publish that and view it. There we go. It’s actually got the caption on there as well. As well as the alt text on there too. If we now refresh this, the playground won’t demolish itself. There you go.
[00:12:55] Michelle Frechette: There you go. It doesn’t just disappear.
[00:12:57] Mark Westguard: Quite amazing the amount of code. It just for that. But it’s cool.
[00:13:02] Michelle Frechette: Now, did you do all of this code straight out of your head or did you vibe code it.
[00:13:08] Mark Westguard: No, no. It was one of the first things I’ve ever vibe-coded. I hate that term. I don’t want to spend too much time on this. So I’m going to say to Claude, right, here’s what I want, and go ahead and build it now. Good old AI. It took several iterations and then me editing the code to get it to where I wanted it
to be, but it got me, it got me there quicker for sure. That’s for sure. So, yes, it was a little fun. I put Claude in. I think I was using Cursor, the code editor, and just
playing around with it in there. It was fun. The cats were AI-generated 100%. So I’m not very good at drawing cats. So that’s. That’s why.
[00:13:49] Michelle Frechette: Neither am I.
[00:13:52] Mark Westguard: So there you go.
[00:13:53] Michelle Frechette: Yeah, I’m. I’m learning to embrace AI.
[00:13:58] Mark Westguard: Good.
[00:13:58] Michelle Frechette: It was a little bit of a. I want to say it was not difficult for me to do, but it was difficult for me to remember that it was there because I just, you know, wasn’t used to using it at all. So, I use it. I don’t, I don’t let it write for me because I really enjoy writing, but I do use it for quite few other things, including creating alt text for images that I obviously make sure is accurate before I use it. But yeah.
[00:14:23] Mark Westguard: Yeah, I’ve been doing a lot of AI stuff recently with, with WS Form. I just did an integration with Angie Elementor’s new Agentic AI. It’s a bit of a tongue twister that, but it’s. It’s quite cool. So with that, what you can do is actually issue prompts that contain multiple steps in it. So you can say, okay, I want you to create a page, create a mortgage calculator, add the mortgage calculator to the page, and then clone the form and translate it into French. And it’ll do all those steps from just one prompt. It’s really cool.
[00:15:00] Michelle Frechette: And that took you less than an hour as well, right?
[00:15:02] Mark Westguard: I wish that one was several weeks.
[00:15:07] Michelle Frechette: I knew that would make you laugh. Hey, Claude, just do this one thing for me.
[00:15:12] Mark Westguard: I should have asked Claude to write that, right? No, I don’t let AI near my, my software on WS Forms yet. But it’s, it’s interesting. There’s. There’s so much. Just new tech coming out with all this AI stuff, all the MCP server, the Abilities API, and everything else. So I’m trying to keep up with it. So that I’m ahead of the game.
[00:15:33] Michelle Frechette: Yeah, you have to with this kind of stuff, I guess, huh?
[00:15:35] Mark Westguard: Yeah, yeah, for sure.
[00:15:38] Michelle Frechette: Marcus has a question. He says, do either of you use Comet, Atlas, or any of the AI browsers? If so, any interesting findings? Well, this is the first time I’ve heard of both of those things, so I’m going to go with no for me.
[00:15:49] Mark Westguard: Atlas is one I want to try. I was thinking about that this morning, actually. I need to try those. I’d like to see if those are actually tied in with the ability to talk to MCP servers, in case people don’t know what an MCP server is. It’s basically where you expose your tool, that could be a plugin or anything else.
You expose tools that do certain things. So my tools are things like create a form, edit a form, edit a field, add a field, and then AI can then use those to do cool stuff. I’ll be honest, I haven’t tried either of those. Yeah, exactly.
[00:16:29] Michelle Frechette: I guess I can be forgiven for not having heard of one of those. Toby says it’s also Mac only.
[00:16:36] Mark Westguard: Well, Mac I’ve got and I definitely want to give them a go. Yeah, it’s this, it’s, it’s overwhelming, isn’t it? There’s so much coming out with AI right now, it’s hard to keep up. So.
[00:16:47] Michelle Frechette: So I’m still using it as a very basic older person. And as you know, I’m writing a. I’m writing a novel and the main characters the novel’s based on real people. And so in the author’s notes at the end, I’m creating a, a family tree from those two people. Their children, their children’s children, and then their children’s children’s children. And so I was trying to figure out how to create this, and I could like any software that I was just expensive to buy. All I needed was this one family’s tree. So I was like, I wonder, I wonder if ChatGPT could do this. And it can. And even though that was several weeks ago, if I go back in there and I say, you know, Joe Smith’s wife was Helen, it’s, it remembers and it goes back and adds Helen to it. And so I was like, wow, this is so much easier than me trying to figure out how to do this on, you
know, easily.
[00:17:41] Mark Westguard: I like you it to just to speed things up, you know, there’s, there’s lots of things you can do code wise that it speeds up for sure. I can give it a huge script and just say, just tell where all the glaring errors, where’s all the mistakes I’ve made?
[00:17:52] Michelle Frechette: Yeah, exactly.
[00:17:53] Mark Westguard: And it’ll go through and dig those out and help me out. So, yeah, and the. I’m trying to build things for AI that do actually do something useful because some of the AI things that come out, you might as well just click a button in the first place to get it to do what you want it to do. I’m trying to make it do really useful things that save people time. I’m just taking advantage of it to make myself more productive. At the end of the day.
[00:18:20] Michelle Frechette: I think that’s wonderful. That’s awesome. There’s not a whole lot more to talk about. It’s a versatile plugin that you created for me. I will say, I really love that my name shows up on the page that you actually talked about that you.
[00:18:35] Mark Westguard: You are accredited for sure.
[00:18:37] Michelle Frechette: Out of that. So that’s awesome. And since it rhymes, it’s only.
[00:18:40] Mark Westguard: That’s right.
[00:18:40] Michelle Frechette: Makes sense.
[00:18:41] Mark Westguard: Next time we speak, we might have six installs. You know.
[00:18:49] Michelle Frechette: It might. It could say more than 10, but less than it one thousand.
[00:18:51] Mark Westguard: It should just say Michelle’s random, random image generator. That’s what it should be called. It’s your very own plugin, so.
[00:19:06] Michelle Frechette: And that it also is now useful to anybody else who could use the same functions.
[00:19:11] Mark Westguard: So, yeah, yeah.
[00:19:12] Michelle Frechette: Thank you on my behalf. And anybody else who needs it. For sure.
[00:19:15] Mark Westguard: That’s right. Yeah. Yet another plugin in the repo.
[00:19:18] Michelle Frechette: I love it. Is that two for you or do you have others that I’m not aware of?
[00:19:23] Mark Westguard: No, I literally have WS Form, which is the only thing I have time to spend time on. And the occasional plugin I develop for you. That’s it.
[00:19:33] Michelle Frechette: It’s so good to have best friends in this industry. I love it.
[00:19:38] Mark Westguard: I am working on a new feature for Marcus, though, who’s in the chat. He wants a field that just generates a rainbow, so I’m working on that.
[00:19:47] Michelle Frechette: Nice.
[00:19:48] Mark Westguard: Maybe I should make that. Maybe I should make that a block.
[00:19:49] Michelle Frechette: And I need to talk to Marcus, because, Marcus, if you’re still in in the chat, you’re invited to come back to this podcast next week. At the same time, I want to show everybody how you do the chat feature on the WP World. If we didn’t already do that. I don’t think we did, though.
[00:20:07] Mark Westguard: Yeah, yeah.
[00:20:08] Michelle Frechette: So I think it’d be fun to have that on there, show people how we can chat multilingually without having to know the other language. I think it’s just brilliant. So
Mark Westguard: Cool.
Michelle Frechette: So i’ll have to get Marcus back to show off that.
[00:20:19] Mark Westguard: The WP World is a cool site. He’s built an immense thing there.
[00:20:26] Michelle Frechette: It’s phenomenal. If you’re not already on there, you should definitely, definitely get on there. So if you are interested in the Image Roulette plugin, all you have to do is go to WordPress.org/plugins/image-roulette and that will get you right to it. You can also just search Image Roulette, and that will come up as well.
[00:20:47] Mark Westguard: Feel free to install it and not do anything with it, just to increase our install count.
[00:20:51] Michelle Frechette: There you go. Exactly. Just leave it there.
[00:20:54] Mark Westguard: That’s right.
[00:20:57] Michelle Frechette: Obviously, I don’t have a banner for it yet, but next week, Marcus Burnett will be on the show with me to talk about the WP Worlds chat feature, which I think is awesome.
[00:21:06] Mark Westguard: So, yeah, cool, Sounds good.
[00:21:07] Michelle Frechette: I’ll send you. I’ll send you an invite link for that tomorrow. Marcus, thank you for that. Any other questions in the chat before we just wrap. Button this up. Wrap it up as a quick one today. Marcus says the rainbow field will be one feature that will forever be coming soon. Lol. And I’m okay with that.
[00:21:26] Mark Westguard: That’s right. It will never be finished.
[00:21:29] Michelle Frechette: You should, you should ask. Ask Tammy Lister, Marcus for her Blocktober.fun. She’s been doing different blocks every day of the month in Blocktober for Gutenberg. So maybe she could do it quickly. I don’t know.
[00:21:46] Mark Westguard: That’s right.
[00:21:47] Michelle Frechette: But looks fun. So. So Mark, thank you so much for taking some time to show this off and for being on the show today. Always fun to chat with you. As you know, we text each other all the time, so.
[00:21:58] Mark Westguard: It’s good to catch up.
[00:22:05] Michelle Frechette: Always. And everybody else, thanks for being here. Join us next week, where we talk to Marcus about all the fun things that happen in the WP World. And before that, I’m going to double check my listing in the WP World, make sure that everything in it is accurate and up to date because it would be embarrassing if it wasn’t.
[00:22:22] Mark Westguard: But that’s right.
[00:22:22] Michelle Frechette: I really appreciate it. So Mark, thanks again for being here. Everybody else, we will see you next week. Till then, thank you.
Mark Westguard: Take care.

