
399: NativePHP: How Simon Hamp & Shane Rosenthal are Building & Monetizing PHP on Mobile
July 2, 2025
Key Takeaways
- Native PHP enables developers to build mobile applications using their existing Laravel and PHP knowledge, significantly lowering the barrier to entry for mobile development.
- The success of Native PHP demonstrates a strong entrepreneurial spirit within the PHP and Laravel communities, where pragmatic problem-solving and business creation are highly valued.
- Monetizing open-source projects through premium offerings, sponsorships, or licensing is a viable and necessary strategy for sustainability, as evidenced by Native PHP’s early sales success.
Segments
Entrepreneurial PHP Community (00:07:42)
- Key Takeaway: The PHP and Laravel communities exhibit a strong entrepreneurial spirit, prioritizing business creation and pragmatic solutions over strict adherence to theoretical purity, which is a rare trait among developer communities.
- Summary: The discussion explores the unique entrepreneurial mindset prevalent in the PHP and Laravel ecosystems, contrasting it with other programming language communities and attributing it to the pragmatic nature of PHP developers.
Mobile App Development Ease (00:11:46)
- Key Takeaway: Leveraging the robust Laravel ecosystem, developers can now create mobile apps with a single command, significantly simplifying the process by utilizing existing knowledge and community resources.
- Summary: This segment focuses on the ease with which Laravel developers can now build mobile applications, highlighting the power of the existing ecosystem and the minimal learning curve for app development.
Monetization and Business Strategy (00:20:18)
- Key Takeaway: Native PHP’s successful monetization strategy, inspired by other open-source projects, validates the product’s value through early sponsorships and sales, demonstrating a clear market demand beyond free offerings.
- Summary: The conversation delves into the business aspects of Native PHP, discussing the decision to monetize, the inspiration behind their approach, and the validation received through early financial support from users.
Mobile Monetization Opportunities (00:38:33)
- Key Takeaway: The evolving mobile app marketplace, influenced by changes in app store policies, presents significant monetization opportunities for developers, especially those leveraging platforms like Native PHP to build apps with familiar tools.
- Summary: This segment explores the current landscape of mobile app monetization, including the impact of app store policies and the potential for developers to create and profit from mobile applications using Native PHP.
Debug Information
Processing Details
- VTT File: a94ed765.vtt
- Processing Time: September 11, 2025 at 01:30 PM
- Total Chunks: 1
- Transcript Length: 71,777 characters
- Caption Count: 641 captions
Prompts Used
Prompt 1: Context Setup
You are an expert data extractor tasked with analyzing a podcast transcript.
I will provide you with part 1 of 1 from a podcast transcript.
I will then ask you to extract different types of information from this content in subsequent messages. Please confirm you have received and understood the transcript content.
Transcript section:
[00:00:00.400 --> 00:00:04.640] Hey, it's Arvid, and this is the Bootstrap Founder.
[00:00:09.120 --> 00:00:14.000] Today, I'm talking to Shane Rosenthal and Simon Hemp from the Native PHP project.
[00:00:14.000 --> 00:00:20.400] These fine gentlemen have brought PHP and with it my favorite web framework, Laravel, onto mobile devices.
[00:00:20.400 --> 00:00:21.280] And I love this.
[00:00:21.280 --> 00:00:25.440] They take established tech and they port it into places where you wouldn't expect.
[00:00:25.760 --> 00:00:36.960] I'll be talking to Shane and Simon about how they accomplished this and maybe even more impressively, how they turned this into a profitable business at a very early stage.
[00:00:36.960 --> 00:00:41.280] That's always complicated with open source stuff, so it's really, really cool to see.
[00:00:41.280 --> 00:00:48.640] This episode is sponsored by Paddle.com, my personal favorite merchant of record, who also has something that might interest mobile developers.
[00:00:48.640 --> 00:00:55.840] I recently perused a documentation for hosted checkouts because I was experimenting with the Vibe coding tool that needed some payment.
[00:00:55.840 --> 00:01:02.160] And I found that Paddle has built a very functional and super easy-to-integrate hosted checkout for mobile applications.
[00:01:02.160 --> 00:01:07.680] It works for other things too, but it's meant for mobile because it just makes it so easy to get people to pay for your app.
[00:01:07.680 --> 00:01:17.920] Now, pair this with a solution like Native PHP, and you have yourself an application where all the money stuff is handled by professionals and you can just keep building in the language that you already know.
[00:01:17.920 --> 00:01:18.800] It's really cool.
[00:01:18.800 --> 00:01:21.280] So, go check it out at paddle.com.
[00:01:21.280 --> 00:01:25.840] Now, here are Shane and Simon and their intriguing native PHP project.
[00:01:27.440 --> 00:01:30.560] You brought PHP to mobile devices.
[00:01:30.560 --> 00:01:31.760] How did you guys do this?
[00:01:31.760 --> 00:01:37.200] And why did it take until 2025 of all years for someone to finally get this right?
[00:01:37.200 --> 00:01:38.080] Oh, wow.
[00:01:38.800 --> 00:01:42.080] This is the loaded million-dollar question.
[00:01:42.080 --> 00:01:42.960] It's a journey.
[00:01:42.960 --> 00:01:44.960] It's been a real journey.
[00:01:44.960 --> 00:01:54.960] And I mean, in terms of taking till now, and we were talking about this a few weeks ago, just like thinking, would this have even been possible a few years ago?
[00:01:55.280 --> 00:02:02.920] And honestly, I don't know the answer, but it feels like it's all come together at this point in time.
[00:02:03.240 --> 00:02:09.400] So there's definitely something in the air, you know, that has enabled all of this.
[00:02:10.440 --> 00:02:18.440] But yeah, getting to this point, I mean, for me personally, it started probably in 2019.
[00:02:18.440 --> 00:02:20.200] I was working for a company.
[00:02:20.200 --> 00:02:26.120] I saw this tweet by a fellow called Marcel Pozziart, who you might know.
[00:02:26.120 --> 00:02:36.760] And he was trying to get a project called Laravel Zero to run on somebody else's computer without them having to have PHP installed.
[00:02:36.760 --> 00:02:42.280] And he was using this weird library that when I went to the GitHub page, it was all in Chinese.
[00:02:42.280 --> 00:02:45.560] And, you know, I kind of gave up at that point.
[00:02:45.560 --> 00:02:47.160] But it stuck in my brain.
[00:02:47.160 --> 00:03:02.120] And I bookmarked the tweet and I thought, right, when I finish this job, when I get some free time, I'm going to come back to this and I'm going to pick this up and I'm going to see if I can reach out to Marcel, you know, figure out how to get this going.
[00:03:02.120 --> 00:03:07.640] Because it looked like he kind of got so far and then I never heard anything about it again.
[00:03:07.640 --> 00:03:19.720] Anyway, me thinking like this is going to take me a few months to get some free time to work on this took me until the time when I left that job, which was three years later, you know, like three and a half years later.
[00:03:19.720 --> 00:03:22.920] So it was the end of 2022 and I finally picked it up.
[00:03:22.920 --> 00:03:28.440] I dug out the tweet, you know, and then I went and reached out to Marcel and all of that kind of stuff.
[00:03:28.440 --> 00:03:44.880] But yeah, basically got Laravel working, not just the Laravel Zero, which was for CLI applications, but full Laravel working on a distributable PHP executable.
[00:03:44.880 --> 00:03:45.600] And that was it.
[00:03:45.600 --> 00:03:48.400] That sort of unlocked the whole thing.
[00:03:44.440 --> 00:03:49.440] And then we're here today.
[00:03:49.760 --> 00:03:50.880] What's the magic there?
[00:03:50.880 --> 00:03:52.240] Like, why did it take so long?
[00:03:52.240 --> 00:03:57.600] Because I think compiling PHP into something else, like, that feels odd, but not impossible.
[00:03:57.600 --> 00:03:59.680] Like, not 2025 impossible.
[00:03:59.680 --> 00:04:02.480] So, so, what was it that was needed at that point?
[00:04:02.480 --> 00:04:08.720] That actually came out of a library that was able to compile PHP into this static binary.
[00:04:08.720 --> 00:04:11.520] This is what allows it to be distributable.
[00:04:11.520 --> 00:04:14.400] But getting it onto mobile is another lift.
[00:04:14.400 --> 00:04:19.120] It's not the same because you can't just ship that static binary onto a phone.
[00:04:19.120 --> 00:04:20.640] And that didn't really come.
[00:04:20.640 --> 00:04:24.480] And we were just talking about this before this call, Shane and I.
[00:04:24.480 --> 00:04:27.200] That didn't really come until about October last year.
[00:04:27.200 --> 00:04:37.040] And I can't really give a reason to why it's taken that time other than I think generally people go, we probably shouldn't be doing this with PHP.
[00:04:37.280 --> 00:04:39.680] Yes, that's probably what it is.
[00:04:39.680 --> 00:04:42.320] I would say I come at it from a very different angle.
[00:04:42.320 --> 00:04:49.360] I didn't really have a curiosity or interest necessarily in compiling PHP for mobile or anything like that.
[00:04:49.360 --> 00:04:51.440] I came at it from like a Laravel look.
[00:04:51.440 --> 00:04:56.160] I interface with clients, I build apps, I make money, I feed kids.
[00:04:56.160 --> 00:04:58.240] That's just what I do.
[00:04:58.240 --> 00:05:06.000] And the reasons why I started working on this was there's a whole kind of story there with Simon and I.
[00:05:06.000 --> 00:05:15.200] So we were already on a podcast together called Bucket, and we off air one day, he just announced he's going to talk at Laricon EU.
[00:05:15.200 --> 00:05:17.600] And that's with just this last February.
[00:05:17.600 --> 00:05:26.960] And I helped him prepare for slides if I could, or talk, you know, just go through his talk with him and really just try to ask the questions, kind of what you're doing now.
[00:05:26.960 --> 00:05:28.320] Like, how do you even do this?
[00:05:28.320 --> 00:05:29.520] How do you go about this?
[00:05:29.520 --> 00:05:41.080] And just conceptually, understanding theoretically how it could be done, even though I didn't know until literally like 10 minutes ago, he didn't even know how to do it at the time, necessarily.
[00:05:41.400 --> 00:05:43.640] But I was like, okay.
[00:05:43.640 --> 00:05:49.480] And yeah, I asked him a question that would forever change the trajectory of my life.
[00:05:49.480 --> 00:05:50.600] So far, it has at least.
[00:05:50.600 --> 00:05:58.200] I don't see my life really going back to necessarily working on client work with the recent successes we've gained with this, but you never know.
[00:05:58.200 --> 00:06:04.280] But I asked him, you know, if you're going to be charging money for this kind of thing, you can't just do it for iOS.
[00:06:04.280 --> 00:06:08.600] No company is going to seriously invest into this unless you can provide the world, right?
[00:06:08.600 --> 00:06:11.240] Which is at least more than 95%.
[00:06:11.240 --> 00:06:13.720] I would imagine Android and iOS is going to cover that.
[00:06:13.720 --> 00:06:15.400] There's other kinds, right?
[00:06:16.040 --> 00:06:22.600] So that question, his response was maybe six months to a year until he works on Android.
[00:06:22.600 --> 00:06:26.600] I'm not going to do the accent, but thank goodness for that.
[00:06:26.600 --> 00:06:27.000] Yeah.
[00:06:27.960 --> 00:06:29.160] You know, maybe that long.
[00:06:29.160 --> 00:06:31.560] He's also got client work he's doing at the same time.
[00:06:31.560 --> 00:06:35.000] And he has to, he just, you know, kind of figured things out in iOS.
[00:06:35.000 --> 00:06:37.960] And that didn't sit well with me.
[00:06:37.960 --> 00:06:47.240] I just felt like, you know, as my friend, which I do respect him in that regard highly, he's probably my best friend at this point, or one of them.
[00:06:47.240 --> 00:06:50.920] I felt almost like I want to help ease the burden for him.
[00:06:50.920 --> 00:06:53.880] And it wasn't really like, I hate the word entrepreneur.
[00:06:53.880 --> 00:06:58.040] I think it's just overused, but it's really kind of what we are anyway.
[00:06:58.040 --> 00:07:02.120] Like we actually are looking for like the right business ideas always.
[00:07:02.120 --> 00:07:09.080] And I've swung for the fences so many times in my, you know, 15 years of web development and fallen short.
[00:07:09.080 --> 00:07:13.080] And it, you get burnt out, you know, there's a churn there in your own mind, I guess.
[00:07:13.080 --> 00:07:17.280] But I came at it from a different, like wholeheartedly, just a different angle.
[00:07:14.680 --> 00:07:21.200] And it was like, I want to help my friend start tackling the Android side of things.
[00:07:21.520 --> 00:07:26.800] And after a couple of weeks, I was asking him different questions of like, did you do this extension?
[00:07:26.800 --> 00:07:28.000] And did you do that?
[00:07:28.000 --> 00:07:31.120] And he was just like, are you doing, are you trying to compete with me?
[00:07:31.120 --> 00:07:32.640] Or what are you doing here?
[00:07:32.960 --> 00:07:34.000] Yeah, it wasn't for me.
[00:07:34.000 --> 00:07:38.080] Like, I had this genuine curiosity as to what we could push the boundaries with.
[00:07:38.080 --> 00:07:42.240] I just found myself pushing the boundaries with the work we were doing.
[00:07:42.240 --> 00:07:57.680] So it's so interesting you say this with the entrepreneurial side of things too, because I have this feeling that particularly inside the Laravel community and the PHP community at large, there is like a very palpable entrepreneurial spirit that's always kind of part of it.
[00:07:57.680 --> 00:07:59.520] I don't see it that much in JavaScript.
[00:07:59.520 --> 00:08:05.680] There's a lot of, you know, people who just, you know, want to do stuff, but not necessarily to make money, but just to make them.
[00:08:06.000 --> 00:08:07.600] There's a strong maker vibe.
[00:08:07.600 --> 00:08:13.360] And I don't see it as much in the Ruby world or the Elixir world or Scala or these other languages, right?
[00:08:13.360 --> 00:08:15.760] Where it's more kind of corporate-ish almost, right?
[00:08:15.760 --> 00:08:20.720] Where it's like, we have this B2B SaaS business that needs that particular kind of thing.
[00:08:20.720 --> 00:08:30.240] But in the Laravel world in particular and PHP in general, people just want to build some kind of business first and then they are technically curious.
[00:08:30.240 --> 00:08:37.360] That to me is very, very interesting because it's kind of rare in a very opinionated community of developers.
[00:08:37.360 --> 00:08:38.720] That's a really good point.
[00:08:38.720 --> 00:08:46.320] And, you know, from my opinion on it is that it stems from almost like the kind of people that used PHP.
[00:08:46.320 --> 00:08:48.880] Like, why did they adopt PHP in the first place?
[00:08:48.880 --> 00:08:51.520] And the kind of person that they then are.
[00:08:51.520 --> 00:08:53.440] You know, they're not the purists.
[00:08:53.440 --> 00:08:59.880] They're not the computer science grads who are desperate for the most perfect syntax.
[00:08:59.880 --> 00:09:02.120] Or I'm not trying to put anybody down by that.
[00:08:59.840 --> 00:09:04.520] Those are all good things to achieve.
[00:09:04.840 --> 00:09:08.440] But by and large, I've been doing PHP for over 20 years.
[00:09:08.440 --> 00:09:14.440] And I think most of the PHP developers that I've rubbed shoulders with, they're pragmatic people.
[00:09:14.440 --> 00:09:16.920] Like they just want to get the work done.
[00:09:17.240 --> 00:09:22.120] And the fact is, like, PHP has allowed them to do that, you know?
[00:09:22.120 --> 00:09:29.000] And so they were already of this mindset and they've come to PHP because it lets them do that quickly.
[00:09:29.000 --> 00:09:35.240] And the same for Laravel, you know, it's like why people have come to Laravel because it lets them do that so quickly.
[00:09:35.240 --> 00:09:43.320] And then you just have this bias now because the community is full of these kinds of pragmatic business makers, which I think is very, very cool.
[00:09:43.320 --> 00:09:43.560] Yeah.
[00:09:43.560 --> 00:09:55.160] And the tools that they build, and I'm not just even talking about the Laravel team, which is building amazing tools, but even people like Marcel building the tools that almost every Laravel developer uses, right?
[00:09:55.160 --> 00:10:01.240] Like there's so much aim when it comes to tool building.
[00:10:01.240 --> 00:10:09.160] People have this kind of shared goal, which is often lacking in these massive open source communities that are very like splinter grouped, right?
[00:10:09.160 --> 00:10:16.440] Where there's a lot of infighting, a lot of, I was talking to Taylor Ottwell about this too, like just about Laravel in a recent episode of this show.
[00:10:16.440 --> 00:10:19.880] And he also said, yeah, PHP is just an adaptable language.
[00:10:19.880 --> 00:10:24.040] And the people who started using it, they adapted over time, right?
[00:10:24.040 --> 00:10:29.320] When you think about PHP 4, that was before there was any object-oriented parts, and it was horrible.
[00:10:29.320 --> 00:10:32.600] I remember building apps in like the early 2000s in that language.
[00:10:32.840 --> 00:10:35.720] Web apps, gotta say, gotta be precise.
[00:10:35.720 --> 00:10:38.280] But I kind of didn't like it.
[00:10:38.280 --> 00:10:43.480] And then when you look at what a Laravel source code looks like now, it is nothing compared to back in the day.
[00:10:43.480 --> 00:10:45.600] Like all globals gone, right?
[00:10:44.600 --> 00:10:49.120] Weird dollar server accessors, like gone.
[00:10:44.920 --> 00:10:50.880] It's all completely different.
[00:10:51.200 --> 00:10:54.640] It has been supplanted by better and stronger systems on top of this stuff.
[00:10:54.640 --> 00:10:56.560] You could still use it, probably, right?
[00:10:56.560 --> 00:10:59.200] You could still write like PHP code like back in the day.
[00:10:59.200 --> 00:11:04.640] You shouldn't, and nobody ever should, but it's likely that the binary still could support it.
[00:11:04.640 --> 00:11:15.360] So there is just some pragmatism here in this community, for which I think it's such an important thing that you guys have been building something that allows them to now go onto a different platform.
[00:11:15.360 --> 00:11:17.680] So let's talk maybe about mobile a little bit.
[00:11:17.680 --> 00:11:26.400] I remember building mobile apps in what was it, like some weird Ionic was a framework, like a JavaScript framework that was the first thing that I ever used.
[00:11:26.400 --> 00:11:27.360] It was horrible.
[00:11:27.440 --> 00:11:32.880] It kind of worked-ish, but it was like a hybrid thing here and didn't really work the way I wanted it.
[00:11:32.880 --> 00:11:34.160] And I stopped doing this.
[00:11:34.160 --> 00:11:38.960] I tried some Swift, I tried some Gradle stuff, but it all didn't really go anywhere.
[00:11:38.960 --> 00:11:46.480] So I would like to know, just bringing PHP to mobile, how easy is it for me to build an app there?
[00:11:46.480 --> 00:11:49.120] And what can I expect to be able to do?
[00:11:49.120 --> 00:11:50.800] I like this question.
[00:11:51.120 --> 00:12:06.640] So touching a little bit on the accessibility of what PHP has provided and then what Laravel's done over the last almost 15 years with Laravel, in a nutshell, just to get to the answer: if you can build in Laravel, you can run a single command and you have an app.
[00:12:06.640 --> 00:12:09.280] You have to think about some things a little bit differently.
[00:12:09.280 --> 00:12:10.880] Your data is not shared globally.
[00:12:10.880 --> 00:12:11.520] It's on a device.
[00:12:11.600 --> 00:12:16.640] You need an API and, you know, security and files and some of those things.
[00:12:16.640 --> 00:12:27.840] But as far as like the ease of use, we are fortunate and blessed to find ourselves using such a robust community ecosystem.
[00:12:27.840 --> 00:12:30.600] It's not just the code base and the docs are nice.
[00:12:29.760 --> 00:12:31.400] They are.
[00:12:29.840 --> 00:12:32.760] It's way beyond that.
[00:12:32.920 --> 00:12:38.200] Laravel News and all the other news, news, the hat, right?
[00:12:38.200 --> 00:12:38.920] Yeah, I see that.
[00:12:39.560 --> 00:12:47.400] All of the other places to get information, all of the resources, YouTube channels, plus, just there's so many people that just come into it.
[00:12:47.400 --> 00:12:54.600] And within the first few months of learning themselves how to do anything with Laravel, they're already posting videos on YouTube to show other people the way.
[00:12:54.600 --> 00:12:57.480] And I don't, there might be other things like that.
[00:12:57.480 --> 00:13:02.440] I don't peek my head out of this bubble much because this is my whole world.
[00:13:02.440 --> 00:13:05.320] You know, my son will be 16 in December.
[00:13:05.320 --> 00:13:09.320] Every meal he's eaten was paid for by PHP and/or Laravel.
[00:13:09.480 --> 00:13:10.440] That's amazing, man.
[00:13:10.440 --> 00:13:11.400] That's awesome.
[00:13:11.400 --> 00:13:13.400] So like, I can stay here and just do that.
[00:13:13.400 --> 00:13:15.800] That's like my whole life can be inside of that.
[00:13:15.800 --> 00:13:30.200] The best thing is, we have now this whole ecosystem, community resources plethora, 15 years plus of everything grown to where it is that we can just shoehorn our own foot into iOS and Android.
[00:13:30.200 --> 00:13:45.400] And so we can leverage the power that's there already and just say, hey, now you can literally run this one or two other commands, think about things a little bit differently, and you have iOS and Android with the same package installed on your Laravel application.
[00:13:45.400 --> 00:13:46.120] So it's easy.
[00:13:46.120 --> 00:13:47.160] It's very easy.
[00:13:47.400 --> 00:13:49.560] Well, it is.
[00:13:49.880 --> 00:13:54.120] And at the same time, it really depends on what you're trying to do.
[00:13:54.120 --> 00:13:57.400] You know, the classic software engineering response.
[00:13:57.400 --> 00:14:03.800] Obviously, if you're trying to do something that it's not capable of right now, then it's very hard.
[00:14:04.120 --> 00:14:17.520] But also, if you're coming at this with a very specific thing in mind, then getting to the point where that is a robust solution for you isn't necessarily going to just be a couple of commands away.
[00:14:17.840 --> 00:14:24.800] But I think that point of sort of getting going, there's been a really good kind of baseline for that.
[00:14:24.800 --> 00:14:29.360] That's been, you know, Laravel has sort of set the precedent for us and it keeps getting better at it.
[00:14:29.360 --> 00:14:46.800] You know, in the last year alone, I think there's things like PHP.new, which I also think is one of Marcel's projects, you know, which is just like you, you don't even, if you've got a new machine, you just go to PHP.new and run a command and now you've got PHP and Composer and everything on your machine.
[00:14:46.800 --> 00:14:48.160] You haven't got to think about it.
[00:14:48.160 --> 00:14:57.840] You know, this kind of idea of I can just type a single thing and sort of, and this was embodied in the community for some years.
[00:14:57.840 --> 00:15:11.920] I kind of got this sense of messages on Twitter and things where people would say, there'll be a command that you can run, you know, like Laravel magic, and it will be you've created a SaaS or you've created a, you know, a whole new product.
[00:15:12.080 --> 00:15:13.280] Is that that, right?
[00:15:13.280 --> 00:15:13.600] Yeah.
[00:15:13.600 --> 00:15:15.760] Like, yeah, we already have that tech.
[00:15:15.760 --> 00:15:22.560] You just need to pipe a couple prompts into a couple of like agents and then like wait a half an hour and you get like the full thing.
[00:15:22.560 --> 00:15:31.680] Like, of course, it's not boxed up just yet, but that might be a couple months from now until we have this fully featured as a pay once use once kind of thing.
[00:15:31.680 --> 00:15:49.840] When you guys talk about the challenges or kind of the limitations maybe of bringing something that is like natively a web app or web framework into the mobile world, I'm always thinking about the permissions, or I'm thinking about like native access to things like cameras or audio.
[00:15:49.840 --> 00:15:51.360] What were the challenges along the way?
[00:15:51.360 --> 00:15:57.120] Like, how far are you to having a kind of parody with a native app, if that's even possible?
[00:15:57.120 --> 00:15:59.600] What's the technical situation there right now?
[00:15:59.720 --> 00:16:08.840] From that side, I mean, Shane, you'll have to speak to the Android side because I don't really understand that very well compared to the iOS, and I don't understand the iOS side very well, honestly.
[00:16:09.000 --> 00:16:12.360] I built it, um, but no one does, no one does.
[00:16:14.280 --> 00:16:17.080] Um, it's generally quite straightforward.
[00:16:17.080 --> 00:16:24.520] I mean, we're tapping into truly native functionality, so there's no like layers really in the middle.
[00:16:24.520 --> 00:16:27.640] I mean, PHP is built in C.
[00:16:27.960 --> 00:16:41.720] The phones all have the ability to handle C instructions, and most of the languages have got first-party support for C, so you can kind of throw C in there and it'll do a bunch of stuff for you.
[00:16:41.720 --> 00:16:51.640] So, and then the operating systems, like let's take the iPhone, you mentioned the camera and permissions and that kind of thing, they've got their layers of security around all of that stuff.
[00:16:51.640 --> 00:17:15.400] So, we're not bypassing any of this, you know, we're just tapping into the pre-existing APIs that they've built, and we've put a nice little interface in between, which is so that your user land PHP code can just call those functions as if it was so it's essentially bringing the native functionality right into your script, you know, your PHC script.
[00:17:15.400 --> 00:17:16.600] Yeah, it is awesome.
[00:17:16.600 --> 00:17:21.160] And we then wrap that up in a nice little composer package, basically.
[00:17:21.160 --> 00:17:32.040] So, now you get all of the interfaces and all of the you know, IDE hints and support that you'd hope for, and it's just this very easy-to-use tool.
[00:17:32.040 --> 00:17:38.040] And hey, Presto, you know, you're opening the camera and you're sending push notifications, and who knows what next?
[00:17:38.280 --> 00:17:39.960] Is it the same on the Android side?
[00:17:40.000 --> 00:17:41.800] Uh, hey, Presto, yeah.
[00:17:41.800 --> 00:17:43.880] I mean, it's yeah, it is.
[00:17:43.880 --> 00:17:48.560] It's compiled to C, and so there's essentially you're using a PHP function.
[00:17:48.640 --> 00:17:52.880] We have an extension, the native PHP extension compiled into our own binaries.
[00:17:52.880 --> 00:17:58.960] And you call, we are in parity, so we're not, we're the same exact naming, so we can just build one.
[00:17:58.960 --> 00:18:03.760] We're using facades if you're familiar with Laravel facades, and that facade is really for the most part.
[00:18:03.760 --> 00:18:09.840] And we could get more creative with it, and we intend to at some point, but it's just saying, hey, if that function exists, run it.
[00:18:09.840 --> 00:18:13.280] And if not, just don't show some weird error on the screen, essentially.
[00:18:13.280 --> 00:18:16.800] If you're doing this in the browser, which is a great way to prototype, by the way.
[00:18:16.800 --> 00:18:19.760] But yeah, that PHP function is just calling into C.
[00:18:19.760 --> 00:18:23.760] C is then in Android world, is calling onto Kotlin.
[00:18:23.760 --> 00:18:32.000] And at that point, anything that any API, third party or first on Android, we can do whatever we really want to with.
[00:18:32.000 --> 00:18:34.880] So we can just interface and build those things out.
[00:18:34.880 --> 00:18:36.640] So limitations.
[00:18:36.880 --> 00:18:40.320] The biggest limitation that I see right now is time.
[00:18:40.960 --> 00:18:43.120] I cannot find any anywhere.
[00:18:43.120 --> 00:18:50.880] I know there used to be some all over my couch when I was sitting there for, you know, figuring this stuff out, but it's gone.
[00:18:50.880 --> 00:18:55.200] So someday, maybe I'll find some time, but that's that's really our priority.
[00:18:55.200 --> 00:18:57.840] Simon and I are, there's a lot of other things.
[00:18:57.840 --> 00:19:07.360] I think that in the last, even just the last maybe a week, we're finding ourselves not even like, we're not trying to build out this project and make it really awesome.
[00:19:07.360 --> 00:19:09.600] We are finding ourselves managing a business.
[00:19:09.920 --> 00:19:12.560] And that's not something that we intended initially.
[00:19:12.560 --> 00:19:17.840] Maybe we wanted, but good problems, you know, like there's, these are good, good issues to have.
[00:19:17.840 --> 00:19:30.920] But I think too, just to add to that point of like bringing it nicely and natively, first-hand experience with calling these facades inside of a live wire or just anywhere you want to inside of your Laravel application.
[00:19:29.920 --> 00:19:36.440] One of the things that I really liked too that we spent quite a bit of time on was the config file for this.
[00:19:36.760 --> 00:19:42.840] And there's a lot of switches inside of that that will during, we'll call it compile time.
[00:19:43.160 --> 00:19:48.680] We're actually adding, just doing like string replaces and stuff inside of your XML files on Android side.
[00:19:48.680 --> 00:19:54.440] I'm not sure how Simon's doing it on iOS, but to allow or to add or subtract those permissions.
[00:19:54.440 --> 00:20:00.600] So if you don't need permission, I think the app stores don't want you to just have a whole, all of the permissions.
[00:20:00.600 --> 00:20:04.200] So it's all configurable and it's very like Laravel first.
[00:20:04.200 --> 00:20:08.200] If you're a Laravel developer, it's going to feel extremely familiar because it is very familiar.
[00:20:08.200 --> 00:20:14.600] You just end up with a nice emulator here instead of a browser and you can turn on flashlight and make phone calls and all sorts of other stuff.
[00:20:14.600 --> 00:20:16.360] Yeah, that's important stuff for a good app, right?
[00:20:16.440 --> 00:20:17.400] Got to turn on flashlight.
[00:20:17.400 --> 00:20:18.680] Yeah, it makes perfect sense.
[00:20:18.840 --> 00:20:27.400] I'm excited by the whole business, the product side of things because you kind of said you didn't really intend to build a business, but you wanted to.
[00:20:27.560 --> 00:20:29.640] That already is an interesting statement.
[00:20:29.640 --> 00:20:42.920] But from my perspective, and I've been following you guys for a long while, like prior to this as well, it felt like a very, let's call it intentional approach to slowly building something into reality.
[00:20:42.920 --> 00:20:49.240] Like it didn't feel like you were surprising yourself with the success or even pitching it at the at LaraCon.
[00:20:49.240 --> 00:20:55.240] Like it all felt very intentional and not orchestrated in that sense, but with purpose.
[00:20:55.240 --> 00:20:57.320] Like along the way, you found validation.
[00:20:57.320 --> 00:20:59.080] You did distribution first, right?
[00:20:59.080 --> 00:21:01.640] Like that the stuff that most founders never figure out.
[00:21:01.640 --> 00:21:02.680] Like you, you did it first.
[00:21:02.680 --> 00:21:04.840] You went into the conference scene and all that.
[00:21:04.840 --> 00:21:09.880] So maybe you can tell me the story and like just where you guys are right now.
[00:21:09.880 --> 00:21:14.280] Like what the level of success is that you are enjoying at this point.
[00:21:14.280 --> 00:21:21.280] So I want to say something real quick there, though, because I don't know if I misspoke, but yeah, no, I think what you're saying is right.
[00:21:21.440 --> 00:21:32.960] And I think to some effect, it was kind of like we were going through the motions of the things that we had already done a million other times that probably failed, but they didn't.
[00:21:32.960 --> 00:21:37.840] If you look at if we get success at one time, then those were just practice swings, right?
[00:21:37.840 --> 00:21:40.320] But they don't feel like that when you're missing the ball.
[00:21:40.320 --> 00:21:41.360] You know what I'm saying?
[00:21:41.360 --> 00:21:46.240] So I really think that's probably the mindset for me at least behind this.
[00:21:46.240 --> 00:21:51.280] Like, all right, so if this is a floodgate of people coming in, where are we going to direct that traffic?
[00:21:51.280 --> 00:21:52.720] And there's like crickets, right?
[00:21:52.720 --> 00:22:00.400] There's nobody actually there, but we know like if this thing is a valid, viable thing, then this is where they'll go and this is where we'll have them go.
[00:22:00.400 --> 00:22:03.280] And then when we turn the faucet on, the water came out.
[00:22:03.280 --> 00:22:06.640] And so that's, I think, my response to that, you know?
[00:22:06.640 --> 00:22:07.280] Yeah.
[00:22:07.280 --> 00:22:16.480] For me, it's, it's quite, I think I have to take in all of the context of like where native PHP as a project has come from, first of all.
[00:22:16.480 --> 00:22:17.600] But there's even more than that.
[00:22:17.600 --> 00:22:25.360] I mean, we were talking technically, effectively, of standing on the shoulders of giants with all the other stuff that people have done that have allowed us to get to this point.
[00:22:25.360 --> 00:22:28.800] And it's the same, it's true of the business in the same way.
[00:22:28.800 --> 00:22:36.960] You know, there's, in some cases, the giants are past us, you know, having made loads of mistakes and whatever.
[00:22:36.960 --> 00:22:44.640] But yeah, we kind of got to this, well, I got to the place where the technical challenge was sort of solved, you know.
[00:22:44.640 --> 00:22:48.960] And then Marcel said, this is back in 2023.
[00:22:48.960 --> 00:22:54.960] He was like, I'm going to change my talk at Laricon US, which I think was in Nashville that year.
[00:22:54.960 --> 00:22:57.040] And I was like, what are you talking about?
[00:22:57.040 --> 00:22:58.000] That's crazy.
[00:22:58.000 --> 00:22:59.480] Like, this thing's never going to be ready.
[00:22:59.360 --> 00:23:02.520] And it was like two months from that point in time.
[00:23:02.760 --> 00:23:08.840] And, you know, and you know, people are just going to ask us about mobile phones and all we've got is one, you know, Mac.
[00:23:08.840 --> 00:23:12.200] Like, we haven't got Windows or Linux or any of this.
[00:23:12.200 --> 00:23:17.880] It's basically nowhere near good enough, as was my point of view at the time.
[00:23:18.120 --> 00:23:20.840] And he was like, no, let's, you know, let's do it.
[00:23:20.840 --> 00:23:21.720] Let's get it out there.
[00:23:21.720 --> 00:23:41.080] And I think that was an unlocked thing for my brain straight away, because him having the confidence to do that and saying that and reinforcing that the whole time, like, we're just going to put it out and it's going to be fine, was incredible because he was absolutely right, of course.
[00:23:41.080 --> 00:23:43.320] He went on stage, talked about it.
[00:23:43.320 --> 00:23:47.240] And obviously, people got his, they know Marcel.
[00:23:47.240 --> 00:23:50.920] They know that he's liable to do something crazy like this.
[00:23:50.920 --> 00:23:52.520] And so they loved it.
[00:23:52.520 --> 00:23:58.120] And I definitely, that's no small part of like the success of the whole thing.
[00:23:58.120 --> 00:24:02.040] But you can't just rely on those moments, you know.
[00:24:02.040 --> 00:24:06.520] And I think my opportunity at Laricon EU was another moment.
[00:24:06.520 --> 00:24:09.800] And they're great because they do bring a lot of attention.
[00:24:09.800 --> 00:24:15.320] You know, you get all of this influx of busyness around it for a short period of time.
[00:24:15.320 --> 00:24:18.360] But you've got to smooth over the gaps.
[00:24:18.360 --> 00:24:22.440] You know, you've got to, it's going to go wild, like up and down for months.
[00:24:22.440 --> 00:24:24.440] And when you're in it, you really feel that.
[00:24:24.440 --> 00:24:29.160] Like for me, there was this lull after Laricon 2023.
[00:24:29.160 --> 00:24:37.240] The project sort of flooded with issues and people wanting this and wanting that, and it not being capable of doing all of those things.
[00:24:37.240 --> 00:24:42.920] And me feeling, you know, personally, it was my responsibility to kind of solve all of that stuff.
[00:24:42.920 --> 00:24:49.520] And then at some point, last year, kind of digging myself out of that hole and going, I'm just going to crack on with this.
[00:24:49.680 --> 00:24:55.200] You know, I'm just going to like dive back in, fix as much as I can, and move it forward.
[00:24:55.200 --> 00:24:57.200] Like, sometimes you just have to dig deep.
[00:24:57.200 --> 00:25:22.560] You know, I remember spending days, weeks getting up early, going to bed very late, doing my client work to pay the bills, and just putting in the hours of like solving issues and all of this and just driving the thing forward and not even thinking, like, oh, I've got to market this product and get to a place where I can build this community and then I can release mobile.
[00:25:22.560 --> 00:25:30.000] You know, it was like, I'm just going to do the desktop thing, make it sort of work, and then maybe who knows what will happen.
[00:25:30.000 --> 00:25:35.520] And along the way of doing that, you know, some of the mobile pieces sort of clicked into place.
[00:25:35.840 --> 00:25:38.960] And along the way, the community grew.
[00:25:38.960 --> 00:25:45.360] And along the way, these contributors came in who were like instrumental in taking off some of the workload.
[00:25:45.360 --> 00:25:48.240] And, you know, Shane came along exactly the same.
[00:25:48.240 --> 00:25:51.840] You know, here's a piece of work that I've done.
[00:25:51.840 --> 00:25:56.560] And this adds to the whole thing in a huge way.
[00:25:56.560 --> 00:26:02.160] And then when you step back and you look at this whole journey, you're like, oh, there's a nice smooth curve.
[00:26:02.160 --> 00:26:04.720] And it's like, it's not like that at all.
[00:26:05.040 --> 00:26:08.320] Yeah, if you zoom out far enough, it always looks like a smooth something, right?
[00:26:08.800 --> 00:26:09.680] But it's not.
[00:26:09.680 --> 00:26:10.640] Well, what was the point?
[00:26:10.640 --> 00:26:13.840] Like, when exactly did you choose to monetize it the way you're doing it right now?
[00:26:13.840 --> 00:26:19.680] Maybe you can explain exactly what you chose to do, because that's also a more rare occurrence in the open source community.
[00:26:19.680 --> 00:26:22.880] And maybe when that entered the conversation.
[00:26:22.880 --> 00:26:31.160] So, I think I always knew that if we did mobile, it would have to be some kind of premium offering in some way.
[00:26:31.480 --> 00:26:38.360] Now, I had hoped that by the time we got to that, the whole project might have been getting some serious sponsorships.
[00:26:38.440 --> 00:26:43.160] You know, I might have gotten some consultancy gigs doing stuff for native PHP for desktop.
[00:26:43.160 --> 00:26:45.480] It didn't quite work out how I planned.
[00:26:45.480 --> 00:26:46.920] Surprise, surprise.
[00:26:46.920 --> 00:26:51.160] And I sort of got to the place where this is working.
[00:26:51.160 --> 00:26:53.720] You know, I've got technically, it's right.
[00:26:54.040 --> 00:26:57.720] I'm going to put it in front of other people, but I'm not just going to give it to them.
[00:26:57.720 --> 00:27:00.120] I'm going to put a hurdle in front of it.
[00:27:00.120 --> 00:27:02.120] I'm just going to say, sponsor me.
[00:27:02.120 --> 00:27:14.840] And I picked that up from another person in the Laravel community called Caleb Pauseo, who built, he's built many things, but among them, LiveWire and more recently, Flux.
[00:27:14.840 --> 00:27:25.480] And one of the things that he did with LiveWire, which is, in my view, an incredible piece of kit, and I use it all of the time, I think Shane does as well, is he kind of monetized it through sponsorships.
[00:27:25.480 --> 00:27:32.680] And he's never sold, as far as I'm aware, anything around LiveWire, but it's become massively popular.
[00:27:32.680 --> 00:27:38.760] And he's become sufficiently wealthy from just that sponsorship setup that he had.
[00:27:38.760 --> 00:27:44.360] And I think he was doing it around like content, and you'd get access to this and that, and some other things.
[00:27:44.360 --> 00:28:04.080] And that was like, right, well, it doesn't need to be exactly like that, but I can see that there's this idea of if I gate this thing that appears to be of value and people see, you know, if I'm showing them what it could be like, then I'll be able to test if they think it's of value.
[00:28:04.080 --> 00:28:07.720] Some people will probably buy.
[00:28:07.720 --> 00:28:10.520] You know, I'm saying buy or they'll sponsor.
[00:28:10.520 --> 00:28:26.480] And yeah, lo and behold, I had within a couple of weeks, sort of 20 or 30 people who had just sponsored with no, that all they got access to was a very, very rubbish GitHub repository, which is in a complete state and barely worked.
[00:28:26.480 --> 00:28:32.640] But it was this thing that told me people see value in this.
[00:28:32.640 --> 00:28:38.000] They want what I'm building and they believe in what it can become.
[00:28:38.000 --> 00:28:47.280] And that combination of those three things and the fact that people pass on real hard-earned cash was enough for me to go, I have to see this through.
[00:28:47.280 --> 00:28:52.400] You know, like I have to get to the point where it really does meet their expectations.
[00:28:52.400 --> 00:28:55.200] And yeah, that was like the beginning of January this year.
[00:28:55.200 --> 00:28:59.440] So it was like, it's all been very, very rapid since then.
[00:28:59.440 --> 00:29:01.600] Is it a full-time gig for both of you just yet?
[00:29:01.600 --> 00:29:02.400] Almost.
[00:29:02.800 --> 00:29:03.600] I love that.
[00:29:03.600 --> 00:29:03.920] It is.
[00:29:03.920 --> 00:29:04.640] It is for me.
[00:29:04.640 --> 00:29:06.000] It is for me.
[00:29:06.320 --> 00:29:10.880] So I may as well take a moment here and thank Craig Anderson.
[00:29:10.880 --> 00:29:13.040] Craig and Simon had been friends.
[00:29:13.040 --> 00:29:14.720] Simon introduced me to Craig.
[00:29:14.720 --> 00:29:17.520] Craig has a small dev shop.
[00:29:17.520 --> 00:29:18.880] I guess it's just really him.
[00:29:18.880 --> 00:29:21.440] And then he had too many hours.
[00:29:21.440 --> 00:29:23.680] And through Simon, we met.
[00:29:23.680 --> 00:29:28.560] And I think I started working with him around November, October, something like that.
[00:29:28.560 --> 00:29:32.240] And it was a very flexible schedule for me from the beginning.
[00:29:32.240 --> 00:29:38.080] So it was kind of like almost as many or as few hours as I wanted, which was awesome.
[00:29:38.080 --> 00:29:51.120] So I could kind of control how much of my credit card I needed to spend to pay the bills versus how much time I wanted to spend working on this, which didn't come for me until, I guess, towards the end of January.
[00:29:51.120 --> 00:29:53.760] So, we had a pretty well-established relationship.
[00:29:53.760 --> 00:29:55.120] And then it was just a few weeks ago.
[00:29:55.120 --> 00:30:00.760] We had the conversation of like, you know, if you need help, if I need, if I need the hours, you know, at some point.
[00:29:59.440 --> 00:30:07.240] And he's like, yeah, you've got, you, I already know a lot of his apps and he's got a lot of, there's a lot of stuff he's working on.
[00:30:07.400 --> 00:30:09.800] But it's kind of still an open-ish door.
[00:30:09.800 --> 00:30:11.080] We still talk all the time.
[00:30:11.400 --> 00:30:13.560] I was prepping for a talk yesterday.
[00:30:13.560 --> 00:30:15.560] He came in and gave us his sense on it.
[00:30:15.560 --> 00:30:16.760] So that was, that was cool.
[00:30:16.760 --> 00:30:24.360] As far as the pricing, I wanted to just mention, though, real quick, like for me, it's like, it's ask for forgiveness, not for permission, kind of.
[00:30:24.360 --> 00:30:31.800] Like, regardless of like whatever the dollar amount is, I think it's, you know, some people would think it's horrible if you put a dollar amount on this and nobody buys.
[00:30:31.800 --> 00:30:35.880] I think it's worse if you put no dollar amount on it and everybody gets it.
[00:30:35.880 --> 00:30:38.440] And now you have to support something and you're not even getting paid for it.
[00:30:38.440 --> 00:30:41.240] It's a really, it's a bad situation to end yourself up in.
[00:30:41.240 --> 00:30:47.080] And Simon did on his own little podcast, little awesome podcast.
[00:30:47.080 --> 00:30:51.960] He just did an episode called Pillars that I would say go check out Pillars.
[00:30:51.960 --> 00:30:52.680] It's awesome.
[00:30:52.680 --> 00:30:54.280] And it's not because I'm on this side of it.
[00:30:54.280 --> 00:31:15.000] He just very precisely spoke on every topic regarding the justification of pricing and the things that we're working on and why we're choosing this way to go forward for not just today and so that we can have an awesome summer, but where we want to end up in a year or three or five with the business.
[00:31:15.000 --> 00:31:16.680] I'll be linking that in the show notes.
[00:31:16.680 --> 00:31:17.960] That's for sure.
[00:31:17.960 --> 00:31:19.320] You were talking about pricing.
[00:31:19.320 --> 00:31:25.960] And I think it would be very interesting to just look a bit deeper into the choices that you made along the way.
[00:31:25.960 --> 00:31:33.560] Because I know there's like this early beta stage that you have going on and pricing at early stage is always different, but that's coming to an end, right?
[00:31:33.560 --> 00:31:36.760] Yeah, the end of May, we've decided now.
[00:31:36.760 --> 00:31:43.960] I mean, we've put it back because I think it was going to be a bit earlier, but we hadn't quite achieved some of the technical things that we wanted to achieve.
[00:31:43.960 --> 00:31:45.440] So it's still very early days.
[00:31:45.680 --> 00:31:47.760] The project is going to keep evolving, right?
[00:31:47.760 --> 00:31:54.320] But we have to draw a line in the sand as to what this early access means and you know who gets in on that.
[00:31:54.320 --> 00:32:01.200] What you know, it's been four months, just over it will be about four months when it comes to an end.
[00:32:01.200 --> 00:32:12.640] And I think it's done the thing that I set it out to, you know, like originally my plan was to just build up enough of a little base to prove that this is a viable product.
[00:32:12.640 --> 00:32:16.080] And really, it's gone on way further than that.
[00:32:16.080 --> 00:32:19.680] You know, now we've got this business and it's going sort of wild.
[00:32:19.680 --> 00:32:32.240] And I think that there's a sense that there's always been a sense from in my mind anyway, and we've talked about this a lot, where the value of this thing is far greater than the price that we're putting on it right now.
[00:32:32.560 --> 00:32:43.520] But then there's this juxtaposition with like what the rest of the market, let's say, like the competitors in the space, if we can call them that, are pricing their products at.
[00:32:43.520 --> 00:32:45.440] And for the most part, that's zero.
[00:32:45.440 --> 00:32:46.960] You know, they're all free.
[00:32:46.960 --> 00:32:58.160] And so, yeah, there's this like real, real challenge now as we come to the end of May of like, are we shooting ourselves in the foot with the upping the price quite significantly?
[00:32:58.160 --> 00:33:07.360] And there's a few people who have mentioned that, you know, they're very aware that the price of all these other tools is nowhere near what we're charging.
[00:33:07.360 --> 00:33:11.040] So, yeah, it's going to be an interesting month, I think.
[00:33:12.400 --> 00:33:17.000] So, this whole conversation around everybody else is free.
[00:33:17.640 --> 00:33:19.280] How can we charge?
[00:33:19.280 --> 00:33:23.440] We have sales that justifies the price, right?
[00:33:23.440 --> 00:33:27.040] Or at least it justifies the fact that people are finding value in what we're doing.
[00:33:27.040 --> 00:33:29.880] And I want to say, too, we don't have any competitors.
[00:33:29.880 --> 00:33:33.240] And this may be a very controversial sort of statement.
[00:33:33.240 --> 00:33:35.960] And that's okay because I'm a high-risk kind of guy, right?
[00:33:35.960 --> 00:33:36.760] Why not?
[00:33:29.600 --> 00:33:37.000] All right.
[00:33:37.080 --> 00:33:39.480] So look at, and I don't know these technologies very well.
[00:33:39.480 --> 00:33:41.240] I've never built anything with React Native.
[00:33:41.240 --> 00:33:46.040] I kind of learned a little Flutter once, and I did do some Ionic stuff back in the day.
[00:33:46.040 --> 00:33:56.120] All of those frameworks are asking you to learn how to do mobile apps and to learn through their products how to do things.
[00:33:56.120 --> 00:34:02.280] Nobody has done what we have done, which is catered to the Laravel slash PHP developer.
[00:34:02.280 --> 00:34:08.520] We brought all of the tooling to your existing knowledge base with the exception of how to interface with the APIs.
[00:34:08.520 --> 00:34:15.960] And then also there's a little arm bend of you have to kind of learn how to think as an app developer.
[00:34:15.960 --> 00:34:21.880] So, you know, that whole scenario, which you would have to do anyway, whether you're doing it with us or anybody else.
[00:34:21.880 --> 00:34:28.680] So the pricing, I think, whether it's a pricing or not, just the fact that we're charging for something, look, we put it out there.
[00:34:28.680 --> 00:34:36.920] If no one buys, then okay, then there's not a market at this price, or there's not a, you know, this isn't viable for some people, or whatever the cause.
[00:34:36.920 --> 00:34:49.800] But the fact that we've done sales, I mean, and just to, I know your audience specifically out of respect, well, we announced May 2nd was our official V1 release date on that day.
[00:34:49.800 --> 00:34:51.960] Actually, I think it was just a few hours before that.
[00:34:51.960 --> 00:34:53.880] We hit $100,000 in sales.
[00:34:53.880 --> 00:34:56.920] So I know like your audience would love to hear that, right?
[00:34:57.080 --> 00:34:57.960] I bet.
[00:34:58.280 --> 00:35:00.960] So to say what we're talking about.
[00:35:00.960 --> 00:35:08.760] And to be further clear about that, I think about 40-ish K was in the week leading up to that release date.
[00:35:08.760 --> 00:35:09.800] And it's continuing.
[00:35:09.800 --> 00:35:11.080] Like, there's still justification.
[00:35:11.080 --> 00:35:12.360] We'll say it that way.
[00:35:12.360 --> 00:35:15.600] And so that's like, all right, this is what people want, clearly.
[00:35:14.920 --> 00:35:17.280] This is what we need to be working on.
[00:35:17.440 --> 00:35:30.240] And now we have to fall back a little bit, plan, strategize, and put some people around us that are really good in this space and lean on them and more of that managing the business more so than anything else.
[00:35:30.240 --> 00:35:34.320] And I kind of went off on a little tangent there, but that's how I roll.
[00:35:34.640 --> 00:35:36.880] I do appreciate it because I think it's important.
[00:35:36.880 --> 00:35:41.520] Like you, you're talking about like very, very clear validation signals here.
[00:35:41.520 --> 00:35:47.200] And that's kind of what I meant with like the PHP developer community is at its heart an entrepreneurial community.
[00:35:47.200 --> 00:35:51.200] Like you see not just the value of the product in a technical sense, which is great.
[00:35:51.200 --> 00:35:54.560] Like it's a great accomplishment to get this on mobile to begin with, right?
[00:35:54.560 --> 00:35:57.360] Again, it's 2025 and this is the first time it actually worked.
[00:35:57.360 --> 00:35:58.400] That's wonderful.
[00:35:58.400 --> 00:36:08.000] But the fact that you from the beginning try to look for value signals that are actually like cold hard cash value signals and not just somebody like thumbs up on some issue on GitHub.
[00:36:08.000 --> 00:36:09.200] Signing up for a newsletter.
[00:36:09.200 --> 00:36:16.400] Yeah, signing up for a newsletter or just following you on social media or tracking, starring your repo or whatever.
[00:36:16.400 --> 00:36:17.040] They're all signals.
[00:36:17.040 --> 00:36:18.000] They're soft signals.
[00:36:18.000 --> 00:36:21.920] They are great signals, but none of them are going to pay the rent, right?
[00:36:21.920 --> 00:36:29.280] That's that's something that as a developer who is trying to build something meaningful that has an impact on other people's lives, well, it has to have an impact on your own life as well.
[00:36:29.280 --> 00:36:31.520] And I think that's a reality that founders get.
[00:36:31.520 --> 00:36:35.200] And PHP developers are surprisingly strongly overlapping with that.
[00:36:35.200 --> 00:36:36.880] Yeah, that's so true.
[00:36:37.040 --> 00:36:54.320] I think for me, like the context of that really comes from trying really hard in the kind of previous almost two years to do the thing that all the other much bigger businesses, frankly, have been doing, which is to give it away for free.
[00:36:54.320 --> 00:37:05.800] And although it was with the desktop tool, backing that up with, you know, I'm building it, I'm trying to encourage the community around it and foster more collaboration and all of that.
[00:37:05.800 --> 00:37:10.200] But at the same time, I'm actively trying to pursue funding it.
[00:37:10.200 --> 00:37:12.520] You know, I'd made lots of grant applications.
[00:37:12.520 --> 00:37:17.800] I was quite active in getting people to sponsor the project, but it was just never enough.
[00:37:17.800 --> 00:37:22.200] Like there was so much work and it was so hard to get to that point.
[00:37:22.200 --> 00:37:24.360] And you turned down so many times.
[00:37:24.360 --> 00:37:50.040] I mean, I don't know why specifically in all of those cases, you know, like grant applications were denied or whatever, but it doesn't really matter because the end result is it kind of forced me into this position of like, if I want to work on this, if I want to make this a sustainable product that other people can rely on to use, I have to build a business around it.
[00:37:50.040 --> 00:37:52.040] There's no two ways about it.
[00:37:52.040 --> 00:38:01.640] And then the other problem is I can't spend my time on yet another thing to offset the cost of running that business.
[00:38:01.640 --> 00:38:11.800] So the obvious answer was: I got to charge for the license to use the tool that I'm building and have that money come directly into building it.
[00:38:11.800 --> 00:38:12.920] That's where we're at.
[00:38:12.920 --> 00:38:14.120] That sounds about right.
[00:38:14.680 --> 00:38:16.120] You know, that's what a business is.
[00:38:16.440 --> 00:38:23.320] It's so funny that so often people forget that that is like the main and like one of the only ways that these things can sustain themselves.
[00:38:23.320 --> 00:38:33.400] The idea that monetization is an integral part of the product, that is something we should also just highlight for people who are building products on top of this, right?
[00:38:33.720 --> 00:38:36.600] Recently, there was this whole thing with the Fortnite situation.
[00:38:36.600 --> 00:38:37.720] Let's just call it that, right?
[00:38:37.720 --> 00:38:50.400] With the Apple, the walled garden opening its financial vault doors a little bit and not taking the 30% cut, at least enforcing it as much anymore as they used to do, although they still do outside of the US for some reason.
[00:38:50.560 --> 00:38:53.360] But let's talk about monetization opportunities on mobile.
[00:38:53.360 --> 00:38:58.960] Because for many of the SaaS founders that I know, myself, not having a mobile app, I don't think about this.
[00:38:58.960 --> 00:39:10.160] But if I now could, and I am already like, I have to keep myself from thinking about it right now, the things that I could build with this, because there's just so much opportunity for my own business for PodScan.
[00:39:10.160 --> 00:39:11.120] How would you approach this?
[00:39:11.120 --> 00:39:12.400] Like, what does payment look like?
[00:39:12.400 --> 00:39:15.360] What does monetization look like building mobile apps?
[00:39:15.600 --> 00:39:18.400] Yeah, I mean, the whole iOS in-app billing thing.
[00:39:18.640 --> 00:39:21.760] So I don't follow, I haven't followed that a lot.
[00:39:21.760 --> 00:39:32.640] I guess there was like a lawsuit going on for a long time, and then they just finally settled that they're not forcing people to go through their 30% fee that they charge for the in-app billing.
[00:39:32.640 --> 00:39:50.480] That being said, that's one of the API functions we have not yet implemented on iOS or Android, which does, though, it says, hey, if you're going to build apps to release in the US on Apple, you can accept like a Stripe or something like that form inside of your app.
[00:39:50.480 --> 00:40:02.080] There's already like cashier, and there's already, like I said, these resources available to Laravel developers that you can just plug and play, modify for the app environment, and go to town.
[00:40:02.080 --> 00:40:05.280] So you can bypass this whole app store thing.
[00:40:05.280 --> 00:40:08.080] I do think, and I think I've seen some notes of it already.
[00:40:08.080 --> 00:40:21.120] Like, I do feel like Apple is going to find a way to make that money back and probably retributably, if that's the word, like to take it out on whatever, because that's kind of the mantra that they've given off to me at least.
[00:40:21.120 --> 00:40:22.960] I love Apple, I like their products.
[00:40:22.920 --> 00:40:23.720] You know, you know.
[00:40:24.120 --> 00:40:30.600] If you're listening, please say King Native PHP off the crystal, right?
[00:40:31.800 --> 00:40:40.360] So, I mean, as far as like what customer, I mean, I had a guy, I was, I did a small talk at a local meetup a month ago, probably.
[00:40:40.680 --> 00:40:46.680] And I was explaining after my talk to one of the guys there, like there's someone that had come to me and was asking me about MDM.
[00:40:46.680 --> 00:40:47.640] I didn't even know what that was.
[00:40:47.640 --> 00:40:49.640] Some sort of drug, maybe, or something.
[00:40:49.960 --> 00:40:51.400] What is MDM?
[00:40:51.480 --> 00:40:54.520] It's like a mobile device management.
[00:40:54.520 --> 00:40:56.680] So he had this unique situation.
[00:40:56.680 --> 00:41:02.920] He had hundreds of malls in America have his devices with basically a kiosk, but it's using Android.
[00:41:02.920 --> 00:41:06.040] And he wants to lock down that device just for that app.
[00:41:06.040 --> 00:41:09.320] So nobody could exit out of it, but remotely, he could manage that.
[00:41:09.320 --> 00:41:11.400] And I'm like, well, we could totally do that.
[00:41:11.400 --> 00:41:14.440] And so I started explaining the technology to this guy.
[00:41:14.440 --> 00:41:23.880] And he was like, oh, you guys could build, you guys could build this trucker app, like where you could track where the truckers are for companies and stuff.
[00:41:23.880 --> 00:41:27.480] And I'm like, no, you can do that.
[00:41:27.480 --> 00:41:32.680] We are building the tool so that people with you that have ideas can do it.
[00:41:32.840 --> 00:41:43.320] Like we have ideas for our own apps, of course, but like what we're doing is more like empowering, enabling that developer so that he can take that spark of an idea and start implementing it.
[00:41:43.480 --> 00:41:48.600] Go find a trucker, go find a trucking company, or maybe you already are working in that kind of space.
[00:41:48.600 --> 00:41:59.080] And now you're like, wow, we could monetize this through App Store or not, you know, because I don't know what the cut is with the Play Console, but they have their own in-app billing there as well.
[00:41:59.080 --> 00:42:04.280] And that's something, even though, I mean, we have people all over the world are using this.
[00:42:04.280 --> 00:42:14.040] Like the binary part of our package that it downloads a zip, we had to CDN it because we're servicing people literally in India and Africa and all over the place.
[00:42:14.040 --> 00:42:16.400] I couldn't have it in Ohio or whatever.
[00:42:14.920 --> 00:42:19.440] So just because that applies to the US, it doesn't apply everywhere else.
[00:42:19.520 --> 00:42:23.040] So we absolutely have to support internet billing on both OS's.
[00:42:23.040 --> 00:42:26.640] And I think one of the coolest things, I guess, is our Discord server.
[00:42:26.640 --> 00:42:29.840] We have a channel there that's like, show us your app.
[00:42:29.840 --> 00:42:34.800] Day one of releasing this, there were people like little like JavaScript games.
[00:42:34.800 --> 00:42:36.240] They're really just JavaScript.
[00:42:36.480 --> 00:42:36.960] What was that?
[00:42:36.960 --> 00:42:41.600] Like a snake game where you eat the one of our good friends actually was working on that.
[00:42:41.600 --> 00:42:44.080] And but he tied it into like a PHP server.
[00:42:44.080 --> 00:42:46.480] So when you finish, you get your score and you can have a leaderboard.
[00:42:46.480 --> 00:42:48.160] And it was like really cool.
[00:42:48.160 --> 00:42:53.600] I even had put something together for like, I just found a GitHub flappy bird clone, right?
[00:42:53.600 --> 00:42:56.640] And I just popped it in and hit run and it just worked.
[00:42:56.640 --> 00:42:59.440] And it was like, you know, I tie it to touch.
[00:42:59.440 --> 00:42:59.920] Yeah.
[00:42:59.920 --> 00:43:00.960] We should play something.
[00:43:01.040 --> 00:43:03.040] We could use reverb and play against each other.
[00:43:03.120 --> 00:43:04.640] Multiplayer flappy bird.
[00:43:05.440 --> 00:43:07.440] I get one wing, you get the other.
[00:43:08.320 --> 00:43:13.280] But yeah, I think that people can get creative now and they can start dreaming.
[00:43:13.280 --> 00:43:19.680] And even with our, I'll say quote unquote limited libraries that we have right now, because that's something we're focusing on actively.
[00:43:19.680 --> 00:43:21.280] It's about a dozen or so.
[00:43:21.280 --> 00:43:24.800] You can already start to build on some things.
[00:43:24.800 --> 00:43:26.240] And there's more and more coming out.
[00:43:26.320 --> 00:43:30.080] We're trying to get to like a weekly release of more native functions.
[00:43:30.080 --> 00:43:33.600] I think that the whole Apple epic, wasn't it?
[00:43:33.600 --> 00:43:53.680] Epic Games battle is it's obviously, I don't want to weigh in on that because I don't know very much about it really, but the whole problem space of these walled gardens and what we've seen over 20 odd years of, or more than that, really, but with the web, you know, the open technology is the thing that survives.
[00:43:53.680 --> 00:43:55.600] It is the thing that drives innovation.
[00:43:55.600 --> 00:44:00.920] It is the thing that enables, you know, new connections across the whole globe.
[00:44:01.240 --> 00:44:13.560] And, you know, I can see Apple wanting to keep a hold of that for various reasons, but their main one publicly has always been so that we can maintain quality, right?
[00:44:13.880 --> 00:44:28.840] But what we will just see over time, I think, is a bit of a domino effect from here, where more and more countries around the world will be pushing them to open the garden up a little bit, you know, and just let people have a bit of an easier time with it.
[00:44:28.840 --> 00:44:38.840] So I think the opportunity now for people to really make money through apps is only going to increase.
[00:44:38.840 --> 00:44:53.080] So I think we're going to see a proliferation of more apps doing this and more countries kind of pushing companies like Apple to reduce their fees and help people out, help people get started.
[00:44:53.080 --> 00:45:03.080] And I think at the end of the day, like Shane said, that's actually going to turn around to be a net benefit for companies like Apple because they'll figure out other ways to generate revenue.
[00:45:03.080 --> 00:45:05.000] And I think they'll realize that too.
[00:45:05.000 --> 00:45:08.040] And then it'll just, it'll make perfect sense for everybody.
[00:45:08.040 --> 00:45:20.120] But yeah, it's like essentially you're getting in with a shovel, you know, as we're just about to start another sort of gold, potential gold rush for the app marketplace.
[00:45:20.120 --> 00:45:21.640] Yeah, I think you mentioned this before.
[00:45:21.640 --> 00:45:25.400] You phrased it as like democratization of app building too, right?
[00:45:25.400 --> 00:45:31.560] You're making things more accessible, you're making them less elitist and also just more playful.
[00:45:32.200 --> 00:45:34.320] There's a way that you can just do things now.
[00:45:34.320 --> 00:45:38.760] Particularly with, and we didn't even get into like the whole AI coding, bipecoding situation.
[00:45:38.760 --> 00:45:41.800] Let's save that for another day because we could talk about this for an hour.
[00:45:41.800 --> 00:45:45.600] But the tooling that we have right now to build these things is already there.
[00:45:44.840 --> 00:45:49.520] It's much easier now to build a PHP app than it ever was before.
[00:45:49.840 --> 00:45:58.960] And since native PHP is sitting or is allowing for just regular Laravel apps to be built, that is what AI can already do, right?
[00:45:58.960 --> 00:46:01.360] Like this, this is really, really simple.
[00:46:01.360 --> 00:46:09.120] And I guess over time, the AIs of the world will absorb native PHP's best practices and that stuff as well, right?
[00:46:09.120 --> 00:46:15.360] You could probably create some kind of documentation you can feed into a system like that, and it can create the perfect code.
[00:46:15.680 --> 00:46:20.560] It's just so easy now to build things that I'm excited to see where this is going to go.
[00:46:20.560 --> 00:46:27.840] Like who is going to build what and what the shift will look like when people talk about their big apps in the Laravel world in particular, right?
[00:46:28.000 --> 00:46:37.840] The Laricons of the future, like how many of them will just be mobile apps, like mobile-first apps instead of SaaS web apps that we have been used to over the last decades or so.
[00:46:37.840 --> 00:46:44.240] That's something hard not to think of, to be honest, because it's almost like, because we're on this side, I might be unbiased in that sense.
[00:46:44.240 --> 00:46:51.600] So the sense is how many people might actually end up becoming Laravel devs because they want to be mobile devs?
[00:46:51.600 --> 00:46:55.440] And this is actually the easiest way to start working on more, more robust.
[00:46:55.680 --> 00:46:58.640] I feel PHP is more robust than JavaScript.
[00:46:58.640 --> 00:47:01.680] Again, maybe a bias, but it's not that hard, right?
[00:47:02.000 --> 00:47:03.600] Especially the way things are going.
[00:47:03.600 --> 00:47:06.240] One's trending one direction, the other's trending another, right?
[00:47:06.240 --> 00:47:09.520] So maybe controversial.
[00:47:09.520 --> 00:47:11.280] But anyway, I love JavaScript.
[00:47:11.680 --> 00:47:12.160] Yeah, me too.
[00:47:12.480 --> 00:47:13.040] Who doesn't?
[00:47:13.040 --> 00:47:14.000] I use it all the time.
[00:47:15.440 --> 00:47:25.280] But I think that, you know, again, with the resources we have available, this is a much more robust unlocking tool, key, if you will, to getting into this realm.
[00:47:25.280 --> 00:47:34.200] And so I do feel like, yeah, at some point, the more awareness we bring to this, more people are realizing that this is actually probably a better, if not best, way.
[00:47:34.200 --> 00:47:36.040] Maybe not today, but that's our goal.
[00:47:36.040 --> 00:47:37.320] We're going to make this the best way.
[00:47:37.320 --> 00:47:41.480] Like, we're going to strive and try our best to make it as good as it can be.
[00:47:41.480 --> 00:47:47.560] And I do think they're going to find people ending up at Laricon that didn't know that we can do web with Laribel.
[00:47:47.560 --> 00:47:48.920] Yeah, that's going to be awesome.
[00:47:48.920 --> 00:47:49.960] That's going to be so.
[00:47:49.960 --> 00:47:51.480] Wait, you could do websites too?
[00:47:51.640 --> 00:47:52.360] That's going to be great.
[00:47:52.360 --> 00:47:53.880] That's going to be cool.
[00:47:53.880 --> 00:48:00.360] Guys, I'm really looking forward to seeing both where your business goes, obviously, because that's just the entrepreneurial side in me.
[00:48:00.360 --> 00:48:06.040] I'm looking forward to seeing where you take the project, like what novel things you will find over the next months or years.
[00:48:06.040 --> 00:48:08.680] There's going to be a lot of interesting stuff happening in the field.
[00:48:08.680 --> 00:48:10.360] Like it never stands still, right?
[00:48:10.360 --> 00:48:13.240] So you always have to adapt and where you take the community.
[00:48:13.240 --> 00:48:15.240] I think that's already established.
[00:48:15.400 --> 00:48:21.720] You were mentioning like a Discord and people are flocking to you from like the Twitters, the Access, the Blue Skies, and whatnot, right?
[00:48:21.720 --> 00:48:23.800] People are excited for this.
[00:48:23.800 --> 00:48:28.120] And for everybody who is listening to this and wonders, well, where can I find these people?
[00:48:28.120 --> 00:48:29.240] Where can you guys be found?
[00:48:29.240 --> 00:48:33.400] Where do you want people to go if they want to learn more about you and the wonderful projects that you're working on?
[00:48:33.400 --> 00:48:36.200] I think I'm horrifically online.
[00:48:36.520 --> 00:48:40.520] My wife would tell me off if I said this because she knows it's true.
[00:48:40.520 --> 00:48:43.640] But I'm on Twitter and Blue Sky and all of the places.
[00:48:43.640 --> 00:48:45.400] So wherever you kind of prefer.
[00:48:45.400 --> 00:48:48.760] I'm usually at Simon Hamp on there.
[00:48:48.760 --> 00:48:50.920] So that's where you can find me.
[00:48:50.920 --> 00:48:52.120] I'm at Shane D.
[00:48:52.200 --> 00:48:54.120] Rosenthal, I believe on Blue Sky.
[00:48:54.120 --> 00:48:55.480] And Twitter.
[00:48:55.480 --> 00:49:00.680] Yeah, I have opened the door right before we release to some like early beta testers.
[00:49:00.680 --> 00:49:05.080] And so, like on Telegram, they're messaging me problems now, post-release.
[00:49:05.080 --> 00:49:07.880] I'm like, please just go through the Discord server.
[00:49:07.880 --> 00:49:14.800] So, I'm like, kind of reluctant to give out too much info because I do have like reel in my attention and where I'm placing it these days.
[00:49:14.440 --> 00:49:18.480] But again, good problems to have, but I am, we love conversation.
[00:49:18.640 --> 00:49:22.400] We're very much talkers and feelers, and we love to dream.
[00:49:22.400 --> 00:49:24.240] That's really where we want to get to every day.
[00:49:24.240 --> 00:49:28.880] If we can do just 10 minutes of dream time, you know, that kind of ticks my boxes internally.
[00:49:28.880 --> 00:49:31.200] So, I welcome the messages for sure.
[00:49:31.200 --> 00:49:32.080] Well, I love this.
[00:49:32.080 --> 00:49:34.800] Yeah, nativephp.com is the website of the project.
[00:49:34.800 --> 00:49:40.080] If anybody wants to just immediately purchase a license, I highly recommend it.
[00:49:40.080 --> 00:49:41.680] It's a good idea because it's great.
[00:49:41.680 --> 00:49:42.720] Man, I love this.
[00:49:42.720 --> 00:49:49.680] You guys are doing such good work, and it's so enjoyable to watch you build it in public, like share the process and the journey with people.
[00:49:49.680 --> 00:49:51.600] I find this is an amazing thing.
[00:49:51.600 --> 00:49:52.480] Thanks, Avid.
[00:49:52.480 --> 00:49:56.320] Thanks so much for sharing all of your insights and the journey of this on the show.
[00:49:56.320 --> 00:49:57.040] I really appreciate it.
[00:49:57.040 --> 00:49:57.840] Thanks, thanks, Shane.
[00:49:57.840 --> 00:49:58.480] Thanks, Simon.
[00:49:58.480 --> 00:49:58.880] Thank you.
[00:49:58.880 --> 00:49:59.440] Thank you.
[00:49:59.440 --> 00:50:00.000] Thank you.
[00:50:00.000 --> 00:50:00.720] Appreciate it.
[00:50:00.720 --> 00:50:02.240] Appreciate the opportunity.
[00:50:02.240 --> 00:50:03.440] And that's it for today.
[00:50:03.440 --> 00:50:05.680] Thank you so much for listening to the Bootstrap Founder.
[00:50:05.680 --> 00:50:09.040] You can find me on Twitter at Avid Kahl, A R-V-I-D, K-A-H-L.
[00:50:09.200 --> 00:50:22.080] And if you want to support me in this show, please share podscan.fm, my SaaS business, with your professional peers and those who you think will benefit from tracking mentions of their brands, their businesses, and names on podcasts out there.
[00:50:22.080 --> 00:50:26.480] PodScan is a near real-time podcast database with a stellar API.
[00:50:26.480 --> 00:50:29.680] We have 32 million podcast episodes in there back now.
[00:50:29.680 --> 00:50:31.600] The database is humongous.
[00:50:31.600 --> 00:50:35.920] Please share the word with those who need to stay on top of the podcast ecosystem.
[00:50:35.920 --> 00:50:37.280] Thank you so much for listening.
[00:50:37.280 --> 00:50:39.840] Have a wonderful day and bye-bye.
Prompt 2: Key Takeaways
Now please extract the key takeaways from the transcript content I provided.
Extract the most important key takeaways from this part of the conversation. Use a single sentence statement (the key takeaway) rather than milquetoast descriptions like "the hosts discuss...".
Limit the key takeaways to a maximum of 3. The key takeaways should be insightful and knowledge-additive.
IMPORTANT: Return ONLY valid JSON, no explanations or markdown. Ensure:
- All strings are properly quoted and escaped
- No trailing commas
- All braces and brackets are balanced
Format: {"key_takeaways": ["takeaway 1", "takeaway 2"]}
Prompt 3: Segments
Now identify 2-4 distinct topical segments from this part of the conversation.
For each segment, identify:
- Descriptive title (3-6 words)
- START timestamp when this topic begins (HH:MM:SS format)
- Double check that the timestamp is accurate - a timestamp will NEVER be greater than the total length of the audio
- Most important Key takeaway from that segment. Key takeaway must be specific and knowledge-additive.
- Brief summary of the discussion
IMPORTANT: The timestamp should mark when the topic/segment STARTS, not a range. Look for topic transitions and conversation shifts.
Return ONLY valid JSON. Ensure all strings are properly quoted, no trailing commas:
{
"segments": [
{
"segment_title": "Topic Discussion",
"timestamp": "01:15:30",
"key_takeaway": "main point from this segment",
"segment_summary": "brief description of what was discussed"
}
]
}
Timestamp format: HH:MM:SS (e.g., 00:05:30, 01:22:45) marking the START of each segment.
Prompt 4: Media Mentions
Now scan the transcript content I provided for ACTUAL mentions of specific media titles:
Find explicit mentions of:
- Books (with specific titles)
- Movies (with specific titles)
- TV Shows (with specific titles)
- Music/Songs (with specific titles)
DO NOT include:
- Websites, URLs, or web services
- Other podcasts or podcast names
IMPORTANT:
- Only include items explicitly mentioned by name. Do not invent titles.
- Valid categories are: "Book", "Movie", "TV Show", "Music"
- Include the exact phrase where each item was mentioned
- Find the nearest proximate timestamp where it appears in the conversation
- THE TIMESTAMP OF THE MEDIA MENTION IS IMPORTANT - DO NOT INVENT TIMESTAMPS AND DO NOT MISATTRIBUTE TIMESTAMPS
- Double check that the timestamp is accurate - a timestamp will NEVER be greater than the total length of the audio
- Timestamps are given as ranges, e.g. 01:13:42.520 --> 01:13:46.720. Use the EARLIER of the 2 timestamps in the range.
Return ONLY valid JSON. Ensure all strings are properly quoted and escaped, no trailing commas:
{
"media_mentions": [
{
"title": "Exact Title as Mentioned",
"category": "Book",
"author_artist": "N/A",
"context": "Brief context of why it was mentioned",
"context_phrase": "The exact sentence or phrase where it was mentioned",
"timestamp": "estimated time like 01:15:30"
}
]
}
If no media is mentioned, return: {"media_mentions": []}
Full Transcript
[00:00:00.400 --> 00:00:04.640] Hey, it's Arvid, and this is the Bootstrap Founder.
[00:00:09.120 --> 00:00:14.000] Today, I'm talking to Shane Rosenthal and Simon Hemp from the Native PHP project.
[00:00:14.000 --> 00:00:20.400] These fine gentlemen have brought PHP and with it my favorite web framework, Laravel, onto mobile devices.
[00:00:20.400 --> 00:00:21.280] And I love this.
[00:00:21.280 --> 00:00:25.440] They take established tech and they port it into places where you wouldn't expect.
[00:00:25.760 --> 00:00:36.960] I'll be talking to Shane and Simon about how they accomplished this and maybe even more impressively, how they turned this into a profitable business at a very early stage.
[00:00:36.960 --> 00:00:41.280] That's always complicated with open source stuff, so it's really, really cool to see.
[00:00:41.280 --> 00:00:48.640] This episode is sponsored by Paddle.com, my personal favorite merchant of record, who also has something that might interest mobile developers.
[00:00:48.640 --> 00:00:55.840] I recently perused a documentation for hosted checkouts because I was experimenting with the Vibe coding tool that needed some payment.
[00:00:55.840 --> 00:01:02.160] And I found that Paddle has built a very functional and super easy-to-integrate hosted checkout for mobile applications.
[00:01:02.160 --> 00:01:07.680] It works for other things too, but it's meant for mobile because it just makes it so easy to get people to pay for your app.
[00:01:07.680 --> 00:01:17.920] Now, pair this with a solution like Native PHP, and you have yourself an application where all the money stuff is handled by professionals and you can just keep building in the language that you already know.
[00:01:17.920 --> 00:01:18.800] It's really cool.
[00:01:18.800 --> 00:01:21.280] So, go check it out at paddle.com.
[00:01:21.280 --> 00:01:25.840] Now, here are Shane and Simon and their intriguing native PHP project.
[00:01:27.440 --> 00:01:30.560] You brought PHP to mobile devices.
[00:01:30.560 --> 00:01:31.760] How did you guys do this?
[00:01:31.760 --> 00:01:37.200] And why did it take until 2025 of all years for someone to finally get this right?
[00:01:37.200 --> 00:01:38.080] Oh, wow.
[00:01:38.800 --> 00:01:42.080] This is the loaded million-dollar question.
[00:01:42.080 --> 00:01:42.960] It's a journey.
[00:01:42.960 --> 00:01:44.960] It's been a real journey.
[00:01:44.960 --> 00:01:54.960] And I mean, in terms of taking till now, and we were talking about this a few weeks ago, just like thinking, would this have even been possible a few years ago?
[00:01:55.280 --> 00:02:02.920] And honestly, I don't know the answer, but it feels like it's all come together at this point in time.
[00:02:03.240 --> 00:02:09.400] So there's definitely something in the air, you know, that has enabled all of this.
[00:02:10.440 --> 00:02:18.440] But yeah, getting to this point, I mean, for me personally, it started probably in 2019.
[00:02:18.440 --> 00:02:20.200] I was working for a company.
[00:02:20.200 --> 00:02:26.120] I saw this tweet by a fellow called Marcel Pozziart, who you might know.
[00:02:26.120 --> 00:02:36.760] And he was trying to get a project called Laravel Zero to run on somebody else's computer without them having to have PHP installed.
[00:02:36.760 --> 00:02:42.280] And he was using this weird library that when I went to the GitHub page, it was all in Chinese.
[00:02:42.280 --> 00:02:45.560] And, you know, I kind of gave up at that point.
[00:02:45.560 --> 00:02:47.160] But it stuck in my brain.
[00:02:47.160 --> 00:03:02.120] And I bookmarked the tweet and I thought, right, when I finish this job, when I get some free time, I'm going to come back to this and I'm going to pick this up and I'm going to see if I can reach out to Marcel, you know, figure out how to get this going.
[00:03:02.120 --> 00:03:07.640] Because it looked like he kind of got so far and then I never heard anything about it again.
[00:03:07.640 --> 00:03:19.720] Anyway, me thinking like this is going to take me a few months to get some free time to work on this took me until the time when I left that job, which was three years later, you know, like three and a half years later.
[00:03:19.720 --> 00:03:22.920] So it was the end of 2022 and I finally picked it up.
[00:03:22.920 --> 00:03:28.440] I dug out the tweet, you know, and then I went and reached out to Marcel and all of that kind of stuff.
[00:03:28.440 --> 00:03:44.880] But yeah, basically got Laravel working, not just the Laravel Zero, which was for CLI applications, but full Laravel working on a distributable PHP executable.
[00:03:44.880 --> 00:03:45.600] And that was it.
[00:03:45.600 --> 00:03:48.400] That sort of unlocked the whole thing.
[00:03:44.440 --> 00:03:49.440] And then we're here today.
[00:03:49.760 --> 00:03:50.880] What's the magic there?
[00:03:50.880 --> 00:03:52.240] Like, why did it take so long?
[00:03:52.240 --> 00:03:57.600] Because I think compiling PHP into something else, like, that feels odd, but not impossible.
[00:03:57.600 --> 00:03:59.680] Like, not 2025 impossible.
[00:03:59.680 --> 00:04:02.480] So, so, what was it that was needed at that point?
[00:04:02.480 --> 00:04:08.720] That actually came out of a library that was able to compile PHP into this static binary.
[00:04:08.720 --> 00:04:11.520] This is what allows it to be distributable.
[00:04:11.520 --> 00:04:14.400] But getting it onto mobile is another lift.
[00:04:14.400 --> 00:04:19.120] It's not the same because you can't just ship that static binary onto a phone.
[00:04:19.120 --> 00:04:20.640] And that didn't really come.
[00:04:20.640 --> 00:04:24.480] And we were just talking about this before this call, Shane and I.
[00:04:24.480 --> 00:04:27.200] That didn't really come until about October last year.
[00:04:27.200 --> 00:04:37.040] And I can't really give a reason to why it's taken that time other than I think generally people go, we probably shouldn't be doing this with PHP.
[00:04:37.280 --> 00:04:39.680] Yes, that's probably what it is.
[00:04:39.680 --> 00:04:42.320] I would say I come at it from a very different angle.
[00:04:42.320 --> 00:04:49.360] I didn't really have a curiosity or interest necessarily in compiling PHP for mobile or anything like that.
[00:04:49.360 --> 00:04:51.440] I came at it from like a Laravel look.
[00:04:51.440 --> 00:04:56.160] I interface with clients, I build apps, I make money, I feed kids.
[00:04:56.160 --> 00:04:58.240] That's just what I do.
[00:04:58.240 --> 00:05:06.000] And the reasons why I started working on this was there's a whole kind of story there with Simon and I.
[00:05:06.000 --> 00:05:15.200] So we were already on a podcast together called Bucket, and we off air one day, he just announced he's going to talk at Laricon EU.
[00:05:15.200 --> 00:05:17.600] And that's with just this last February.
[00:05:17.600 --> 00:05:26.960] And I helped him prepare for slides if I could, or talk, you know, just go through his talk with him and really just try to ask the questions, kind of what you're doing now.
[00:05:26.960 --> 00:05:28.320] Like, how do you even do this?
[00:05:28.320 --> 00:05:29.520] How do you go about this?
[00:05:29.520 --> 00:05:41.080] And just conceptually, understanding theoretically how it could be done, even though I didn't know until literally like 10 minutes ago, he didn't even know how to do it at the time, necessarily.
[00:05:41.400 --> 00:05:43.640] But I was like, okay.
[00:05:43.640 --> 00:05:49.480] And yeah, I asked him a question that would forever change the trajectory of my life.
[00:05:49.480 --> 00:05:50.600] So far, it has at least.
[00:05:50.600 --> 00:05:58.200] I don't see my life really going back to necessarily working on client work with the recent successes we've gained with this, but you never know.
[00:05:58.200 --> 00:06:04.280] But I asked him, you know, if you're going to be charging money for this kind of thing, you can't just do it for iOS.
[00:06:04.280 --> 00:06:08.600] No company is going to seriously invest into this unless you can provide the world, right?
[00:06:08.600 --> 00:06:11.240] Which is at least more than 95%.
[00:06:11.240 --> 00:06:13.720] I would imagine Android and iOS is going to cover that.
[00:06:13.720 --> 00:06:15.400] There's other kinds, right?
[00:06:16.040 --> 00:06:22.600] So that question, his response was maybe six months to a year until he works on Android.
[00:06:22.600 --> 00:06:26.600] I'm not going to do the accent, but thank goodness for that.
[00:06:26.600 --> 00:06:27.000] Yeah.
[00:06:27.960 --> 00:06:29.160] You know, maybe that long.
[00:06:29.160 --> 00:06:31.560] He's also got client work he's doing at the same time.
[00:06:31.560 --> 00:06:35.000] And he has to, he just, you know, kind of figured things out in iOS.
[00:06:35.000 --> 00:06:37.960] And that didn't sit well with me.
[00:06:37.960 --> 00:06:47.240] I just felt like, you know, as my friend, which I do respect him in that regard highly, he's probably my best friend at this point, or one of them.
[00:06:47.240 --> 00:06:50.920] I felt almost like I want to help ease the burden for him.
[00:06:50.920 --> 00:06:53.880] And it wasn't really like, I hate the word entrepreneur.
[00:06:53.880 --> 00:06:58.040] I think it's just overused, but it's really kind of what we are anyway.
[00:06:58.040 --> 00:07:02.120] Like we actually are looking for like the right business ideas always.
[00:07:02.120 --> 00:07:09.080] And I've swung for the fences so many times in my, you know, 15 years of web development and fallen short.
[00:07:09.080 --> 00:07:13.080] And it, you get burnt out, you know, there's a churn there in your own mind, I guess.
[00:07:13.080 --> 00:07:17.280] But I came at it from a different, like wholeheartedly, just a different angle.
[00:07:14.680 --> 00:07:21.200] And it was like, I want to help my friend start tackling the Android side of things.
[00:07:21.520 --> 00:07:26.800] And after a couple of weeks, I was asking him different questions of like, did you do this extension?
[00:07:26.800 --> 00:07:28.000] And did you do that?
[00:07:28.000 --> 00:07:31.120] And he was just like, are you doing, are you trying to compete with me?
[00:07:31.120 --> 00:07:32.640] Or what are you doing here?
[00:07:32.960 --> 00:07:34.000] Yeah, it wasn't for me.
[00:07:34.000 --> 00:07:38.080] Like, I had this genuine curiosity as to what we could push the boundaries with.
[00:07:38.080 --> 00:07:42.240] I just found myself pushing the boundaries with the work we were doing.
[00:07:42.240 --> 00:07:57.680] So it's so interesting you say this with the entrepreneurial side of things too, because I have this feeling that particularly inside the Laravel community and the PHP community at large, there is like a very palpable entrepreneurial spirit that's always kind of part of it.
[00:07:57.680 --> 00:07:59.520] I don't see it that much in JavaScript.
[00:07:59.520 --> 00:08:05.680] There's a lot of, you know, people who just, you know, want to do stuff, but not necessarily to make money, but just to make them.
[00:08:06.000 --> 00:08:07.600] There's a strong maker vibe.
[00:08:07.600 --> 00:08:13.360] And I don't see it as much in the Ruby world or the Elixir world or Scala or these other languages, right?
[00:08:13.360 --> 00:08:15.760] Where it's more kind of corporate-ish almost, right?
[00:08:15.760 --> 00:08:20.720] Where it's like, we have this B2B SaaS business that needs that particular kind of thing.
[00:08:20.720 --> 00:08:30.240] But in the Laravel world in particular and PHP in general, people just want to build some kind of business first and then they are technically curious.
[00:08:30.240 --> 00:08:37.360] That to me is very, very interesting because it's kind of rare in a very opinionated community of developers.
[00:08:37.360 --> 00:08:38.720] That's a really good point.
[00:08:38.720 --> 00:08:46.320] And, you know, from my opinion on it is that it stems from almost like the kind of people that used PHP.
[00:08:46.320 --> 00:08:48.880] Like, why did they adopt PHP in the first place?
[00:08:48.880 --> 00:08:51.520] And the kind of person that they then are.
[00:08:51.520 --> 00:08:53.440] You know, they're not the purists.
[00:08:53.440 --> 00:08:59.880] They're not the computer science grads who are desperate for the most perfect syntax.
[00:08:59.880 --> 00:09:02.120] Or I'm not trying to put anybody down by that.
[00:08:59.840 --> 00:09:04.520] Those are all good things to achieve.
[00:09:04.840 --> 00:09:08.440] But by and large, I've been doing PHP for over 20 years.
[00:09:08.440 --> 00:09:14.440] And I think most of the PHP developers that I've rubbed shoulders with, they're pragmatic people.
[00:09:14.440 --> 00:09:16.920] Like they just want to get the work done.
[00:09:17.240 --> 00:09:22.120] And the fact is, like, PHP has allowed them to do that, you know?
[00:09:22.120 --> 00:09:29.000] And so they were already of this mindset and they've come to PHP because it lets them do that quickly.
[00:09:29.000 --> 00:09:35.240] And the same for Laravel, you know, it's like why people have come to Laravel because it lets them do that so quickly.
[00:09:35.240 --> 00:09:43.320] And then you just have this bias now because the community is full of these kinds of pragmatic business makers, which I think is very, very cool.
[00:09:43.320 --> 00:09:43.560] Yeah.
[00:09:43.560 --> 00:09:55.160] And the tools that they build, and I'm not just even talking about the Laravel team, which is building amazing tools, but even people like Marcel building the tools that almost every Laravel developer uses, right?
[00:09:55.160 --> 00:10:01.240] Like there's so much aim when it comes to tool building.
[00:10:01.240 --> 00:10:09.160] People have this kind of shared goal, which is often lacking in these massive open source communities that are very like splinter grouped, right?
[00:10:09.160 --> 00:10:16.440] Where there's a lot of infighting, a lot of, I was talking to Taylor Ottwell about this too, like just about Laravel in a recent episode of this show.
[00:10:16.440 --> 00:10:19.880] And he also said, yeah, PHP is just an adaptable language.
[00:10:19.880 --> 00:10:24.040] And the people who started using it, they adapted over time, right?
[00:10:24.040 --> 00:10:29.320] When you think about PHP 4, that was before there was any object-oriented parts, and it was horrible.
[00:10:29.320 --> 00:10:32.600] I remember building apps in like the early 2000s in that language.
[00:10:32.840 --> 00:10:35.720] Web apps, gotta say, gotta be precise.
[00:10:35.720 --> 00:10:38.280] But I kind of didn't like it.
[00:10:38.280 --> 00:10:43.480] And then when you look at what a Laravel source code looks like now, it is nothing compared to back in the day.
[00:10:43.480 --> 00:10:45.600] Like all globals gone, right?
[00:10:44.600 --> 00:10:49.120] Weird dollar server accessors, like gone.
[00:10:44.920 --> 00:10:50.880] It's all completely different.
[00:10:51.200 --> 00:10:54.640] It has been supplanted by better and stronger systems on top of this stuff.
[00:10:54.640 --> 00:10:56.560] You could still use it, probably, right?
[00:10:56.560 --> 00:10:59.200] You could still write like PHP code like back in the day.
[00:10:59.200 --> 00:11:04.640] You shouldn't, and nobody ever should, but it's likely that the binary still could support it.
[00:11:04.640 --> 00:11:15.360] So there is just some pragmatism here in this community, for which I think it's such an important thing that you guys have been building something that allows them to now go onto a different platform.
[00:11:15.360 --> 00:11:17.680] So let's talk maybe about mobile a little bit.
[00:11:17.680 --> 00:11:26.400] I remember building mobile apps in what was it, like some weird Ionic was a framework, like a JavaScript framework that was the first thing that I ever used.
[00:11:26.400 --> 00:11:27.360] It was horrible.
[00:11:27.440 --> 00:11:32.880] It kind of worked-ish, but it was like a hybrid thing here and didn't really work the way I wanted it.
[00:11:32.880 --> 00:11:34.160] And I stopped doing this.
[00:11:34.160 --> 00:11:38.960] I tried some Swift, I tried some Gradle stuff, but it all didn't really go anywhere.
[00:11:38.960 --> 00:11:46.480] So I would like to know, just bringing PHP to mobile, how easy is it for me to build an app there?
[00:11:46.480 --> 00:11:49.120] And what can I expect to be able to do?
[00:11:49.120 --> 00:11:50.800] I like this question.
[00:11:51.120 --> 00:12:06.640] So touching a little bit on the accessibility of what PHP has provided and then what Laravel's done over the last almost 15 years with Laravel, in a nutshell, just to get to the answer: if you can build in Laravel, you can run a single command and you have an app.
[00:12:06.640 --> 00:12:09.280] You have to think about some things a little bit differently.
[00:12:09.280 --> 00:12:10.880] Your data is not shared globally.
[00:12:10.880 --> 00:12:11.520] It's on a device.
[00:12:11.600 --> 00:12:16.640] You need an API and, you know, security and files and some of those things.
[00:12:16.640 --> 00:12:27.840] But as far as like the ease of use, we are fortunate and blessed to find ourselves using such a robust community ecosystem.
[00:12:27.840 --> 00:12:30.600] It's not just the code base and the docs are nice.
[00:12:29.760 --> 00:12:31.400] They are.
[00:12:29.840 --> 00:12:32.760] It's way beyond that.
[00:12:32.920 --> 00:12:38.200] Laravel News and all the other news, news, the hat, right?
[00:12:38.200 --> 00:12:38.920] Yeah, I see that.
[00:12:39.560 --> 00:12:47.400] All of the other places to get information, all of the resources, YouTube channels, plus, just there's so many people that just come into it.
[00:12:47.400 --> 00:12:54.600] And within the first few months of learning themselves how to do anything with Laravel, they're already posting videos on YouTube to show other people the way.
[00:12:54.600 --> 00:12:57.480] And I don't, there might be other things like that.
[00:12:57.480 --> 00:13:02.440] I don't peek my head out of this bubble much because this is my whole world.
[00:13:02.440 --> 00:13:05.320] You know, my son will be 16 in December.
[00:13:05.320 --> 00:13:09.320] Every meal he's eaten was paid for by PHP and/or Laravel.
[00:13:09.480 --> 00:13:10.440] That's amazing, man.
[00:13:10.440 --> 00:13:11.400] That's awesome.
[00:13:11.400 --> 00:13:13.400] So like, I can stay here and just do that.
[00:13:13.400 --> 00:13:15.800] That's like my whole life can be inside of that.
[00:13:15.800 --> 00:13:30.200] The best thing is, we have now this whole ecosystem, community resources plethora, 15 years plus of everything grown to where it is that we can just shoehorn our own foot into iOS and Android.
[00:13:30.200 --> 00:13:45.400] And so we can leverage the power that's there already and just say, hey, now you can literally run this one or two other commands, think about things a little bit differently, and you have iOS and Android with the same package installed on your Laravel application.
[00:13:45.400 --> 00:13:46.120] So it's easy.
[00:13:46.120 --> 00:13:47.160] It's very easy.
[00:13:47.400 --> 00:13:49.560] Well, it is.
[00:13:49.880 --> 00:13:54.120] And at the same time, it really depends on what you're trying to do.
[00:13:54.120 --> 00:13:57.400] You know, the classic software engineering response.
[00:13:57.400 --> 00:14:03.800] Obviously, if you're trying to do something that it's not capable of right now, then it's very hard.
[00:14:04.120 --> 00:14:17.520] But also, if you're coming at this with a very specific thing in mind, then getting to the point where that is a robust solution for you isn't necessarily going to just be a couple of commands away.
[00:14:17.840 --> 00:14:24.800] But I think that point of sort of getting going, there's been a really good kind of baseline for that.
[00:14:24.800 --> 00:14:29.360] That's been, you know, Laravel has sort of set the precedent for us and it keeps getting better at it.
[00:14:29.360 --> 00:14:46.800] You know, in the last year alone, I think there's things like PHP.new, which I also think is one of Marcel's projects, you know, which is just like you, you don't even, if you've got a new machine, you just go to PHP.new and run a command and now you've got PHP and Composer and everything on your machine.
[00:14:46.800 --> 00:14:48.160] You haven't got to think about it.
[00:14:48.160 --> 00:14:57.840] You know, this kind of idea of I can just type a single thing and sort of, and this was embodied in the community for some years.
[00:14:57.840 --> 00:15:11.920] I kind of got this sense of messages on Twitter and things where people would say, there'll be a command that you can run, you know, like Laravel magic, and it will be you've created a SaaS or you've created a, you know, a whole new product.
[00:15:12.080 --> 00:15:13.280] Is that that, right?
[00:15:13.280 --> 00:15:13.600] Yeah.
[00:15:13.600 --> 00:15:15.760] Like, yeah, we already have that tech.
[00:15:15.760 --> 00:15:22.560] You just need to pipe a couple prompts into a couple of like agents and then like wait a half an hour and you get like the full thing.
[00:15:22.560 --> 00:15:31.680] Like, of course, it's not boxed up just yet, but that might be a couple months from now until we have this fully featured as a pay once use once kind of thing.
[00:15:31.680 --> 00:15:49.840] When you guys talk about the challenges or kind of the limitations maybe of bringing something that is like natively a web app or web framework into the mobile world, I'm always thinking about the permissions, or I'm thinking about like native access to things like cameras or audio.
[00:15:49.840 --> 00:15:51.360] What were the challenges along the way?
[00:15:51.360 --> 00:15:57.120] Like, how far are you to having a kind of parody with a native app, if that's even possible?
[00:15:57.120 --> 00:15:59.600] What's the technical situation there right now?
[00:15:59.720 --> 00:16:08.840] From that side, I mean, Shane, you'll have to speak to the Android side because I don't really understand that very well compared to the iOS, and I don't understand the iOS side very well, honestly.
[00:16:09.000 --> 00:16:12.360] I built it, um, but no one does, no one does.
[00:16:14.280 --> 00:16:17.080] Um, it's generally quite straightforward.
[00:16:17.080 --> 00:16:24.520] I mean, we're tapping into truly native functionality, so there's no like layers really in the middle.
[00:16:24.520 --> 00:16:27.640] I mean, PHP is built in C.
[00:16:27.960 --> 00:16:41.720] The phones all have the ability to handle C instructions, and most of the languages have got first-party support for C, so you can kind of throw C in there and it'll do a bunch of stuff for you.
[00:16:41.720 --> 00:16:51.640] So, and then the operating systems, like let's take the iPhone, you mentioned the camera and permissions and that kind of thing, they've got their layers of security around all of that stuff.
[00:16:51.640 --> 00:17:15.400] So, we're not bypassing any of this, you know, we're just tapping into the pre-existing APIs that they've built, and we've put a nice little interface in between, which is so that your user land PHP code can just call those functions as if it was so it's essentially bringing the native functionality right into your script, you know, your PHC script.
[00:17:15.400 --> 00:17:16.600] Yeah, it is awesome.
[00:17:16.600 --> 00:17:21.160] And we then wrap that up in a nice little composer package, basically.
[00:17:21.160 --> 00:17:32.040] So, now you get all of the interfaces and all of the you know, IDE hints and support that you'd hope for, and it's just this very easy-to-use tool.
[00:17:32.040 --> 00:17:38.040] And hey, Presto, you know, you're opening the camera and you're sending push notifications, and who knows what next?
[00:17:38.280 --> 00:17:39.960] Is it the same on the Android side?
[00:17:40.000 --> 00:17:41.800] Uh, hey, Presto, yeah.
[00:17:41.800 --> 00:17:43.880] I mean, it's yeah, it is.
[00:17:43.880 --> 00:17:48.560] It's compiled to C, and so there's essentially you're using a PHP function.
[00:17:48.640 --> 00:17:52.880] We have an extension, the native PHP extension compiled into our own binaries.
[00:17:52.880 --> 00:17:58.960] And you call, we are in parity, so we're not, we're the same exact naming, so we can just build one.
[00:17:58.960 --> 00:18:03.760] We're using facades if you're familiar with Laravel facades, and that facade is really for the most part.
[00:18:03.760 --> 00:18:09.840] And we could get more creative with it, and we intend to at some point, but it's just saying, hey, if that function exists, run it.
[00:18:09.840 --> 00:18:13.280] And if not, just don't show some weird error on the screen, essentially.
[00:18:13.280 --> 00:18:16.800] If you're doing this in the browser, which is a great way to prototype, by the way.
[00:18:16.800 --> 00:18:19.760] But yeah, that PHP function is just calling into C.
[00:18:19.760 --> 00:18:23.760] C is then in Android world, is calling onto Kotlin.
[00:18:23.760 --> 00:18:32.000] And at that point, anything that any API, third party or first on Android, we can do whatever we really want to with.
[00:18:32.000 --> 00:18:34.880] So we can just interface and build those things out.
[00:18:34.880 --> 00:18:36.640] So limitations.
[00:18:36.880 --> 00:18:40.320] The biggest limitation that I see right now is time.
[00:18:40.960 --> 00:18:43.120] I cannot find any anywhere.
[00:18:43.120 --> 00:18:50.880] I know there used to be some all over my couch when I was sitting there for, you know, figuring this stuff out, but it's gone.
[00:18:50.880 --> 00:18:55.200] So someday, maybe I'll find some time, but that's that's really our priority.
[00:18:55.200 --> 00:18:57.840] Simon and I are, there's a lot of other things.
[00:18:57.840 --> 00:19:07.360] I think that in the last, even just the last maybe a week, we're finding ourselves not even like, we're not trying to build out this project and make it really awesome.
[00:19:07.360 --> 00:19:09.600] We are finding ourselves managing a business.
[00:19:09.920 --> 00:19:12.560] And that's not something that we intended initially.
[00:19:12.560 --> 00:19:17.840] Maybe we wanted, but good problems, you know, like there's, these are good, good issues to have.
[00:19:17.840 --> 00:19:30.920] But I think too, just to add to that point of like bringing it nicely and natively, first-hand experience with calling these facades inside of a live wire or just anywhere you want to inside of your Laravel application.
[00:19:29.920 --> 00:19:36.440] One of the things that I really liked too that we spent quite a bit of time on was the config file for this.
[00:19:36.760 --> 00:19:42.840] And there's a lot of switches inside of that that will during, we'll call it compile time.
[00:19:43.160 --> 00:19:48.680] We're actually adding, just doing like string replaces and stuff inside of your XML files on Android side.
[00:19:48.680 --> 00:19:54.440] I'm not sure how Simon's doing it on iOS, but to allow or to add or subtract those permissions.
[00:19:54.440 --> 00:20:00.600] So if you don't need permission, I think the app stores don't want you to just have a whole, all of the permissions.
[00:20:00.600 --> 00:20:04.200] So it's all configurable and it's very like Laravel first.
[00:20:04.200 --> 00:20:08.200] If you're a Laravel developer, it's going to feel extremely familiar because it is very familiar.
[00:20:08.200 --> 00:20:14.600] You just end up with a nice emulator here instead of a browser and you can turn on flashlight and make phone calls and all sorts of other stuff.
[00:20:14.600 --> 00:20:16.360] Yeah, that's important stuff for a good app, right?
[00:20:16.440 --> 00:20:17.400] Got to turn on flashlight.
[00:20:17.400 --> 00:20:18.680] Yeah, it makes perfect sense.
[00:20:18.840 --> 00:20:27.400] I'm excited by the whole business, the product side of things because you kind of said you didn't really intend to build a business, but you wanted to.
[00:20:27.560 --> 00:20:29.640] That already is an interesting statement.
[00:20:29.640 --> 00:20:42.920] But from my perspective, and I've been following you guys for a long while, like prior to this as well, it felt like a very, let's call it intentional approach to slowly building something into reality.
[00:20:42.920 --> 00:20:49.240] Like it didn't feel like you were surprising yourself with the success or even pitching it at the at LaraCon.
[00:20:49.240 --> 00:20:55.240] Like it all felt very intentional and not orchestrated in that sense, but with purpose.
[00:20:55.240 --> 00:20:57.320] Like along the way, you found validation.
[00:20:57.320 --> 00:20:59.080] You did distribution first, right?
[00:20:59.080 --> 00:21:01.640] Like that the stuff that most founders never figure out.
[00:21:01.640 --> 00:21:02.680] Like you, you did it first.
[00:21:02.680 --> 00:21:04.840] You went into the conference scene and all that.
[00:21:04.840 --> 00:21:09.880] So maybe you can tell me the story and like just where you guys are right now.
[00:21:09.880 --> 00:21:14.280] Like what the level of success is that you are enjoying at this point.
[00:21:14.280 --> 00:21:21.280] So I want to say something real quick there, though, because I don't know if I misspoke, but yeah, no, I think what you're saying is right.
[00:21:21.440 --> 00:21:32.960] And I think to some effect, it was kind of like we were going through the motions of the things that we had already done a million other times that probably failed, but they didn't.
[00:21:32.960 --> 00:21:37.840] If you look at if we get success at one time, then those were just practice swings, right?
[00:21:37.840 --> 00:21:40.320] But they don't feel like that when you're missing the ball.
[00:21:40.320 --> 00:21:41.360] You know what I'm saying?
[00:21:41.360 --> 00:21:46.240] So I really think that's probably the mindset for me at least behind this.
[00:21:46.240 --> 00:21:51.280] Like, all right, so if this is a floodgate of people coming in, where are we going to direct that traffic?
[00:21:51.280 --> 00:21:52.720] And there's like crickets, right?
[00:21:52.720 --> 00:22:00.400] There's nobody actually there, but we know like if this thing is a valid, viable thing, then this is where they'll go and this is where we'll have them go.
[00:22:00.400 --> 00:22:03.280] And then when we turn the faucet on, the water came out.
[00:22:03.280 --> 00:22:06.640] And so that's, I think, my response to that, you know?
[00:22:06.640 --> 00:22:07.280] Yeah.
[00:22:07.280 --> 00:22:16.480] For me, it's, it's quite, I think I have to take in all of the context of like where native PHP as a project has come from, first of all.
[00:22:16.480 --> 00:22:17.600] But there's even more than that.
[00:22:17.600 --> 00:22:25.360] I mean, we were talking technically, effectively, of standing on the shoulders of giants with all the other stuff that people have done that have allowed us to get to this point.
[00:22:25.360 --> 00:22:28.800] And it's the same, it's true of the business in the same way.
[00:22:28.800 --> 00:22:36.960] You know, there's, in some cases, the giants are past us, you know, having made loads of mistakes and whatever.
[00:22:36.960 --> 00:22:44.640] But yeah, we kind of got to this, well, I got to the place where the technical challenge was sort of solved, you know.
[00:22:44.640 --> 00:22:48.960] And then Marcel said, this is back in 2023.
[00:22:48.960 --> 00:22:54.960] He was like, I'm going to change my talk at Laricon US, which I think was in Nashville that year.
[00:22:54.960 --> 00:22:57.040] And I was like, what are you talking about?
[00:22:57.040 --> 00:22:58.000] That's crazy.
[00:22:58.000 --> 00:22:59.480] Like, this thing's never going to be ready.
[00:22:59.360 --> 00:23:02.520] And it was like two months from that point in time.
[00:23:02.760 --> 00:23:08.840] And, you know, and you know, people are just going to ask us about mobile phones and all we've got is one, you know, Mac.
[00:23:08.840 --> 00:23:12.200] Like, we haven't got Windows or Linux or any of this.
[00:23:12.200 --> 00:23:17.880] It's basically nowhere near good enough, as was my point of view at the time.
[00:23:18.120 --> 00:23:20.840] And he was like, no, let's, you know, let's do it.
[00:23:20.840 --> 00:23:21.720] Let's get it out there.
[00:23:21.720 --> 00:23:41.080] And I think that was an unlocked thing for my brain straight away, because him having the confidence to do that and saying that and reinforcing that the whole time, like, we're just going to put it out and it's going to be fine, was incredible because he was absolutely right, of course.
[00:23:41.080 --> 00:23:43.320] He went on stage, talked about it.
[00:23:43.320 --> 00:23:47.240] And obviously, people got his, they know Marcel.
[00:23:47.240 --> 00:23:50.920] They know that he's liable to do something crazy like this.
[00:23:50.920 --> 00:23:52.520] And so they loved it.
[00:23:52.520 --> 00:23:58.120] And I definitely, that's no small part of like the success of the whole thing.
[00:23:58.120 --> 00:24:02.040] But you can't just rely on those moments, you know.
[00:24:02.040 --> 00:24:06.520] And I think my opportunity at Laricon EU was another moment.
[00:24:06.520 --> 00:24:09.800] And they're great because they do bring a lot of attention.
[00:24:09.800 --> 00:24:15.320] You know, you get all of this influx of busyness around it for a short period of time.
[00:24:15.320 --> 00:24:18.360] But you've got to smooth over the gaps.
[00:24:18.360 --> 00:24:22.440] You know, you've got to, it's going to go wild, like up and down for months.
[00:24:22.440 --> 00:24:24.440] And when you're in it, you really feel that.
[00:24:24.440 --> 00:24:29.160] Like for me, there was this lull after Laricon 2023.
[00:24:29.160 --> 00:24:37.240] The project sort of flooded with issues and people wanting this and wanting that, and it not being capable of doing all of those things.
[00:24:37.240 --> 00:24:42.920] And me feeling, you know, personally, it was my responsibility to kind of solve all of that stuff.
[00:24:42.920 --> 00:24:49.520] And then at some point, last year, kind of digging myself out of that hole and going, I'm just going to crack on with this.
[00:24:49.680 --> 00:24:55.200] You know, I'm just going to like dive back in, fix as much as I can, and move it forward.
[00:24:55.200 --> 00:24:57.200] Like, sometimes you just have to dig deep.
[00:24:57.200 --> 00:25:22.560] You know, I remember spending days, weeks getting up early, going to bed very late, doing my client work to pay the bills, and just putting in the hours of like solving issues and all of this and just driving the thing forward and not even thinking, like, oh, I've got to market this product and get to a place where I can build this community and then I can release mobile.
[00:25:22.560 --> 00:25:30.000] You know, it was like, I'm just going to do the desktop thing, make it sort of work, and then maybe who knows what will happen.
[00:25:30.000 --> 00:25:35.520] And along the way of doing that, you know, some of the mobile pieces sort of clicked into place.
[00:25:35.840 --> 00:25:38.960] And along the way, the community grew.
[00:25:38.960 --> 00:25:45.360] And along the way, these contributors came in who were like instrumental in taking off some of the workload.
[00:25:45.360 --> 00:25:48.240] And, you know, Shane came along exactly the same.
[00:25:48.240 --> 00:25:51.840] You know, here's a piece of work that I've done.
[00:25:51.840 --> 00:25:56.560] And this adds to the whole thing in a huge way.
[00:25:56.560 --> 00:26:02.160] And then when you step back and you look at this whole journey, you're like, oh, there's a nice smooth curve.
[00:26:02.160 --> 00:26:04.720] And it's like, it's not like that at all.
[00:26:05.040 --> 00:26:08.320] Yeah, if you zoom out far enough, it always looks like a smooth something, right?
[00:26:08.800 --> 00:26:09.680] But it's not.
[00:26:09.680 --> 00:26:10.640] Well, what was the point?
[00:26:10.640 --> 00:26:13.840] Like, when exactly did you choose to monetize it the way you're doing it right now?
[00:26:13.840 --> 00:26:19.680] Maybe you can explain exactly what you chose to do, because that's also a more rare occurrence in the open source community.
[00:26:19.680 --> 00:26:22.880] And maybe when that entered the conversation.
[00:26:22.880 --> 00:26:31.160] So, I think I always knew that if we did mobile, it would have to be some kind of premium offering in some way.
[00:26:31.480 --> 00:26:38.360] Now, I had hoped that by the time we got to that, the whole project might have been getting some serious sponsorships.
[00:26:38.440 --> 00:26:43.160] You know, I might have gotten some consultancy gigs doing stuff for native PHP for desktop.
[00:26:43.160 --> 00:26:45.480] It didn't quite work out how I planned.
[00:26:45.480 --> 00:26:46.920] Surprise, surprise.
[00:26:46.920 --> 00:26:51.160] And I sort of got to the place where this is working.
[00:26:51.160 --> 00:26:53.720] You know, I've got technically, it's right.
[00:26:54.040 --> 00:26:57.720] I'm going to put it in front of other people, but I'm not just going to give it to them.
[00:26:57.720 --> 00:27:00.120] I'm going to put a hurdle in front of it.
[00:27:00.120 --> 00:27:02.120] I'm just going to say, sponsor me.
[00:27:02.120 --> 00:27:14.840] And I picked that up from another person in the Laravel community called Caleb Pauseo, who built, he's built many things, but among them, LiveWire and more recently, Flux.
[00:27:14.840 --> 00:27:25.480] And one of the things that he did with LiveWire, which is, in my view, an incredible piece of kit, and I use it all of the time, I think Shane does as well, is he kind of monetized it through sponsorships.
[00:27:25.480 --> 00:27:32.680] And he's never sold, as far as I'm aware, anything around LiveWire, but it's become massively popular.
[00:27:32.680 --> 00:27:38.760] And he's become sufficiently wealthy from just that sponsorship setup that he had.
[00:27:38.760 --> 00:27:44.360] And I think he was doing it around like content, and you'd get access to this and that, and some other things.
[00:27:44.360 --> 00:28:04.080] And that was like, right, well, it doesn't need to be exactly like that, but I can see that there's this idea of if I gate this thing that appears to be of value and people see, you know, if I'm showing them what it could be like, then I'll be able to test if they think it's of value.
[00:28:04.080 --> 00:28:07.720] Some people will probably buy.
[00:28:07.720 --> 00:28:10.520] You know, I'm saying buy or they'll sponsor.
[00:28:10.520 --> 00:28:26.480] And yeah, lo and behold, I had within a couple of weeks, sort of 20 or 30 people who had just sponsored with no, that all they got access to was a very, very rubbish GitHub repository, which is in a complete state and barely worked.
[00:28:26.480 --> 00:28:32.640] But it was this thing that told me people see value in this.
[00:28:32.640 --> 00:28:38.000] They want what I'm building and they believe in what it can become.
[00:28:38.000 --> 00:28:47.280] And that combination of those three things and the fact that people pass on real hard-earned cash was enough for me to go, I have to see this through.
[00:28:47.280 --> 00:28:52.400] You know, like I have to get to the point where it really does meet their expectations.
[00:28:52.400 --> 00:28:55.200] And yeah, that was like the beginning of January this year.
[00:28:55.200 --> 00:28:59.440] So it was like, it's all been very, very rapid since then.
[00:28:59.440 --> 00:29:01.600] Is it a full-time gig for both of you just yet?
[00:29:01.600 --> 00:29:02.400] Almost.
[00:29:02.800 --> 00:29:03.600] I love that.
[00:29:03.600 --> 00:29:03.920] It is.
[00:29:03.920 --> 00:29:04.640] It is for me.
[00:29:04.640 --> 00:29:06.000] It is for me.
[00:29:06.320 --> 00:29:10.880] So I may as well take a moment here and thank Craig Anderson.
[00:29:10.880 --> 00:29:13.040] Craig and Simon had been friends.
[00:29:13.040 --> 00:29:14.720] Simon introduced me to Craig.
[00:29:14.720 --> 00:29:17.520] Craig has a small dev shop.
[00:29:17.520 --> 00:29:18.880] I guess it's just really him.
[00:29:18.880 --> 00:29:21.440] And then he had too many hours.
[00:29:21.440 --> 00:29:23.680] And through Simon, we met.
[00:29:23.680 --> 00:29:28.560] And I think I started working with him around November, October, something like that.
[00:29:28.560 --> 00:29:32.240] And it was a very flexible schedule for me from the beginning.
[00:29:32.240 --> 00:29:38.080] So it was kind of like almost as many or as few hours as I wanted, which was awesome.
[00:29:38.080 --> 00:29:51.120] So I could kind of control how much of my credit card I needed to spend to pay the bills versus how much time I wanted to spend working on this, which didn't come for me until, I guess, towards the end of January.
[00:29:51.120 --> 00:29:53.760] So, we had a pretty well-established relationship.
[00:29:53.760 --> 00:29:55.120] And then it was just a few weeks ago.
[00:29:55.120 --> 00:30:00.760] We had the conversation of like, you know, if you need help, if I need, if I need the hours, you know, at some point.
[00:29:59.440 --> 00:30:07.240] And he's like, yeah, you've got, you, I already know a lot of his apps and he's got a lot of, there's a lot of stuff he's working on.
[00:30:07.400 --> 00:30:09.800] But it's kind of still an open-ish door.
[00:30:09.800 --> 00:30:11.080] We still talk all the time.
[00:30:11.400 --> 00:30:13.560] I was prepping for a talk yesterday.
[00:30:13.560 --> 00:30:15.560] He came in and gave us his sense on it.
[00:30:15.560 --> 00:30:16.760] So that was, that was cool.
[00:30:16.760 --> 00:30:24.360] As far as the pricing, I wanted to just mention, though, real quick, like for me, it's like, it's ask for forgiveness, not for permission, kind of.
[00:30:24.360 --> 00:30:31.800] Like, regardless of like whatever the dollar amount is, I think it's, you know, some people would think it's horrible if you put a dollar amount on this and nobody buys.
[00:30:31.800 --> 00:30:35.880] I think it's worse if you put no dollar amount on it and everybody gets it.
[00:30:35.880 --> 00:30:38.440] And now you have to support something and you're not even getting paid for it.
[00:30:38.440 --> 00:30:41.240] It's a really, it's a bad situation to end yourself up in.
[00:30:41.240 --> 00:30:47.080] And Simon did on his own little podcast, little awesome podcast.
[00:30:47.080 --> 00:30:51.960] He just did an episode called Pillars that I would say go check out Pillars.
[00:30:51.960 --> 00:30:52.680] It's awesome.
[00:30:52.680 --> 00:30:54.280] And it's not because I'm on this side of it.
[00:30:54.280 --> 00:31:15.000] He just very precisely spoke on every topic regarding the justification of pricing and the things that we're working on and why we're choosing this way to go forward for not just today and so that we can have an awesome summer, but where we want to end up in a year or three or five with the business.
[00:31:15.000 --> 00:31:16.680] I'll be linking that in the show notes.
[00:31:16.680 --> 00:31:17.960] That's for sure.
[00:31:17.960 --> 00:31:19.320] You were talking about pricing.
[00:31:19.320 --> 00:31:25.960] And I think it would be very interesting to just look a bit deeper into the choices that you made along the way.
[00:31:25.960 --> 00:31:33.560] Because I know there's like this early beta stage that you have going on and pricing at early stage is always different, but that's coming to an end, right?
[00:31:33.560 --> 00:31:36.760] Yeah, the end of May, we've decided now.
[00:31:36.760 --> 00:31:43.960] I mean, we've put it back because I think it was going to be a bit earlier, but we hadn't quite achieved some of the technical things that we wanted to achieve.
[00:31:43.960 --> 00:31:45.440] So it's still very early days.
[00:31:45.680 --> 00:31:47.760] The project is going to keep evolving, right?
[00:31:47.760 --> 00:31:54.320] But we have to draw a line in the sand as to what this early access means and you know who gets in on that.
[00:31:54.320 --> 00:32:01.200] What you know, it's been four months, just over it will be about four months when it comes to an end.
[00:32:01.200 --> 00:32:12.640] And I think it's done the thing that I set it out to, you know, like originally my plan was to just build up enough of a little base to prove that this is a viable product.
[00:32:12.640 --> 00:32:16.080] And really, it's gone on way further than that.
[00:32:16.080 --> 00:32:19.680] You know, now we've got this business and it's going sort of wild.
[00:32:19.680 --> 00:32:32.240] And I think that there's a sense that there's always been a sense from in my mind anyway, and we've talked about this a lot, where the value of this thing is far greater than the price that we're putting on it right now.
[00:32:32.560 --> 00:32:43.520] But then there's this juxtaposition with like what the rest of the market, let's say, like the competitors in the space, if we can call them that, are pricing their products at.
[00:32:43.520 --> 00:32:45.440] And for the most part, that's zero.
[00:32:45.440 --> 00:32:46.960] You know, they're all free.
[00:32:46.960 --> 00:32:58.160] And so, yeah, there's this like real, real challenge now as we come to the end of May of like, are we shooting ourselves in the foot with the upping the price quite significantly?
[00:32:58.160 --> 00:33:07.360] And there's a few people who have mentioned that, you know, they're very aware that the price of all these other tools is nowhere near what we're charging.
[00:33:07.360 --> 00:33:11.040] So, yeah, it's going to be an interesting month, I think.
[00:33:12.400 --> 00:33:17.000] So, this whole conversation around everybody else is free.
[00:33:17.640 --> 00:33:19.280] How can we charge?
[00:33:19.280 --> 00:33:23.440] We have sales that justifies the price, right?
[00:33:23.440 --> 00:33:27.040] Or at least it justifies the fact that people are finding value in what we're doing.
[00:33:27.040 --> 00:33:29.880] And I want to say, too, we don't have any competitors.
[00:33:29.880 --> 00:33:33.240] And this may be a very controversial sort of statement.
[00:33:33.240 --> 00:33:35.960] And that's okay because I'm a high-risk kind of guy, right?
[00:33:35.960 --> 00:33:36.760] Why not?
[00:33:29.600 --> 00:33:37.000] All right.
[00:33:37.080 --> 00:33:39.480] So look at, and I don't know these technologies very well.
[00:33:39.480 --> 00:33:41.240] I've never built anything with React Native.
[00:33:41.240 --> 00:33:46.040] I kind of learned a little Flutter once, and I did do some Ionic stuff back in the day.
[00:33:46.040 --> 00:33:56.120] All of those frameworks are asking you to learn how to do mobile apps and to learn through their products how to do things.
[00:33:56.120 --> 00:34:02.280] Nobody has done what we have done, which is catered to the Laravel slash PHP developer.
[00:34:02.280 --> 00:34:08.520] We brought all of the tooling to your existing knowledge base with the exception of how to interface with the APIs.
[00:34:08.520 --> 00:34:15.960] And then also there's a little arm bend of you have to kind of learn how to think as an app developer.
[00:34:15.960 --> 00:34:21.880] So, you know, that whole scenario, which you would have to do anyway, whether you're doing it with us or anybody else.
[00:34:21.880 --> 00:34:28.680] So the pricing, I think, whether it's a pricing or not, just the fact that we're charging for something, look, we put it out there.
[00:34:28.680 --> 00:34:36.920] If no one buys, then okay, then there's not a market at this price, or there's not a, you know, this isn't viable for some people, or whatever the cause.
[00:34:36.920 --> 00:34:49.800] But the fact that we've done sales, I mean, and just to, I know your audience specifically out of respect, well, we announced May 2nd was our official V1 release date on that day.
[00:34:49.800 --> 00:34:51.960] Actually, I think it was just a few hours before that.
[00:34:51.960 --> 00:34:53.880] We hit $100,000 in sales.
[00:34:53.880 --> 00:34:56.920] So I know like your audience would love to hear that, right?
[00:34:57.080 --> 00:34:57.960] I bet.
[00:34:58.280 --> 00:35:00.960] So to say what we're talking about.
[00:35:00.960 --> 00:35:08.760] And to be further clear about that, I think about 40-ish K was in the week leading up to that release date.
[00:35:08.760 --> 00:35:09.800] And it's continuing.
[00:35:09.800 --> 00:35:11.080] Like, there's still justification.
[00:35:11.080 --> 00:35:12.360] We'll say it that way.
[00:35:12.360 --> 00:35:15.600] And so that's like, all right, this is what people want, clearly.
[00:35:14.920 --> 00:35:17.280] This is what we need to be working on.
[00:35:17.440 --> 00:35:30.240] And now we have to fall back a little bit, plan, strategize, and put some people around us that are really good in this space and lean on them and more of that managing the business more so than anything else.
[00:35:30.240 --> 00:35:34.320] And I kind of went off on a little tangent there, but that's how I roll.
[00:35:34.640 --> 00:35:36.880] I do appreciate it because I think it's important.
[00:35:36.880 --> 00:35:41.520] Like you, you're talking about like very, very clear validation signals here.
[00:35:41.520 --> 00:35:47.200] And that's kind of what I meant with like the PHP developer community is at its heart an entrepreneurial community.
[00:35:47.200 --> 00:35:51.200] Like you see not just the value of the product in a technical sense, which is great.
[00:35:51.200 --> 00:35:54.560] Like it's a great accomplishment to get this on mobile to begin with, right?
[00:35:54.560 --> 00:35:57.360] Again, it's 2025 and this is the first time it actually worked.
[00:35:57.360 --> 00:35:58.400] That's wonderful.
[00:35:58.400 --> 00:36:08.000] But the fact that you from the beginning try to look for value signals that are actually like cold hard cash value signals and not just somebody like thumbs up on some issue on GitHub.
[00:36:08.000 --> 00:36:09.200] Signing up for a newsletter.
[00:36:09.200 --> 00:36:16.400] Yeah, signing up for a newsletter or just following you on social media or tracking, starring your repo or whatever.
[00:36:16.400 --> 00:36:17.040] They're all signals.
[00:36:17.040 --> 00:36:18.000] They're soft signals.
[00:36:18.000 --> 00:36:21.920] They are great signals, but none of them are going to pay the rent, right?
[00:36:21.920 --> 00:36:29.280] That's that's something that as a developer who is trying to build something meaningful that has an impact on other people's lives, well, it has to have an impact on your own life as well.
[00:36:29.280 --> 00:36:31.520] And I think that's a reality that founders get.
[00:36:31.520 --> 00:36:35.200] And PHP developers are surprisingly strongly overlapping with that.
[00:36:35.200 --> 00:36:36.880] Yeah, that's so true.
[00:36:37.040 --> 00:36:54.320] I think for me, like the context of that really comes from trying really hard in the kind of previous almost two years to do the thing that all the other much bigger businesses, frankly, have been doing, which is to give it away for free.
[00:36:54.320 --> 00:37:05.800] And although it was with the desktop tool, backing that up with, you know, I'm building it, I'm trying to encourage the community around it and foster more collaboration and all of that.
[00:37:05.800 --> 00:37:10.200] But at the same time, I'm actively trying to pursue funding it.
[00:37:10.200 --> 00:37:12.520] You know, I'd made lots of grant applications.
[00:37:12.520 --> 00:37:17.800] I was quite active in getting people to sponsor the project, but it was just never enough.
[00:37:17.800 --> 00:37:22.200] Like there was so much work and it was so hard to get to that point.
[00:37:22.200 --> 00:37:24.360] And you turned down so many times.
[00:37:24.360 --> 00:37:50.040] I mean, I don't know why specifically in all of those cases, you know, like grant applications were denied or whatever, but it doesn't really matter because the end result is it kind of forced me into this position of like, if I want to work on this, if I want to make this a sustainable product that other people can rely on to use, I have to build a business around it.
[00:37:50.040 --> 00:37:52.040] There's no two ways about it.
[00:37:52.040 --> 00:38:01.640] And then the other problem is I can't spend my time on yet another thing to offset the cost of running that business.
[00:38:01.640 --> 00:38:11.800] So the obvious answer was: I got to charge for the license to use the tool that I'm building and have that money come directly into building it.
[00:38:11.800 --> 00:38:12.920] That's where we're at.
[00:38:12.920 --> 00:38:14.120] That sounds about right.
[00:38:14.680 --> 00:38:16.120] You know, that's what a business is.
[00:38:16.440 --> 00:38:23.320] It's so funny that so often people forget that that is like the main and like one of the only ways that these things can sustain themselves.
[00:38:23.320 --> 00:38:33.400] The idea that monetization is an integral part of the product, that is something we should also just highlight for people who are building products on top of this, right?
[00:38:33.720 --> 00:38:36.600] Recently, there was this whole thing with the Fortnite situation.
[00:38:36.600 --> 00:38:37.720] Let's just call it that, right?
[00:38:37.720 --> 00:38:50.400] With the Apple, the walled garden opening its financial vault doors a little bit and not taking the 30% cut, at least enforcing it as much anymore as they used to do, although they still do outside of the US for some reason.
[00:38:50.560 --> 00:38:53.360] But let's talk about monetization opportunities on mobile.
[00:38:53.360 --> 00:38:58.960] Because for many of the SaaS founders that I know, myself, not having a mobile app, I don't think about this.
[00:38:58.960 --> 00:39:10.160] But if I now could, and I am already like, I have to keep myself from thinking about it right now, the things that I could build with this, because there's just so much opportunity for my own business for PodScan.
[00:39:10.160 --> 00:39:11.120] How would you approach this?
[00:39:11.120 --> 00:39:12.400] Like, what does payment look like?
[00:39:12.400 --> 00:39:15.360] What does monetization look like building mobile apps?
[00:39:15.600 --> 00:39:18.400] Yeah, I mean, the whole iOS in-app billing thing.
[00:39:18.640 --> 00:39:21.760] So I don't follow, I haven't followed that a lot.
[00:39:21.760 --> 00:39:32.640] I guess there was like a lawsuit going on for a long time, and then they just finally settled that they're not forcing people to go through their 30% fee that they charge for the in-app billing.
[00:39:32.640 --> 00:39:50.480] That being said, that's one of the API functions we have not yet implemented on iOS or Android, which does, though, it says, hey, if you're going to build apps to release in the US on Apple, you can accept like a Stripe or something like that form inside of your app.
[00:39:50.480 --> 00:40:02.080] There's already like cashier, and there's already, like I said, these resources available to Laravel developers that you can just plug and play, modify for the app environment, and go to town.
[00:40:02.080 --> 00:40:05.280] So you can bypass this whole app store thing.
[00:40:05.280 --> 00:40:08.080] I do think, and I think I've seen some notes of it already.
[00:40:08.080 --> 00:40:21.120] Like, I do feel like Apple is going to find a way to make that money back and probably retributably, if that's the word, like to take it out on whatever, because that's kind of the mantra that they've given off to me at least.
[00:40:21.120 --> 00:40:22.960] I love Apple, I like their products.
[00:40:22.920 --> 00:40:23.720] You know, you know.
[00:40:24.120 --> 00:40:30.600] If you're listening, please say King Native PHP off the crystal, right?
[00:40:31.800 --> 00:40:40.360] So, I mean, as far as like what customer, I mean, I had a guy, I was, I did a small talk at a local meetup a month ago, probably.
[00:40:40.680 --> 00:40:46.680] And I was explaining after my talk to one of the guys there, like there's someone that had come to me and was asking me about MDM.
[00:40:46.680 --> 00:40:47.640] I didn't even know what that was.
[00:40:47.640 --> 00:40:49.640] Some sort of drug, maybe, or something.
[00:40:49.960 --> 00:40:51.400] What is MDM?
[00:40:51.480 --> 00:40:54.520] It's like a mobile device management.
[00:40:54.520 --> 00:40:56.680] So he had this unique situation.
[00:40:56.680 --> 00:41:02.920] He had hundreds of malls in America have his devices with basically a kiosk, but it's using Android.
[00:41:02.920 --> 00:41:06.040] And he wants to lock down that device just for that app.
[00:41:06.040 --> 00:41:09.320] So nobody could exit out of it, but remotely, he could manage that.
[00:41:09.320 --> 00:41:11.400] And I'm like, well, we could totally do that.
[00:41:11.400 --> 00:41:14.440] And so I started explaining the technology to this guy.
[00:41:14.440 --> 00:41:23.880] And he was like, oh, you guys could build, you guys could build this trucker app, like where you could track where the truckers are for companies and stuff.
[00:41:23.880 --> 00:41:27.480] And I'm like, no, you can do that.
[00:41:27.480 --> 00:41:32.680] We are building the tool so that people with you that have ideas can do it.
[00:41:32.840 --> 00:41:43.320] Like we have ideas for our own apps, of course, but like what we're doing is more like empowering, enabling that developer so that he can take that spark of an idea and start implementing it.
[00:41:43.480 --> 00:41:48.600] Go find a trucker, go find a trucking company, or maybe you already are working in that kind of space.
[00:41:48.600 --> 00:41:59.080] And now you're like, wow, we could monetize this through App Store or not, you know, because I don't know what the cut is with the Play Console, but they have their own in-app billing there as well.
[00:41:59.080 --> 00:42:04.280] And that's something, even though, I mean, we have people all over the world are using this.
[00:42:04.280 --> 00:42:14.040] Like the binary part of our package that it downloads a zip, we had to CDN it because we're servicing people literally in India and Africa and all over the place.
[00:42:14.040 --> 00:42:16.400] I couldn't have it in Ohio or whatever.
[00:42:14.920 --> 00:42:19.440] So just because that applies to the US, it doesn't apply everywhere else.
[00:42:19.520 --> 00:42:23.040] So we absolutely have to support internet billing on both OS's.
[00:42:23.040 --> 00:42:26.640] And I think one of the coolest things, I guess, is our Discord server.
[00:42:26.640 --> 00:42:29.840] We have a channel there that's like, show us your app.
[00:42:29.840 --> 00:42:34.800] Day one of releasing this, there were people like little like JavaScript games.
[00:42:34.800 --> 00:42:36.240] They're really just JavaScript.
[00:42:36.480 --> 00:42:36.960] What was that?
[00:42:36.960 --> 00:42:41.600] Like a snake game where you eat the one of our good friends actually was working on that.
[00:42:41.600 --> 00:42:44.080] And but he tied it into like a PHP server.
[00:42:44.080 --> 00:42:46.480] So when you finish, you get your score and you can have a leaderboard.
[00:42:46.480 --> 00:42:48.160] And it was like really cool.
[00:42:48.160 --> 00:42:53.600] I even had put something together for like, I just found a GitHub flappy bird clone, right?
[00:42:53.600 --> 00:42:56.640] And I just popped it in and hit run and it just worked.
[00:42:56.640 --> 00:42:59.440] And it was like, you know, I tie it to touch.
[00:42:59.440 --> 00:42:59.920] Yeah.
[00:42:59.920 --> 00:43:00.960] We should play something.
[00:43:01.040 --> 00:43:03.040] We could use reverb and play against each other.
[00:43:03.120 --> 00:43:04.640] Multiplayer flappy bird.
[00:43:05.440 --> 00:43:07.440] I get one wing, you get the other.
[00:43:08.320 --> 00:43:13.280] But yeah, I think that people can get creative now and they can start dreaming.
[00:43:13.280 --> 00:43:19.680] And even with our, I'll say quote unquote limited libraries that we have right now, because that's something we're focusing on actively.
[00:43:19.680 --> 00:43:21.280] It's about a dozen or so.
[00:43:21.280 --> 00:43:24.800] You can already start to build on some things.
[00:43:24.800 --> 00:43:26.240] And there's more and more coming out.
[00:43:26.320 --> 00:43:30.080] We're trying to get to like a weekly release of more native functions.
[00:43:30.080 --> 00:43:33.600] I think that the whole Apple epic, wasn't it?
[00:43:33.600 --> 00:43:53.680] Epic Games battle is it's obviously, I don't want to weigh in on that because I don't know very much about it really, but the whole problem space of these walled gardens and what we've seen over 20 odd years of, or more than that, really, but with the web, you know, the open technology is the thing that survives.
[00:43:53.680 --> 00:43:55.600] It is the thing that drives innovation.
[00:43:55.600 --> 00:44:00.920] It is the thing that enables, you know, new connections across the whole globe.
[00:44:01.240 --> 00:44:13.560] And, you know, I can see Apple wanting to keep a hold of that for various reasons, but their main one publicly has always been so that we can maintain quality, right?
[00:44:13.880 --> 00:44:28.840] But what we will just see over time, I think, is a bit of a domino effect from here, where more and more countries around the world will be pushing them to open the garden up a little bit, you know, and just let people have a bit of an easier time with it.
[00:44:28.840 --> 00:44:38.840] So I think the opportunity now for people to really make money through apps is only going to increase.
[00:44:38.840 --> 00:44:53.080] So I think we're going to see a proliferation of more apps doing this and more countries kind of pushing companies like Apple to reduce their fees and help people out, help people get started.
[00:44:53.080 --> 00:45:03.080] And I think at the end of the day, like Shane said, that's actually going to turn around to be a net benefit for companies like Apple because they'll figure out other ways to generate revenue.
[00:45:03.080 --> 00:45:05.000] And I think they'll realize that too.
[00:45:05.000 --> 00:45:08.040] And then it'll just, it'll make perfect sense for everybody.
[00:45:08.040 --> 00:45:20.120] But yeah, it's like essentially you're getting in with a shovel, you know, as we're just about to start another sort of gold, potential gold rush for the app marketplace.
[00:45:20.120 --> 00:45:21.640] Yeah, I think you mentioned this before.
[00:45:21.640 --> 00:45:25.400] You phrased it as like democratization of app building too, right?
[00:45:25.400 --> 00:45:31.560] You're making things more accessible, you're making them less elitist and also just more playful.
[00:45:32.200 --> 00:45:34.320] There's a way that you can just do things now.
[00:45:34.320 --> 00:45:38.760] Particularly with, and we didn't even get into like the whole AI coding, bipecoding situation.
[00:45:38.760 --> 00:45:41.800] Let's save that for another day because we could talk about this for an hour.
[00:45:41.800 --> 00:45:45.600] But the tooling that we have right now to build these things is already there.
[00:45:44.840 --> 00:45:49.520] It's much easier now to build a PHP app than it ever was before.
[00:45:49.840 --> 00:45:58.960] And since native PHP is sitting or is allowing for just regular Laravel apps to be built, that is what AI can already do, right?
[00:45:58.960 --> 00:46:01.360] Like this, this is really, really simple.
[00:46:01.360 --> 00:46:09.120] And I guess over time, the AIs of the world will absorb native PHP's best practices and that stuff as well, right?
[00:46:09.120 --> 00:46:15.360] You could probably create some kind of documentation you can feed into a system like that, and it can create the perfect code.
[00:46:15.680 --> 00:46:20.560] It's just so easy now to build things that I'm excited to see where this is going to go.
[00:46:20.560 --> 00:46:27.840] Like who is going to build what and what the shift will look like when people talk about their big apps in the Laravel world in particular, right?
[00:46:28.000 --> 00:46:37.840] The Laricons of the future, like how many of them will just be mobile apps, like mobile-first apps instead of SaaS web apps that we have been used to over the last decades or so.
[00:46:37.840 --> 00:46:44.240] That's something hard not to think of, to be honest, because it's almost like, because we're on this side, I might be unbiased in that sense.
[00:46:44.240 --> 00:46:51.600] So the sense is how many people might actually end up becoming Laravel devs because they want to be mobile devs?
[00:46:51.600 --> 00:46:55.440] And this is actually the easiest way to start working on more, more robust.
[00:46:55.680 --> 00:46:58.640] I feel PHP is more robust than JavaScript.
[00:46:58.640 --> 00:47:01.680] Again, maybe a bias, but it's not that hard, right?
[00:47:02.000 --> 00:47:03.600] Especially the way things are going.
[00:47:03.600 --> 00:47:06.240] One's trending one direction, the other's trending another, right?
[00:47:06.240 --> 00:47:09.520] So maybe controversial.
[00:47:09.520 --> 00:47:11.280] But anyway, I love JavaScript.
[00:47:11.680 --> 00:47:12.160] Yeah, me too.
[00:47:12.480 --> 00:47:13.040] Who doesn't?
[00:47:13.040 --> 00:47:14.000] I use it all the time.
[00:47:15.440 --> 00:47:25.280] But I think that, you know, again, with the resources we have available, this is a much more robust unlocking tool, key, if you will, to getting into this realm.
[00:47:25.280 --> 00:47:34.200] And so I do feel like, yeah, at some point, the more awareness we bring to this, more people are realizing that this is actually probably a better, if not best, way.
[00:47:34.200 --> 00:47:36.040] Maybe not today, but that's our goal.
[00:47:36.040 --> 00:47:37.320] We're going to make this the best way.
[00:47:37.320 --> 00:47:41.480] Like, we're going to strive and try our best to make it as good as it can be.
[00:47:41.480 --> 00:47:47.560] And I do think they're going to find people ending up at Laricon that didn't know that we can do web with Laribel.
[00:47:47.560 --> 00:47:48.920] Yeah, that's going to be awesome.
[00:47:48.920 --> 00:47:49.960] That's going to be so.
[00:47:49.960 --> 00:47:51.480] Wait, you could do websites too?
[00:47:51.640 --> 00:47:52.360] That's going to be great.
[00:47:52.360 --> 00:47:53.880] That's going to be cool.
[00:47:53.880 --> 00:48:00.360] Guys, I'm really looking forward to seeing both where your business goes, obviously, because that's just the entrepreneurial side in me.
[00:48:00.360 --> 00:48:06.040] I'm looking forward to seeing where you take the project, like what novel things you will find over the next months or years.
[00:48:06.040 --> 00:48:08.680] There's going to be a lot of interesting stuff happening in the field.
[00:48:08.680 --> 00:48:10.360] Like it never stands still, right?
[00:48:10.360 --> 00:48:13.240] So you always have to adapt and where you take the community.
[00:48:13.240 --> 00:48:15.240] I think that's already established.
[00:48:15.400 --> 00:48:21.720] You were mentioning like a Discord and people are flocking to you from like the Twitters, the Access, the Blue Skies, and whatnot, right?
[00:48:21.720 --> 00:48:23.800] People are excited for this.
[00:48:23.800 --> 00:48:28.120] And for everybody who is listening to this and wonders, well, where can I find these people?
[00:48:28.120 --> 00:48:29.240] Where can you guys be found?
[00:48:29.240 --> 00:48:33.400] Where do you want people to go if they want to learn more about you and the wonderful projects that you're working on?
[00:48:33.400 --> 00:48:36.200] I think I'm horrifically online.
[00:48:36.520 --> 00:48:40.520] My wife would tell me off if I said this because she knows it's true.
[00:48:40.520 --> 00:48:43.640] But I'm on Twitter and Blue Sky and all of the places.
[00:48:43.640 --> 00:48:45.400] So wherever you kind of prefer.
[00:48:45.400 --> 00:48:48.760] I'm usually at Simon Hamp on there.
[00:48:48.760 --> 00:48:50.920] So that's where you can find me.
[00:48:50.920 --> 00:48:52.120] I'm at Shane D.
[00:48:52.200 --> 00:48:54.120] Rosenthal, I believe on Blue Sky.
[00:48:54.120 --> 00:48:55.480] And Twitter.
[00:48:55.480 --> 00:49:00.680] Yeah, I have opened the door right before we release to some like early beta testers.
[00:49:00.680 --> 00:49:05.080] And so, like on Telegram, they're messaging me problems now, post-release.
[00:49:05.080 --> 00:49:07.880] I'm like, please just go through the Discord server.
[00:49:07.880 --> 00:49:14.800] So, I'm like, kind of reluctant to give out too much info because I do have like reel in my attention and where I'm placing it these days.
[00:49:14.440 --> 00:49:18.480] But again, good problems to have, but I am, we love conversation.
[00:49:18.640 --> 00:49:22.400] We're very much talkers and feelers, and we love to dream.
[00:49:22.400 --> 00:49:24.240] That's really where we want to get to every day.
[00:49:24.240 --> 00:49:28.880] If we can do just 10 minutes of dream time, you know, that kind of ticks my boxes internally.
[00:49:28.880 --> 00:49:31.200] So, I welcome the messages for sure.
[00:49:31.200 --> 00:49:32.080] Well, I love this.
[00:49:32.080 --> 00:49:34.800] Yeah, nativephp.com is the website of the project.
[00:49:34.800 --> 00:49:40.080] If anybody wants to just immediately purchase a license, I highly recommend it.
[00:49:40.080 --> 00:49:41.680] It's a good idea because it's great.
[00:49:41.680 --> 00:49:42.720] Man, I love this.
[00:49:42.720 --> 00:49:49.680] You guys are doing such good work, and it's so enjoyable to watch you build it in public, like share the process and the journey with people.
[00:49:49.680 --> 00:49:51.600] I find this is an amazing thing.
[00:49:51.600 --> 00:49:52.480] Thanks, Avid.
[00:49:52.480 --> 00:49:56.320] Thanks so much for sharing all of your insights and the journey of this on the show.
[00:49:56.320 --> 00:49:57.040] I really appreciate it.
[00:49:57.040 --> 00:49:57.840] Thanks, thanks, Shane.
[00:49:57.840 --> 00:49:58.480] Thanks, Simon.
[00:49:58.480 --> 00:49:58.880] Thank you.
[00:49:58.880 --> 00:49:59.440] Thank you.
[00:49:59.440 --> 00:50:00.000] Thank you.
[00:50:00.000 --> 00:50:00.720] Appreciate it.
[00:50:00.720 --> 00:50:02.240] Appreciate the opportunity.
[00:50:02.240 --> 00:50:03.440] And that's it for today.
[00:50:03.440 --> 00:50:05.680] Thank you so much for listening to the Bootstrap Founder.
[00:50:05.680 --> 00:50:09.040] You can find me on Twitter at Avid Kahl, A R-V-I-D, K-A-H-L.
[00:50:09.200 --> 00:50:22.080] And if you want to support me in this show, please share podscan.fm, my SaaS business, with your professional peers and those who you think will benefit from tracking mentions of their brands, their businesses, and names on podcasts out there.
[00:50:22.080 --> 00:50:26.480] PodScan is a near real-time podcast database with a stellar API.
[00:50:26.480 --> 00:50:29.680] We have 32 million podcast episodes in there back now.
[00:50:29.680 --> 00:50:31.600] The database is humongous.
[00:50:31.600 --> 00:50:35.920] Please share the word with those who need to stay on top of the podcast ecosystem.
[00:50:35.920 --> 00:50:37.280] Thank you so much for listening.
[00:50:37.280 --> 00:50:39.840] Have a wonderful day and bye-bye.