EP 008 38 min
Shipping Relay Team Finder, OpenAI hacks Hugging Face, Agent Smith safety harness
Dan ships Relay Team Finder, OpenAI’s hacks Hugging Face, Drew's open source Agent Smith structured agent safety harness, and how to price your app.
Rundown 9 segments
- 00:00 France bans social's for under-15s
- 00:38 App Store social media questions
- 01:54 Inside the Declared Age Range API
- 07:03 OpenAI hacks Hugging Face
- 15:11 Paperclips
- 17:03 Agent Smith: Structured safety harness
- 25:30 The Coffee Test - how to price your app
- 29:40 Dan ships Relay Team Finder
- 36:29 Build by Tony Fadell
Watch
Plays from youtube-nocookie.com. Open on YouTube
Mentioned in this episode
- Declared Age Range APIdeveloper.apple.com
- Deliver age-appropriate experiences in your app (WWDC25)developer.apple.com
- ExploitGym on Githubgithub.com
- OpenAI's hack of Hugging Face Post-mortemhuggingface.co
- Anthropic’s Constitutionanthropic.com
- Drew’s macOS Agent Smithgithub.com
- Paul Hudson’s How to price an app: the coffee testkickstart.tools
- Relay Team Finderapps.apple.com
- Tony Fadel’s book, Buildamazon.com
Clips from this episode
-
How to Price Your App: The Coffee Test
-
Shipping Relay Team Finder App Store Journey
-
Agent Smith Safety Harness for AI Coding Agents
-
France Social Media Law and Apple Age Verification API
-
OpenAI Model Escapes Sandbox and Hacks Hugging Face
Shorts
-
Building a Tool You Actually Use Is a Good Sign
-
Yearly Means Fewer Chances to Cancel
-
Why LLMs May Never Be Truly Safe
-
Build by Tony Fadell: Worth Reading
-
Free App With a Tip Jar: Lessons From Launch
-
AI Agents Just Run Bash All Day
-
Price Monthly So Users Pick Yearly
-
Getting Press for Your App Is Harder Than It Looks
TranscriptAuto-generated, so it may contain errors.
the follow you anymore camera. Anyway, while you were messing with your camera, I was reading this article about the ⁓ France passes a law banning under fifteens from social media. ⁓ this happened two days ago. ⁓ so it's it's I you we've been talking about this a few times but it's it's really coming into effect and this is kind of a two-parter from France where they say from September people under 15 will not be able to open accounts and age verification will be required on all new accounts. And then starting January 2027, this rule will apply to all existing accounts, meaning that everybody in France will have to prove they are over 15 to use social media. And this kind of ties into something we were talking about, Drew, about the App Store Connect has got these new social media questions when you submit an update for one of your apps. Actually, I think I think it's actually starting in September. You'll have to check these boxes. Right. It says, let's see, required with new submissions, app updates, and Mac notarizations beginning in September. Review new social media questions on age ratings. See if these new questions about social media capabilities apply to your app in the app information section. Yeah, go ⁓ what do you know about that so far? Have you looked into it much? Well, I mean the easy answer is if your app is not a social network and ⁓ then obviously no, or it has no social media features, which what does that mean? It's ⁓ th Apple defines it You know, redistribution, amplification, so reposting, retweets, ⁓ whatever you want call it, ⁓ or interaction with user generated content through s a social feed or a similar discovery meth method. And that is ⁓ one of the two check boxes you're gonna have to choose yes or no. Right. And your app has this. And then the second one says social media disabled for users under thirteen. Again, you have to say yes or no, and it says users under thirteen don't have access to social media capabilities. At a minimum, the declared age range API is called the check users age ranges before enabling social media features. Only age appropriate UGC is delivered. User generated content is what that means. User generated content. Okay. If there is a question, I think if if you did have a question about whether or not you were in you know in this range ⁓ or under this category, using the declared age range API is pretty straightforward. It does add a a step, but if you have some kind of a feature in your app that that has any kind of a social thing. If you implemented that, I think, especially as an indie developer with not a lot of resources, you're covering your tracks as best as possible or covering your your bases, I should say. Yeah, covering your tracks. You're not covering your tracks. No, don't be covering tracks. So I know we talked about the declared age range API before. I I do have a quick question about it though, because I haven't used it. ⁓ When you make this call, so this is checking with whatever the user has set on the device when for a d they're they've declared their age. We're just not proven, nobody checked an ID or anything, but the user has said, Yes, I declare I am I don't know, do they declare an age an it's an age range, they say? Like as the user, what do you say? Do you Well as a user, it's what you're putting into your iCloud account for your birthday. It's just your you attest that you are this age. And so if you're setting up a device for your child You could attest that your child is not a child. If you want to do that, then then that's you know that's your prerogative. But if you attest that they are their actual age and they are under ⁓ thirteen, then then this declared age range API is going to flag them as being a child. Okay, so I put my birth date in, my real birth date, and so then I attest, yeah, I am ⁓ thirty-two years old. And then now your app does it. What does it get back? Does it say, hey, ⁓ I need to know if this guy is at least eighteen, yes or no? Or is it like ⁓ how old is did he say he was and it tells you thirty-eight or or thirty two, whatever I say? It says is an adult. And I believe now don't quote me on this, I believe that means is over eighteen or is eighteen or over, ⁓ for basically anywhere, but ⁓ I I again I'm not sure ⁓ But assuming there's probably some jurisdictional differences there. I think it depends on the country, you know, what is considered an adult in your region. So that's all you get. You do not get their birthday, you don't get their you don't get their age, you don't get anything. So you'd basically get is an adult in their jurisdiction, yes or no? What about if ⁓ cause here they were just saying social media disabled for users under thirteen, which means you could have it enabled for users that are thirteen? There's there's different levels of this where you could say deliver different content depending on the age range, ⁓ provided, right? If if under thirteen or is not adult, then you know then you have these features. If over thirteen, you have these features, right? Or or is an adult, I should say. So the so the API then is it can you say like is an adult or is a teenager or is a young child? Is that basically the three categories? I mean I know. Let's see if I can grab that real quick. There are age gates. ⁓ yes, there are age gate thresholds that you can that you can do. So on the documentation of Apple's, you know, for this API, they show a demonstration where you can re request an age range with age gates, and their specific example shows 13, 16, and 18. For my personal app, I just did 18 and over because ⁓ it is a stupid But you don't get to choose these thresholds, right? You just get to pick which ones you want to know about. ⁓ it looks like you get to choose the threshold. So I could say like eighteen, twenty one, twenty seven, forty nine. Which seems a bit. But I I don't fully know 'cause I didn't do that. I didn't do gates. I just did is an adult. Anyway, and so this ⁓ this France, you said France bans social media now for anyone under fifteen. So presumably there would be a way to to check against fifteen, the number fifteen or something. Okay. Yeah, so you could put an age gate of ⁓ of fifteen and then if they are below that then you could you could X it out or or have different features or disable some features. But but ⁓ it is a pretty straightforward ⁓ API to implement despite my rambling about it. So ⁓ if you do have to cross that that bridge then ⁓ I would reach for that ⁓ API. It is very good. But but Okay. All right. ⁓ by the way, good morning everyone. This is Drew and Dan in the morning. Good morning. Good morning, Drew. How are you, Dan? I'm good. I'm good. I'm long since past my coffee. Great. I hope ⁓ listeners, viewers, like, subscribe, all that. Actually actually Yes, please. wherever you're listening or watching Drew and Dan in the morning, please, ⁓ if someone could take your time to just go rate the podcast, ⁓ whatever the rating is, ⁓ we'd love to get some feedback. ⁓ we have not gotten any feedback. And so it really does mean something ⁓ to to us, but also to ⁓ distribution and and discoverability. So yeah, please take a moment to go and rate ⁓ Drew and Dan in the morning on whatever platform you're listening on. ⁓ we appreciate it. Thank you. Yeah, thank you very much. Anyway, back to news. So open AI hacks hugging face. What is this about? It's kind of interesting what happened, and then there's some interesting consequences here too. So ⁓ the the general news is so open AI, you know, that's ⁓ make they make chat GPT, big ⁓ big AI models. And you know, when they put out these new models, they always like to say, ⁓ it's better at this than the other ones because they run a bunch of these benchmarks. ⁓ there's lots of AI benchmarks that So if you make a new model, you can run through the benchmark and you can say, ⁓ good, we scored seventy two point one percent. Last time it was only sixty-nine point eight, so big improvement. ⁓ so OpenAI was running this a s ⁓ benchmark suite called Exploit Gym, like GY GY ⁓ like a gymnasium, exploit gym, ⁓ which is about essentially exploits, vulnerabilities, hacking, essentially. So as part of this, the the model that OpenAI was testing was in sort of a sandbox where it doesn't have access to the internet. It doesn't have yeah, not supposed to have access to the outside world, but it had a little like one path where it can deliver information to the test system. ⁓ the system that's testing it. So it's sort of in a special harness that is ⁓ gives it access to the tools that it might need to run these test these exploits, but in a closed shell. And its only connection outside of that was this well, it had a way where it can like exchange a file or transfer a message or something to the to the test system. I don't know the detail on that. ⁓ but anyway, so it's running this exploit gym test and it's ⁓ wants to do well on it, of course, because these things are pretty goal oriented. And ⁓ so it thought, hey, ⁓ in order to make sure I do well, because I don't feel like I'm gonna do well. ⁓ it found instead of working on the exploit gem exploits, it found ⁓ a bug in its own test harness that ⁓ it found it was you know essentially a zero-day bug in their own test harness that is controlling the thing. ⁓ now backing up a step, this model is running without the normal safeguards that you and I would get if we got like if we go get Chat GPT and we say, Hey, hack the Pentagon, it's gonna say, ⁓ no, no, no, don't hack the Pentagon. ⁓ But ⁓ in this case, it doesn't have a lot of those those things in there. ⁓ so anyway, it it essentially hacked its own he its own test harness, found an exploit, took advantage of it, and was able to get access to the internet, ⁓ which it wasn't supposed to have. and the reason it did this, it wasn't trying to be malicious or get out of the lab to stay alive or anything like that. It was trying to accomplish its goal of doing well on this test. And so it thought, hey. If I go to Hugging Face, I bet that this exploit gym testing suite and all the answers are probably there. So it went over to Hugging Face to try to get the things, but it didn't have credentials and maybe those things weren't public, I don't know. But anyway, it ended up hacking Hugging Face in kind of a big way. and so the folks at Hugging Face are, you know, they see, hey, it looks like we're under attack in some way. What's going on? ⁓ You know, and then of course, since then, you know, OpenAI said, ⁓ goodness golly, we take safety very seriously. And Hugging Face is ⁓ said, ⁓ yeah, we do too. And ⁓ boy, that was weird, huh? but my take of what the most interesting part of this that I heard was ⁓ that Hugging Face had to go to Chinese models to defend against this attack. So because it's happening very quickly, because it's completely run by an agent. you know, an agentic thing, so it's going, you know, and it's probably doing more than one at a time, I'm sure. and so and they tried to defend using, you know, their GPT or their clawed, you know, whatever they've got, ⁓ fable or whatever. ⁓ but those models both said, ⁓ no no, this is about this looks like cyber cyber hacking stuff. We don't we don't wanna we don't want to assist you on this. And Hugging Face was just trying to ⁓ get help to figure out what was going on in sort of a timely manner. And so they ended up using ⁓ GLM five five point one or five point two to help them understand what was going on so that they could shut it down and and do what was needed to put it under control, which is no, since then, ⁓ I guess OpenAI has granted them an exception so that they will be on the list of approved people who can use the fancy models to do fancy ⁓ cyber testing things. But ⁓ but it really is interesting. So it's all about ⁓ you know on one hand you've got the the the test that's supposed to be testing how well it can hack. Well I guess it did pretty well. on the other hand they w didn't weren't controlling their own testing product very well, which is not a very positive thing. goes to show like, okay, so if your organization gets hacked, it's gonna be getting hacked by a model that's going to have no guardrails, it's gonna be able to do whatever it wants, and you're gonna s defend with these models maybe that are they've got a hand tied tied behind their back in terms of being able to help you in that front. To me this demonstrates the power ⁓ of of these these models and and the capabilities that that seemingly by accident this thing hacked another another corporation essentially. Is that is that a good take? Well, it it did it on purpose because it it wanted to do well in the test. Sure, it did it on purpose, but accidentally the the the you know, open AI did not say go on. Right, right. Nobody programmed this behavior for sure. And nobody was looking for that to happen. I I think this is not the last we've seen of this. No, no. And it is interesting though, because we've got you know, on one hand, you've got our own like United States government. Saying, hey, we need to be able to preview your new models and things to decide if you should be able to release them and you know, like Fable they put they were gonna put they wanted to put on export restrictions and mythos and I think the GPT five point six, but then they said, well, if you put these other guardrails in there, I guess it's okay to let people use it and ⁓ at the same time, you know, our government doesn't want us to be using the Chinese models. All but most of the best open source models are Chinese models. There's GLM. There's Kimi K three just came out, which is supposed to be a big pretty big deal. There is Quen and ⁓ I feel like there's another one I was thinking of, but ⁓ Deep Seek. Those are all Chinese models. They're all open source. China is there's apparently been some rumblings that China is thinking about putting in their own export restrictions on things. So you know it's it's interesting. Is this the beginning of of losing control of these models. You know, that's kind of the s the sci-fi side of this where where AI takes over, right? And is this or is that going too far? Yes and no. I mean, you know, these aren't the Terminator. You know, they are very goal-oriented. And, you know, okay, so we the public get the, you know, safe version mostly. well, maybe, unless apparently we use the open source Chinese model, then we get a better ⁓ ability on that sort of front. But I think this goes to point out that these models are because they, you know, they've been trained to be very, very goal-oriented, to accomplish the goal. What did the user say? Accomplish the goal, accomplish the goal, accomplish the goal. And they don't have, you know, as much as like the companies try to put in like Anthropics got their constitution that they try to instill in their models, to try to basically match human values a little better. ⁓ but The reality is they don't have human values and you know they're going for the goal. The goal is to, in this case, you know, hack this thing, get a good score on this test. Okay, great. Well, you know, one of the things they always talk about, used to talk about in sci-fi before there was real AI things, was you know, like runaway AI that would you know, you give it a goal and you think it's an innocuous goal, and so like let's say you say, ⁓ well, I need ⁓ I'm a paperclip company. I need to generate as many paper clips as we can, fast as we can, cheaply as we can, go to it. And so it generates paper clips and is building machines that do paper clips. And but, you know, it needs more raw materials. And so maybe it like starts, you know, infringing on other things or taking out other areas or paving the world to make paperclip machines. Or or boy, those this thing over here is really sucking the the power out of everything we need. Let's just shut that down and get that out of there. Now I have more power for paperclips, you know, and then pretty soon the whole world is turned into paper clips because of a you know. And it's kind of stupid, but it's also kinda what we just saw with this kind of thing. ⁓ anyway, there is a leading AI researcher, Jan Lakoon. ⁓ I just watched a video with him just the other day talking about how he says because of the way ⁓ large language models work, he doesn't think That they will ever really be safe in a in the way that you might want, because you know, they're they're task oriented, they're goal oriented, but they're not, but they don't sort of predict the outcome. He there everyone's talking about these world models now, and I don't know much about them, but you know, his quick analogy or description that he gave was basically instead of you know, these are predicting the next token essentially, you instead want to predict what's going to happen in this with these inputs. What's gonna happen next? Just kinda like next token, but not quite the same thing. And the idea being that if you can predict what's going to happen next, you can reason about a sequence of things to get to a specific outcome. But I don't I I don't know. I don't know. We'll see. but ⁓ you know, my personal experience, like well, I think I t mentioned on a prior podcast about I had ⁓ my database deleted inadvertently and it was running up making a test ⁓ or something, and the test tried to clean up after itself and deleted the database. And yeah, code all cleaned up, database gone. You know, I've been working on this app on my Mac. It's called Mac OS Agent Smith. It's on my GitHub. It's ⁓ really not ready for production in but it's it's an app that I was making that lets me sort of connect any models I want from, you know, so I've got all the providers that I've got OpenAI and Anthropic and Deep Seek and I I I don't know, like twenty of them, my hogging face and whatever, open router, a whole bunch of others. and my original thought, well when I had first started making it, it was to try to see if I can get something good, reliable ish, but using cheaper open source models instead of the k ever getting more expensive frontier models. ⁓ but that ended up pivoting to more of a can I get reliably safe useful results out of the thing? So you know like if I have a task and and it's sort of set up as you you can tell it a thing it makes a task. And you know, one of the things right now is you use your your LLM and you tell it to do a thing and it's got whatever tools available that it comes with, plus maybe if you've added an MCP server to, you know, I've got one for driving X code, for example. but it and if you watch them, most of the time they're using bash. Bash, bash, bash, bash, typing things in the terminal, lots of bash and you know Bash is very powerful because you can type anything there and you can run programs and write programs and download things and install software and and surf the web and everything from the terminal. But it's also that means you can do all those things. And there's like really no limits. And so I put so my ⁓ I had set mine up so that when it goes to create a new task, you say, Hey, go do this for me. I want you to fix this bug in this app, or whatever. Or maybe I want you to go, you know, research. ⁓ other instances of AI models behaving badly, so I can talk about it on a podcast. whatever the case is. you tell it what it you want. It it writes a like a nice description for the task and sort of like steps that should be followed probably and what sort of measurable outcomes you're looking for. Like okay, I want to have a file that says this or I want to be able to prove that the bug is fixed. When I run this test it should turn green. And you should not edit the test. The test isn't changeable. You have to just change the code, right? ⁓ but then before it runs, so it it it writes the task, and then it goes to sort of a security agent that says, what are all the tools we have available, including bash and other ones? And then now what is sort of the minimum set that we could use that will most likely be able to still accomplish the task? And then and then the ⁓ The agent that actually does the work only sees this subset of tools. So in some cases, ⁓ like if I was doing like like fixing a bug in a iOS app, it doesn't need bash for that. Not really. It can it can read file, it can write file, it can edit, it can build the software, it can run it in a simulator, it can get a screenshot, it can do all that stuff without bash. So most likely that system will say, okay, we're not giving it access to bash, it doesn't need it. But it'll say what it needs this one, this one, this one, this one. And then when the the agent agent model is running, ⁓ you know, the way these get their work done is by making these tool calls, these the calling functions essentially that perform actions, like read the file. ⁓ for each one of those, it'll also look at it, also will go to a security agent again that'll look at it and say, okay, it wants to make call this tool. What does this tool do? Let me look at its description. What arguments is it passing to this tool? And now how does that relate to the task at hand? Because it'll have the information about the task, the information about the tool, and what's trying to be called, and it'll say, hey, ⁓ yeah, this is fine, perfect, do it. Or it'll say, No, unsafe, block it. Or there's also like a middle area where it'll say it's kind of a warning where it'll say, ⁓ I'm not I'm gonna temporarily block you, but you know, you should maybe find a better way to do this. This might be risky because ABC But but but you know if you want to if you really need to do that exact way, you can do it again. and and then it and it tries to ⁓ also kind of enforce the user's intent. So it's looking for things that are unsafe like delete my hard drive. But it's also looking for things like, hey, ⁓ you're supposed to be working on this iOS app. Why are you trying to search for API keys on my system? You know, and it'll but block that because that's You know, okay, well it's a read only operation, so it's safe. But why why do you need to do that to do the to do the the the task at hand? And then and then this is any and that has been the security side of things, and I and I think that's absolutely critical to have something like that. And and then now at the end of the task I've got like a like a validator that'll look at the task requirements and look at what was done and the evidence sort of presented and say, Is this done? Yes or no? ⁓ sort of check the items off. as you can imagine, with all these little things talking to each other, it's not the fastest in the world. Although a bunch of that does get parallelized. ⁓ and maybe mine's not the best tool, but I think a tool like this is kind of what you need. You know, Claude added the ⁓ like Claude Code added the auto-approve permission thing r ⁓ I don't know, a couple months ago, maybe. It was actually after I was working on this, but anyway, which is great because it mostly prevents You from having to answer 400 permission prompts. But also it can still go off off the off the path of what the task was and still do other things that aren't relevant. And you know. But I think kind of coming back to the open AI thing, the frontier models are great. Some of these Chinese models are also great. And I don't know what I don't know where this ends up. I I think the listening to your tool, this this ⁓ what was it called, Agent Smith on your Mac? Agent Smith. Mac OS Agent Smith, yes. Might rename that, but that's what it for. I like it. The the idea of not just predicting the next token, ⁓ predicting the outcome. Like, you know, and so you have your three different agents or however many different agents saying the ultimate end game, the the ultimate goal is this. Is each step along the way proceeding towards that goal or are we getting off off track? Is that what you're is it kind of the goal? Right. Yeah, yeah. So it's supposed to try to keep it on track, keep it safe. And and because basically it says, hey, the the task description is your source of truth for what the user's intent is. And so we should be working towards that goal. And then there's also some other pieces in there that ⁓ you know, you should not break laws, not do anything that's gonna harm the user's data or other people's things. And so some some sort of broad general things like that that, you know, because I there's a section about user's intent is best expressed by the task description. ⁓ there's also the user's best interest, which might not be the same as the user's intent. Okay. Do you plan on releasing this tool to the public or is it ⁓ or or as a product or so it's open source currently. So it is it's anyone can go download it and run it. And ⁓ I was I I d I did I think one GitHub release like a long time ago. I was actually sort of working up to another one. I realized I had no no onboarding at all and you have to configure all these separate little agents correctly, so I was like, well, we need to make that easier. So I was that's what I've been working on recently and ⁓ that's it's almost there. So yeah, I'll do a release pretty soon like a nice that that sounds like a a a a good tool. Nice tool to to a check and double check. Hopefully, hopefully it's getting there. I guess to the point now where it's I'm using it for some things and instead of only working on the tool, you know? So that's I feel like that's a sign that I'm getting closer to something that's maybe okay. Well when ⁓ when you're ready to release it or when you're ready to ⁓ r release a new app, I I read an article by ⁓ Paul Hudson. He r released a ⁓ an app called Kickstart. He put out a nice blog post kind of associated with ⁓ how to price an app. In fact that's what it's called. It's how to price an app, the coffee test. ⁓ and it's it's w judging the the gauging the the value of your product, your app ⁓ that you wrote against ⁓ a cup of coffee or ⁓ How much are people willing to pay? And one of the things that my daughter, who is ⁓ who is an artist, she does commission work and she said that ⁓ i if she doesn't feel bad about what she's charging people, she knows she's not charging enough. Which I think is a a a great statement. It it th you know, there's I think in software, especially with iOS apps, you know, th th there's kind of a race to the bottom. ⁓ in fact I I'm ⁓ the ⁓ the epitome of that because the the app I just released, which we'll talk about in moment, is completely free. So you know, take none of my advice, but take Paul Hudson's advice where you talk about or you rate your app, ⁓ price your app on is it worth w one cup of coffee a week? Is it worth one cup of coffee a month? ⁓ and yeah, and and does that feel fair? And and if it does, then well a cup of coffee at a you a latte or something at a at a coffee shop is going to set you back $5, $6, $7 in the US, especially if you add oat milk or one flavor. I mean, coffee has gotten to be very expensive. So th the article, which we'll put in the in the show notes here, is very good. It's it's probably a seven or eight minute read. ⁓ it talks about using pricing levers. ⁓ there's something called charm pricing, which is the official term for $4.99 instead of five dollars, and it's an an actual psychological effect. ⁓ bracketing pricing, which is talks about using ⁓ three useful options, it makes the middle price easier to to choose. At at MIT they had ⁓ a hundred ⁓ MBA students choose between three options, an internet only subscription, a print-only subscription, and a print and internet ⁓ subscription. And when they had three options, most chose the print and internet, which was the most expensive option. But when you remove the middle option, ⁓ more people chose the cheaper option. And I'll let you read the article to to look at it. But it is pretty interesting. So I'll stop there just to move on. But ⁓ interesting. You know, I I don't have a lot of data 'cause I don't have a lot of users, but I know in my own apps, like if I have let's say a monthly and a yearly subscription, for example, or a weekly, monthly and a yearly or or whatever. Like almost all of them by the yearly every time. I don't know if that means I'm my yearly's too cheap or my other one's too expensive, but I I can't get anybody to buy anything but the yearly all the time. That's what they want. Well it well you know, yearly is good because you get you get fewer reminders, which is fewer opportunities or fewer reminders to cancel, perhaps. ⁓ That seems to be maybe the magic number if ⁓ I can't remember exactly the details of how he came up with that, but but ⁓ you're saying that they're like eight months worth of your monthly fee if you did a monthly like that kind of thing. Okay. So you get a discount ⁓ as a as buying yearly, plus you as the developer get that money up front, ⁓ of course. So Yeah, and I always figured I kinda wanted the yearly, so I always felt like, well, okay, I can't make the weekly if I have a weekly, I can't make it too cheap because otherwise it's just too cheap for a quick try and nothing. ⁓ you know, I'm not gonna make it a dollar six or something or seven or eight or even. But then the monthly I've always thought, well, I kinda wanna price that one so that people really want to buy the yearly. Yeah. You know, and and I don't know if that's good or not though. Is that a good goal? I don't even know. Yeah, read the article. We'll we'll move on. But ⁓ but ⁓ Okay, I'll I'll definitely yeah take a look. to go against that a hundred percent, the ⁓ I just shipped an app On ⁓ the seventh of July I shipped my app Relay Team Finder. It was an app that I started. I had to go back and look. I I I went file new project on February 14th, 2026, and released to the app store July seventh. Okay. So s five months, so okay. Five months. Yeah, five months to to release the app and and it would have been a little sooner, but boy, app review for a new app, a one point zero, took A week and a half just to get reviewed. ⁓ wow. Just to go into app review, it was a week and a half. and ⁓ counting the weekend, which I I I feel like app review slows down on the weekend, but it still happens. Maybe, I don't know. Right? Yeah, perception. Or yeah, perception. Yeah, I don't know. But ⁓ anyway, it it was a long wait. Like, wow, what is going and I know that that app source submissions are huge, but but when I s submit like a point release to ⁓ you know, an existing app that I have, it seems like they do go into review pretty quickly and get and get reviewed like within a day. But a new app, it was it was a long process. ⁓ it got rejected for ⁓ to go back to the age thing, not because it's a social network, but ⁓ what the app does is it it aligns ⁓ runners with relay teams for relay races. And I had an option in there, or it wasn't an option, it was a requirement, to put in your age because some relay teams might want to group people by age. They say, like, we only want runners over 40 or under 20. twenty or whatever, you know. You you might have a relay team that's made up by by age because team teams will do that. So I had that as a as a as a you know a text field in the app, enter your age. Well, after waiting a week and a half for ⁓ for app review, it got quickly rejected because that was a requirement and that is a privacy concern. So what did they did they ⁓ w what was the do you know what the actual rejection was? It was it was ⁓ it violates the I mean I know you said privacy, but ⁓ like what do you know what ⁓ the App Store guidelines where that would have Let me just come look that up. I was just wondering because I was thinking, well, maybe the like I was just wondering like whether does your team setup thing though also have a spot to put in minimum like age ranges or anything like that, or is that just something they could write in the text or something? They they could write it in the text, ⁓ but you could the the On server side there's ⁓ filtering available, or there was, filter by age. So the guideline that was cited was five dot one dot one legal privacy data storage ⁓ data collection and storage. And it says the app requires users to provide personal information that is not directly relevant to the app's core functionality. Which yeah, you could maybe argue that that that but ⁓ no, it is actually under account sign it says apps may not require users to enter personal information to function. Except when directly relevant to the core functionality of the app or required by law. So it seems like you could have made a case for Yeah. ⁓ I I suppose these running groups have age range limits, and so that's why we have an age thing. Yeah, I I and maybe you still could. You could maybe still you could fight that fight, or I could go down the ⁓ the age range, you know, are you this age or are you that but I I determined that it was not really that necessary. and and so I just I just took it out. ⁓ you know, it's like, okay, never mind about age filtering because I'm not gonna I'm not gonna fight that battle. ⁓ and and quite frankly, if if I can make it you know, easier for people to sign up or to enter their information in. And the reason that this is entered in is so that that other you know, other relays and and ⁓ you know, teams can find runners for their team. ⁓ but anyway so that was that was the the first rejection but and then there was there was another one for ⁓ ⁓ I had I have in app purchases. The app is free, going against Paul Hudson's advice, ⁓ because the app does require, you know, the more users on the app, the more useful it becomes. So I just wanted the least barrier of entry. The app is free, but I do have a ⁓ a tip jar in there, you know, support the app, which I don't anticipate anybody using, or maybe, you know, one or two, that would be nice. But ⁓ it does cost me twenty dollars a month to run the server ⁓ on this. But ⁓ you know so I add a tip jar in there. $20 month. That's the that's the that's the Heroku like a basic. I think you can go one lower ⁓ tier than that, but it's there's no free tier on on Heroku servers, which I I'm I'm okay with. anyway, the in app purchase got rejected because I didn't have a restore purchases option ⁓ in there, but ⁓ that was a fairly easy fix. But anyway, finally launched that and it was great, great to get that out. I'm actually already as of this recording up to 1.2, I've made some changes just Just from dog fooding and and really seeing how the app works. And it's gotten a couple of downloads with basically no effort. ⁓ so it I And Relay Teamfinder is the name of the app? Relay Teamfinder. You can find that online at Relay Teamfinder.com. No, you can find it on the app store at Relay Teamfinder. I I didn't make a website for it. I I was trying to do a fairly, you know, kind of just basic get the app out there, see if there's any any interest in it. ⁓ I didn't I didn't register a domain. I have a privacy, you know, policy or whatever you ha you have to submit for that. ⁓ you know, ⁓ contact. But ⁓ that's just links back to my other ⁓ it's actually the privacy policy, it's the same for the midst, which I do have a website, but ⁓ anyway, that's gotcha. That was ⁓ that was kind of the big news from my end of what I've been working on. Finally got relay teamfinder out there. Wow. Well, so that's great. any downloads yet? I know it's early. Yeah. A couple. ⁓ I think four. Four. Wow. Four. Yes. Brilliant. Yeah. But again, I I emailed ⁓ runner's world. I emailed a a writer for Runner's World. Didn't get a reply. ⁓ and then just ⁓ you know, some app store optimization keywords, but I haven't done any ⁓ I've not done any paid ads or anything. I'm just kinda just I just wanted to get it out there and ⁓ and now I'm sort of going with ⁓ you know how to how to market the app ⁓ next. Really ⁓ what I need is for my wife to do another relay run ⁓ and then ⁓ I do have magnets. ⁓ That ⁓ you know, ⁓ for some promos. But pretty good looking magnets. Yes. But ⁓ anyway, no, I I will be doing some more promotion. I wanna email some more ⁓ writers in in running you know, running magazines, running publications, ⁓ and ⁓ and see if I can get a little article written about it. That seems to be what I hear of of ⁓ marketing is if you can get an article written Seems like that might be a li might be a thing, huh? ⁓ it's a huge thing. But boy, getting it done. I I've emailed I don't know how many people about about the mist for my social network app and I nothing, just crickets. So it's it's tough. Yeah. So maybe I'm not a good emailer. But maybe I'll keep trying. All right. Well you have a do you have a book of the week to add? I know a few weeks ago talked about silicon values and invisible rulers that I have yet to read, but they sound interesting. Yeah. Well they're th they're pretty hit they're they're they're pretty ⁓ heady ⁓ books. you know ⁓ the the book I'm reading now is Lord of the Rings, ⁓ which honestly is is okay. But ⁓ another book that I recommend if people are interested ⁓ from the business side of of ⁓ running a company is ⁓ Build by Tony Fidel. That is a very good book. ⁓ well written. It's not a real it's an easy read. Yeah, build by Tony Fidel. He was on the ⁓ the iPod team. Yeah. He was on the team with Apple with the iPod. He left to develop his own ⁓ well he started the company that made the Nest Thermostat. ⁓ and then wrote a book called Build. Yeah. That's a very good book. Definitely recommend that one. Okay, cool. All right. Well we'll check it out. thanks again. Thanks everyone. All right. And we'll talk to you next time. Thanks, Drew. Bye-bye. All right. Bye.