Final Round Fixes and TestFlight Submission

Shamsudin Hakim prepares his Roxy dating app for TestFlight submission by creating 10 App Store screenshots using competitor research and Claude AI, then fixes a gender-filtering bug caused by mismatched JSON formatting in Supabase. He sets up a test account for Apple's review team and confirms the build is ready to upload.
Chapters
All right, mic check. All right, it's your boy Shamsudin Hakim again, the creator of the Roxy dating app relationship optimization self-coaching intelligence. And for this video right here, I just want to show y'all the process that, uh, that I'm going through in order for me to submit everything to the App Store Connect right here. I had to come up with some screenshots and possibly 3 app previews, but right just for right now, the purposes of this video, I just want to do the 10 screenshots that I'm going to come up with. Now, one of the things that when coming up with these screenshots, because it's a dating app, I want to make sure that I'm really hitting the dating market and not going, you know, kind of left. I talked about it in one of these other videos where I was saying, like, the language has to be right, that the language has to appeal to whatever market that you're in. And so I had to change some words and re— you know, redo some of my copy so that I could speak to those people that's wanting a relationship, those that are single, and those that are in the dating life. We want to follow the same procedure here when we're doing— when we're creating these screenshots so that we can actually speak to the dating market, not just through our words that we're saying, but also visually. Now, one of the things that I do is that I create a swipe file. And this is what all good marketers or halfway decent marketers do, is that they'll go out there into whatever market they're in, and they'll create a file just of a bunch of images that fits that market so that they can make sure that they're speaking the language of that market both visually and through their words that they're putting on the copy. Now, the thing that I want to do first is I just want to ask Claude, like, what images could it come up with? So I want to show you what it came up with first with Claude, and then we'll go and we'll do another prompt with Claude to see if it could come up with some better images for the dating market. Now, here's the first one. I like this a little bit because it has, like, you know, kind of like my framework and the, you know, different patterns that they have, the love patterns. But it's visually, it's not really saying what I needed to say. And this right here, this is really dope as well because it's showing off the messaging and how Roxy actually coaches you. And it's an AI coach. This one, because it shows the 5 pillars. But this one I don't like because it's just kind of stale and not really popping out at you and saying that I want to download that app and I'm going to use it. And this one the same way. Not— it doesn't have that thing that I need. All right. So the way that I go about, you know, getting, you know, content for swipe files, no matter what project I'm working on, is depending on where it's at, is where I'm at in the project. I just go and I look up stuff on the App Store and online. So right here, went to the App Store. Here's some of the dating apps I just put in. Top 10 dating apps. We could probably narrow it down more if it'll let me. Top 10 dating Apps.
See if that works. No, not really.
So you got Ashley Madison. That's not, you know, in my market. A lot of these I've downloaded because of my research that I did inside of dating. So Hinge dating, Match dating, um, Duet dating. And just look at their copy right here, how they're speaking, you know, date authentically, go beyond photos. So they have a screenshot of how it is in the app. Then they say, go beyond photos, things like that. See, all of that is really good and speaking to the dating market a lot better than what, you know, AI actually created. Like I said, AI is great, but you also have to know how to prompt with AI. You don't want to just rely completely on AI. You want to know how to speak to it so it can actually do what you want it to do.
Let's look at Plenty of Fish. I like that. Like that.
And it's like little subtle things that they do on all of these dating apps and relationship things that if you notice them, you can copy those as well. Like, they show a lot of diversity, a lot of inclusion. They'll have, you know, couples like that, um, right here. Another couple like that on Bumble.
Here on Plenty of Fish, same thing.
Similar, um, um, similar couples. Tinder as well. So that's something that we're kind of looking for, is to kind of follow that path and to have our designs like that. So let's see if we could do a more up close of it right here. Here's one right here. That's pretty good. That's for Hinge. I like that. Another one for him showing some of the features. His bumble showing off features again. Um, here's some more from Match. Yeah, so we kind of get the picture. I just did a group one right there. Yeah, we kind of get the picture what these dating apps kind of put out there in the market. So what I want to do now is I want to redo my prompt with Claude. I want to use some of those images, but also some of the images from my own app.
1, 2, 3, 4, 5, 6, 7, 8. Um, 9, let's do 10, 11. Let's see if we can drag those right here. It lets you do up to 20 pictures at one time, so let's do that. And then let's do some of these over here. 1, 2, 3, 4, 5, 6, 7, 8, 9. That should be 20. Copy these, do like that. Go in here. Due to network issues. Always feel like it was a network issue. Always failing because of network issue. Reduce the number of images. 1, 2, 3, 4, 5, 6, 7. See how that works. No, I don't want to share, want to copy. All right. Even when I don't have a network issue, it's still saying I have a network issue. Okay, there it goes. All right.
So what type of prompt do we want to do?
Let's just say, I like the images you created, but they are a lot.
I'm not going to say a little, a lot plain and dark.
Don't pop out to make someone want to at least find out more info. The descriptions you did were great, but the images don't complement them. Look at my app images and other images from my swipe file I gave you, and let's recreate, recreate the Let's keep the color on the white— no, on the pink and purple Roxy colorway, colorway, and go for a welcoming aesthetic. I think I'm spelling that wrong. That's why they got spell check. Aesthetic, possibly using images of couples in the copy. What's your Thoughts. Let's see what it has to say. Should have at most 20. I uploaded too many. Let's see, let's see, let's see. What can I get rid of? Let's get rid of some of these. That one's out. Make sure I ain't got no doubles. Yeah, this is a double, not 21. So it want to be a smart butt now. Oh, this a double too. So let's get rid of that one, and now it better do it.
Yes, I gave it—
I got some more doubles in there. How'd that happen?
So I gave it some, you know, pretty good images that it can use. So let's see what it comes up with. And all it's going to do is just analyze those images and then analyze mine and see what we can come up with. Because the, um, what I use for the color and the aesthetics of of the Roxy brand is pretty much on point. But when you go back to the images that it created, that's kind of like in a whole left field. And I don't want it to go that far left. Like, let's click on one of these again. You see how this is just that dark color? That's good if I want to do stuff on like Facebook and post on Instagram because it'll kind of pop out a little bit or even do like a TikTok video with that in the background. But as far as like right here, I don't, I don't want to use that for it. Like I said, I'm trying to get people to click on it. So let's see what it has so far. You're right, those first versions were too dark and techy. Yup.
Looking at your actual app in the competitor swipe file, here's what I see working.
Your app already has a beautiful pink to purple gradient identity. Bumble owns yellow, Hinge owns clean white, Match owns warm brown. Roxy should own that pink purple gradient with gold accents. Those all use bold headlines at the top with phone mockups showing the real UI below. That's the proven format. Now you see, I just said that, that they're showing the, um, they're using the bold headlines at the top with the phone mockup showing the real UI below. And that's what I just said is like, look at how they're doing all of these things. Like right there, got the phone pop-outs of certain features, what it does, what you can get. So here's my plan for the 6 screenshots. Stop dating the same person in a different body. I don't like that headline, so I already know I'm going to change that. Discover your love pattern, the 7 patterns with Phone showing the Intact profile. Yeah, I like that. Matched on more than looks. Phone showing Legendary Matches screen. Yes, your AI relationship coach. Phone showing Roxy Coach focus screen. Real conversations, real connections. Phone showing messages screen. Don't date different, date smarter. Date Intact. Closing call to action with match card. Yes, I like that one too.
So let's see.
Let me build these. Let me build these with more pink purple palette, big bold hooks, and phone frames showing your actual UI style. All right, so let it go through that. While it's doing that, let me show y'all something else while it's doing that that I found out, that I discovered while grind while getting all this together. I'm gonna go to Claude on my phone to show y'all this part because I was having issues with the, um, with making sure the gender is right. And I also had to go inside of, um, Claude because right here, down here, is asking you know, for sign-in and password. It says, provide a username and password so we can sign into your app. We'll need this to complete your app review. So I had to go into Supabase and I had to create, you know, a password I could give to them so that they can actually use it and get into the app. Now in doing that, what I discovered is right here. Because I couldn't get it right to where I set up the profile and said that this is a man that's interested in a woman or this is a male interested in females. So I said to Claude that I may have figured out the issue with gender not showing properly, where it sometimes shows both male and female. And the Supabase table under the column looking for, looking for in profiles, it says men. And that's how it's formatted with the brackets and, you know, the quotes. And then women, you see how I had the double quotes in the brackets. If Replit was looking for male and female without formatting it like JSON, that could very well be the reason why the gender wasn't completely showing right. And then, you know, Claude said, sharp catch, two potential issues here. And it gives the inconsistent quoting from men and women. And then it says the value mismatch. If the DB stores men, women, but the filter code checks for male, female, nothing matches, and it shows everybody. So either one will explain why gender filtering was broken. So it gives me the prompt to investigate it. And while it's doing that, still working on it, I believe it is. We're going to go ahead and paste this prompt in there.
If I can get the whole thing, probably can't.
So while that's working over here, I can actually go right here.
And find that prompt.
It shouldn't stop my other work. So let's go over here and let's get that prompt and let's hit that and then pull up Replit.
That's when I was doing my other work and go right here. Let's actually start a new chat.
I don't want what I was doing to get the dev out.
And then we'll let that work. See, it said working.
And we'll come back over here and monitor the thing that we're on. So we're kind of solving, you know, knocking out two birds with one stone. And I knew it was going to be in—
no, that's something else. Let's see if it was interrupted.
Okay, it's still working. So yeah, we're knocking out two birds with one stone so that we can, you know, get it ready for the upload to TestFlight, which the build is already there. Y'all can see that over here. The build is already there. And we just had to finish this little bit of information, the sign-in that's required and the password. I could actually—
I don't think it's—
yeah, it's right here in this chat. Um, the username, I think the username is going to be the email.
Do that. Password, let's password is— it didn't even create a password for me.
So that's—
oh, here it is right there. I knew it did because I put it in there. All right, and then that's the password.
Let's hit save real quick. So we got that part set up. So all we need now is we just need the images because everything else is set up. So let's see where it's at right here. So let me finish the last screenshot and then render all 6. Now let me render all 6 to both sizes.
Perfect. Let me match all 6.
I mean, I love just taking screenshots of the stuff that needs to be done. And then uploading it and everything. All right, let's see what they said over here on Replit while that's loading.
All right, it says, let me investigate this thoroughly. I'll search for all references looking for, and now let me read the critical. Now let me check how looking for. Now let me, now let me use it for matching display. Here's my complete investigation. I found two distinct bugs and a data inconsistency risk. Bug 1: data format mismatch between storage paths. There are two separate storage systems, async storage local and Supabase, so values in Supabase would be depending on Postgres stores. Bug 2: gender value mismatch in filtering, the real blocker. All right, we got somewhere to filter at. But get us preference lines. However, the real remaining risk are profile per uses and for looking for no JSON parse is called on what needs fixing. Normalize profile template, no JSON parse to filter logic. Want me to go ahead? Before we go ahead, you see that just popped up on the side. Let's do this. I'mma copy that. Oh, that looks beautiful. But before we go and look at that, let's go back over here. I hope this doesn't paste it as a document because I don't— I mean, as a picture or anything, so I don't have any more uploads. Okay, it didn't. And just type here at the top, if it'll let me, this is what "Replit found the breakthrough we need. Analyze and report, please." Hit enter.
Let that work, and we'll go back to our other tab over here, and let's look at the images that it created for us.
All right, let's look at the hero image. Okay, stop dating the same person in a different body.
I like that a lot better. It has the colorway.
It's a little bit more inviting with the color. All right, I don't like that. All right, that's just That's stupid right there. That's pretty good. That's pretty good. No, that's ugly. That's good. Um, let's do this. I'll play with this a little bit more. Let me see if I get one more prompt. Images are okay. Let's incorporate my actual screenshots this time. Keep the copy, just use actual screenshots that I gave you. I think that is more welcoming than avatars and emojis. All right, while that's working, let's go back over here. Okay, says so in This is solid investigation is the bottom line. Filter code is actually okay. The real problem is dirty data at the source. 3 different files write gender values in 3 different formats. Profile to fix simple normalize to message system. This is a quick win. Fixes the root cause without touching the filter logic that's already working defensively. S—
All right, so long story short, we found the cause of everything and these images are working. So for now That's the end of this video, and we'll get back in. I'll show y'all the next one, what actually happened. Peace.










