1
00:00:00,000 --> 00:00:12,673
Welcome back to the Laravel Creator Series and today as a guest we have Matt Stauffer who
recently built a new app or a new thing for Laravel called Built with Laravel.

2
00:00:12,693 --> 00:00:19,054
So if you don't know, Matt is the, I had to write all this down because he's into kind of
everything.

3
00:00:19,055 --> 00:00:22,315
So Matt is the owner of Tighten, author of Laravel Up and Running.

4
00:00:22,315 --> 00:00:29,750
He's a conference speaker, open source contributor, official food taster on Back of the
Box YouTube series and a man that married way up.

5
00:00:29,750 --> 00:00:31,430
Did I get the introduction right?

6
00:00:35,872 --> 00:00:37,613
Way up.

7
00:00:37,693 --> 00:00:40,794
But yeah, so you just launched a new app.

8
00:00:40,794 --> 00:00:43,125
I guess it's just a site, right?

9
00:00:43,125 --> 00:00:45,596
mean, it's, but it's basically built.

10
00:00:46,336 --> 00:00:46,746
Yeah.

11
00:00:46,746 --> 00:00:54,339
So it's called built with Laravel and it showcases what apps and sites and things that are
basically built with Laravel.

12
00:00:54,339 --> 00:00:57,411
So, so I guess my first thing is like, what brought this on?

13
00:00:57,411 --> 00:00:58,818
Like, why did you want to build this?

14
00:00:58,818 --> 00:01:00,239
that's a great question.

15
00:01:00,239 --> 00:01:02,061
There's two aspects of it.

16
00:01:02,061 --> 00:01:04,253
One, there's like a context that makes me want it.

17
00:01:04,253 --> 00:01:09,058
And two, there's other sites that sort of do it, but don't do exactly what I want.

18
00:01:09,058 --> 00:01:11,570
And that kind of leads into what makes this unique versus others.

19
00:01:11,570 --> 00:01:18,927
So the context that led me to want it is I'm constantly in conversations where people want
to hear, is Laravel legit?

20
00:01:18,927 --> 00:01:19,968
Is PHP legit?

21
00:01:19,968 --> 00:01:22,950
And you'd think it would be from people who are considering

22
00:01:22,950 --> 00:01:30,538
you know, comparing it against symphony or something, because those are the stories we're
often told, but that is not the actual truth of the matter of when these questions are

23
00:01:30,538 --> 00:01:31,249
asked.

24
00:01:31,249 --> 00:01:38,337
It is when somebody in an organization says, we should use Laravel, it's the latest,
greatest, it's going to make us productive, it's making us fast, we're going to get time

25
00:01:38,337 --> 00:01:45,295
to market really well, and then somebody up the approval stack, which is usually an
investor or someone who's not actually technical,

26
00:01:45,295 --> 00:01:51,809
says I've been told by my friend who does technology, who made his own startup or
whatever, that you can't use PHP.

27
00:01:51,809 --> 00:01:54,741
PHP's out of date and yada, yada, yada, yada.

28
00:01:54,741 --> 00:01:55,642
Don't use it.

29
00:01:55,642 --> 00:01:58,063
And so we can't get approval for the project.

30
00:01:58,063 --> 00:01:59,234
The project doesn't move forward.

31
00:01:59,234 --> 00:02:00,665
And so I've been looking for something.

32
00:02:00,665 --> 00:02:09,720
I can show these folks that says, look at all of these very large, very legitimate
organizations that are on Laravel, for their front -facing website or for some tool

33
00:02:09,720 --> 00:02:10,864
somewhere in their stack.

34
00:02:10,864 --> 00:02:20,117
This is proof that this is a legitimate thing that you can use and I want to find people
that are impressive to them because and that's where it leads to the other tools.

35
00:02:20,117 --> 00:02:24,679
So there's a site called madewithlaraval .com and there's another site called Wire in the
Wild.

36
00:02:24,679 --> 00:02:30,982
Wire in the Wild does an amazing job of showing projects that use live wire and is great
for technologists who are considering live wire.

37
00:02:30,982 --> 00:02:39,365
Made with Laravel is a part of a suite of five different things where they try to get
there's Made with You, Made with React, whatever else and they want you to just see as

38
00:02:39,365 --> 00:02:40,505
many as

39
00:02:40,577 --> 00:02:46,793
So their number one goal is just to have hundreds and hundreds and hundreds and hundreds
of projects, but they're small projects.

40
00:02:46,793 --> 00:02:48,225
They're mom and pop things.

41
00:02:48,225 --> 00:02:52,209
are a huge number of them are developer tools, packages and stuff like that.

42
00:02:52,209 --> 00:03:00,687
And I'm like, no CEO is going to be able to convince this high level person who's non
-technical, we should use Laravel because this person made a package in Laravel.

43
00:03:00,687 --> 00:03:04,738
I'm like, that's useful for some context, but it's not useful for this context.

44
00:03:04,738 --> 00:03:14,773
So what I wanted was a list where a CEO who doesn't know about PHP, who doesn't know about
Laravel goes, you're telling me that those people use Laravel?

45
00:03:14,773 --> 00:03:16,844
Okay, now I will reconsider.

46
00:03:16,844 --> 00:03:25,189
And so that's the primary goal is a list of organizations that are impressive, that are
notable, that are either people would know by name or if they don't know them by name,

47
00:03:25,189 --> 00:03:27,280
when they see them, they go, really?

48
00:03:27,280 --> 00:03:33,867
That will allow the decision makers, not the technologists, but the decision makers to go,
that is going to make me reconsider.

49
00:03:33,867 --> 00:03:35,945
my initial opposition to Laravel.

50
00:03:36,598 --> 00:03:38,820
Love it, yes.

51
00:03:39,441 --> 00:03:51,122
To me, that does seem like something that we're missing in the community itself, because I
guess that is the one kind of disadvantage to a backend framework is you can't just go to

52
00:03:51,122 --> 00:03:54,174
a website and view source and be like, yeah, this is built by Laravel.

53
00:03:54,975 --> 00:03:56,387
So I guess that leads to my next question.

54
00:03:56,387 --> 00:03:57,948
like, how are you finding these companies?

55
00:03:57,948 --> 00:04:01,181
Are they reaching out to you or do you just have these connections

56
00:04:01,386 --> 00:04:02,767
It's a little bit of everything.

57
00:04:02,767 --> 00:04:12,556
There is one thing you can do if you look at the cookies of a website and there's a
Laravel session cookie, then you know it's on Laravel.

58
00:04:12,556 --> 00:04:16,759
A lot of people change that because they want to make it less transparent which tech
they're using.

59
00:04:16,759 --> 00:04:18,900
So that's a start.

60
00:04:18,981 --> 00:04:25,236
The second thing is I've just talked to people specifically who say, work there or here's
actual proof.

61
00:04:25,401 --> 00:04:33,813
The third thing is if people list any jobs on Lara jobs or if they're giving any talks or
anything like that there's any public proof where they name that they're using Laravel and

62
00:04:33,813 --> 00:04:41,725
then the last one is we're starting to look at a few people's LinkedIn's and if their
LinkedIn says at this company I did this and I can verify that that actually happened then

63
00:04:41,725 --> 00:04:43,166
we're also including those.

64
00:04:43,166 --> 00:04:49,127
I want to make sure that every source is verified that I'm allowing for lots of different
potential verifications.

65
00:04:49,127 --> 00:04:53,396
So I would say the first half of those that I put up were the ones where I did the
research.

66
00:04:53,396 --> 00:04:58,739
the second half are ones where people have submitted because you can go to bitwithlarrival
.com and you can actually just suggest a site.

67
00:04:58,739 --> 00:05:04,001
And in the suggestion, you can say which of their actual sites, because you're actually
suggesting an organization.

68
00:05:04,001 --> 00:05:06,082
As you say, this organization uses Laravel.

69
00:05:06,082 --> 00:05:07,943
Here's the sites where they use it.

70
00:05:07,943 --> 00:05:08,933
Here's how I know.

71
00:05:08,933 --> 00:05:14,106
And then there's actually a second thing that says, here's how I know, but you can't put
this part publicly.

72
00:05:14,106 --> 00:05:17,387
So a lot of people will say that the public part says,

73
00:05:17,709 --> 00:05:25,813
They put listings up on, you know, Lara jobs or whatever and their private part says I
work there and I know we use Laravel but I can't say that, I can't put it on the record

74
00:05:25,813 --> 00:05:30,951
but here's public proof and so they kind of help me find that public proof that I might
not have had otherwise.

75
00:05:31,382 --> 00:05:34,357
that is so, mean, I know it's, still early.

76
00:05:34,357 --> 00:05:43,019
mean, it's only been launched what a few weeks now, but, have you had any, any big
companies complain yet that they're like, we don't want on there at

77
00:05:43,019 --> 00:05:43,999
Yeah, none yet.

78
00:05:43,999 --> 00:05:52,862
And one of the things is we at Tighten, we have a lot of big companies that we work with
and we have to really carefully walk the line of NDAs and that sort of thing, which is why

79
00:05:52,862 --> 00:05:56,383
I'm only focusing on people where there's public proof.

80
00:05:56,383 --> 00:06:04,229
you know, if you don't want people to use, don't, if you don't want people to know you use
Laravel, you probably shouldn't put out public job postings that say you use

81
00:06:04,229 --> 00:06:04,649
Right.

82
00:06:04,649 --> 00:06:14,221
And so I really want to get to the point where nobody's on there just because we have this
private knowledge We only want to be able to say look you put up a public listing you were

83
00:06:14,221 --> 00:06:20,603
okay at that point with everybody knowing So everybody knows and that doesn't mean
somebody's not going to come for me at some point and I'll be understanding and you know

84
00:06:20,603 --> 00:06:31,856
Whatever and I might just say, you know multinational I you know Electronics manufacturer
blah blah blah blah that the preface is all their things with I you know, if they don't

85
00:06:31,856 --> 00:06:33,226
like it, you know, we'll figure

86
00:06:33,846 --> 00:06:34,827
got to, yeah.

87
00:06:34,827 --> 00:06:42,813
Well, to sort of go deep into the weeds here, you mentioned that you can actually change
the session cookie or the cookie from Laravel itself.

88
00:06:42,813 --> 00:06:47,506
Do you know off the top of your head, like where that's done or is it even recommended?

89
00:06:47,506 --> 00:06:49,237
I assume it's for security,

90
00:06:49,273 --> 00:06:59,231
Yeah, I mean it's one of those security by I don't know if it's not entirely a security by
obscurity If you believe that you are able to protect yourself from hacking by hiding the

91
00:06:59,231 --> 00:07:02,634
fact that you're using Laravel That is one of the things you could do that hide it.

92
00:07:02,634 --> 00:07:08,418
I personally have not recommended it, but I I'm not saying I think it's bad I just don't
we don't do it out of the box.

93
00:07:08,418 --> 00:07:10,810
But yeah, I mean it probably wouldn't hurt.

94
00:07:10,810 --> 00:07:17,916
It'd be curious to ask It'd be interesting to ask Stephen Reese carter, that you know,
he's like the level security guy like hey Is this a thing that even matters?

95
00:07:17,916 --> 00:07:18,566
I

96
00:07:18,872 --> 00:07:20,353
I don't really know.

97
00:07:20,470 --> 00:07:29,736
wouldn't assume it matters, but yeah, same way, that was honestly, I don't think I even
knew that that was there or I didn't know it years ago and totally forgot about it.

98
00:07:29,736 --> 00:07:35,544
So that's, sort of a interesting, interesting little Laravel tidbit there that there is a
session cookie.

99
00:07:35,544 --> 00:07:43,023
Yeah, and the other way to test if you need to is if somebody's using LiveWire, you can
kind of look for the wire, you know, colon things in the text.

100
00:07:43,023 --> 00:07:47,529
So those are the two kind of things where you can actually look in HTML and see a Laravel
app.

101
00:07:47,529 --> 00:07:50,632
Outside of that, I don't believe there are any that are consistent.

102
00:07:50,632 --> 00:07:55,167
You know, there are smells, but I think those are the only two proofs that I'm sure of.

103
00:07:55,372 --> 00:07:56,643
Gotcha, yeah.

104
00:07:56,944 --> 00:08:06,672
So as far as the site itself, are you, I know you also as part of Tighten or you
personally, y 'all built an app called Jigsaw, which is, you know, a flat file.

105
00:08:08,234 --> 00:08:08,925
How do you describe it?

106
00:08:08,925 --> 00:08:09,916
It's flat file.

107
00:08:09,916 --> 00:08:11,456
generates a static.

108
00:08:11,456 --> 00:08:12,698
Yeah, static.

109
00:08:12,698 --> 00:08:15,744
Is it's using that on the backend or are you using something custom

110
00:08:15,744 --> 00:08:19,186
Yeah, no, this is just a normal Laravel app.

111
00:08:19,186 --> 00:08:22,779
We have a built with Jigsaw site that is built with Jigsaw.

112
00:08:22,779 --> 00:08:24,770
And so I did build it that way.

113
00:08:24,791 --> 00:08:30,094
The number one problem I had, and this is true with all static sites, is static sites are
not CMSs.

114
00:08:30,094 --> 00:08:39,181
And so when you get to the point where there's a lot of data management happening in
static sites, it can get to be difficult if people who are non -technical are doing it, or

115
00:08:39,181 --> 00:08:42,475
if you want people outside of your team to be contributing content.

116
00:08:42,475 --> 00:08:44,497
that's very difficult to do with static sites.

117
00:08:44,497 --> 00:08:49,541
So static sites excel when you've got the developers being the people writing the content
all the time.

118
00:08:49,541 --> 00:08:54,224
So it's great for a developer blog, like the Tighten website's on Jigsaw and it's
perfectly fine.

119
00:08:54,305 --> 00:08:57,648
But this is something I wanted other people to be able to submit an entry.

120
00:08:57,648 --> 00:09:03,823
I wanted to be able to have a panel where I can look at the entry and I can click yes or
click no, or maybe edit if they made a typo or something like that.

121
00:09:03,823 --> 00:09:06,495
And you can't do that stuff with static sites as much as I'd love to.

122
00:09:06,495 --> 00:09:08,977
So this is just a custom layer of a app.

123
00:09:10,378 --> 00:09:19,138
historically have used Nova for admin panels and there's some folks at Tighten that really
like filament and so I talked to Dan Harris and he was like, hey, you know, what I would

124
00:09:19,138 --> 00:09:21,818
love for you to do to support filament is try it on a project sometime.

125
00:09:21,818 --> 00:09:25,888
And I said, okay, the next time I need an admin panel, I will try it on a project.

126
00:09:25,888 --> 00:09:29,178
And so I went and I, you know, installed filament.

127
00:09:29,178 --> 00:09:31,238
I'm still in the middle of building out the admin panel.

128
00:09:31,238 --> 00:09:35,278
So it's funny, if you look at the commits for built with Jigsaw, cause it's built with
Laravel, it's public.

129
00:09:35,278 --> 00:09:38,618
You'll just see that the last 10 commits are me just adding

130
00:09:38,899 --> 00:09:45,370
the images for those as I go into TablePlus and literally manually enter them into the
database because I haven't set up the admin panel yet.

131
00:09:45,370 --> 00:09:48,424
So it's one of those like, yeah, you know, we'll get to it kind of things.

132
00:09:49,184 --> 00:09:51,295
Yes, totally bad.

133
00:09:51,366 --> 00:09:54,909
going right into the database for little small projects is totally underrated.

134
00:09:54,909 --> 00:09:57,110
I love doing that.

135
00:09:57,110 --> 00:09:57,801
Yeah.

136
00:09:58,942 --> 00:10:00,623
Yeah.

137
00:10:00,623 --> 00:10:03,556
No, it's a filaments, filaments really good.

138
00:10:03,556 --> 00:10:12,232
I've been using it, on the back end of where I've used, but, one of the neat things about
filament is you can actually use it on the front end too.

139
00:10:12,673 --> 00:10:16,306
but I have not actually used it in that, in that way yet.

140
00:10:16,306 --> 00:10:17,921
like, you know, for your form,

141
00:10:17,921 --> 00:10:20,705
for your suggested entry, think that can actually be part of filament.

142
00:10:20,705 --> 00:10:21,356
just goes right in.

143
00:10:21,356 --> 00:10:23,099
You don't have to do anything external.

144
00:10:23,099 --> 00:10:24,852
It's like all the code's already there.

145
00:10:24,852 --> 00:10:32,694
Personally, I'm gonna name, I am wary of front user facing, end user facing all in one
platforms.

146
00:10:32,694 --> 00:10:36,775
So personally, I'm not gonna be doing that.

147
00:10:36,775 --> 00:10:48,688
And we have, like with Filament and with Nova and with WordPress before, we've seen people
use things that are meant for building back end admin panels, be used to build front end

148
00:10:48,688 --> 00:10:48,968
stuff.

149
00:10:48,968 --> 00:10:51,178
And sometimes it was a manipulation of the thing.

150
00:10:51,178 --> 00:10:54,459
Like Taylor literally just said publicly, don't use Nova for front end.

151
00:10:54,459 --> 00:10:56,531
And sometimes the things were intended to be used that way.

152
00:10:56,531 --> 00:11:04,138
think filament is intended to be used as a part of your app, but overall when I've seen it
done that way, I don't like the way it works out in terms of being able to meet the needs

153
00:11:04,138 --> 00:11:07,091
of our, especially our pickier kind of end users.

154
00:11:07,091 --> 00:11:14,328
So personally, you know, I'm not saying what anybody else should do, but personally I'm
sticking to if I'm doing an all in one builder, it's for the backend.

155
00:11:14,562 --> 00:11:15,482
Nice, nice.

156
00:11:15,482 --> 00:11:18,447
Okay, well, this leads into another product you have.

157
00:11:18,447 --> 00:11:22,411
Or is your suggest feature running through FieldGoal?

158
00:11:22,411 --> 00:11:26,345
I guess FieldGoal might be more geared for just email, right?

159
00:11:26,345 --> 00:11:27,746
Not for inserting.

160
00:11:27,746 --> 00:11:40,292
mean field field goal is is great for static sites and honestly the the primary goal for
field goal is if somebody is Has like a concept of like a message inbox basically and it's

161
00:11:40,292 --> 00:11:45,695
not nearly as complex as something like help spot You need to be able to like assign this
person to this message or something.

162
00:11:45,695 --> 00:11:50,497
But if you don't want If you don't want to have to program like

163
00:11:50,618 --> 00:11:58,083
this person sent this in and you should be able to market as spam and when this thing
gets, this particular form gets filled out, make sure it emails this person, Fieldgold

164
00:11:58,083 --> 00:11:59,083
takes that off of your plate.

165
00:11:59,083 --> 00:12:05,618
So it's one of those things where it's like, do you want to rewrite that for every single
project you ever build or do you just want to let Fieldgold handle it for you?

166
00:12:05,618 --> 00:12:09,000
So that's what Fieldgold is good for, both for layer relapse and static sites.

167
00:12:09,000 --> 00:12:15,924
What Fieldgold doesn't really excel at is if you want to use that data programmatically,
it's just a message inbox, right?

168
00:12:15,924 --> 00:12:20,141
I mean, you can get the data out, but the problem is when somebody suggests a site,

169
00:12:20,141 --> 00:12:22,072
I don't want to just get notified about it.

170
00:12:22,072 --> 00:12:28,433
I also want to be able to click a button that says, take this suggested organization and
turn it into a real organization.

171
00:12:28,433 --> 00:12:30,494
And right now there are two separate tables.

172
00:12:30,494 --> 00:12:39,356
There's a suggested organization table and the things that are related, what technologies
it uses and what sites it has are just JSON columns right now.

173
00:12:39,356 --> 00:12:45,130
But I'm gonna build an action in filament that says either reject a suggestion and then it
just kind of goes away.

174
00:12:45,130 --> 00:12:54,805
or accept a suggestion, which then pulls that JSON out and turns it into an actual
relational entry in the organizations table and the sites table and the relationship, the

175
00:12:54,805 --> 00:12:58,700
many to many relationship between an organization and technologies.

176
00:12:58,988 --> 00:13:00,240
Sounds great.

177
00:13:00,240 --> 00:13:09,385
And then I guess for storage, you're using MySQL Postgres or the, what's the new flavor of
the month?

178
00:13:09,385 --> 00:13:10,907
The SQLite.

179
00:13:10,907 --> 00:13:12,109
Locally it's SQLite.

180
00:13:12,109 --> 00:13:17,798
I'm assuming that I used MySQL on the server just because that's what I do by default, but
I actually don't remember.

181
00:13:17,798 --> 00:13:19,400
It's probably MySQL,

182
00:13:19,457 --> 00:13:20,657
That's me too.

183
00:13:20,657 --> 00:13:26,917
It's so ingrained from, you know, all these 30 years of doing this that we just thought
MySQL is like, whatever.

184
00:13:27,537 --> 00:13:28,717
I love that.

185
00:13:28,717 --> 00:13:36,601
But, well, how, how's like the feedback being, you know, from the community so far is are
people getting really behind it and, and enjoying

186
00:13:36,601 --> 00:13:40,443
people who understand from a business perspective who've gotten a bit very excited about
it.

187
00:13:40,443 --> 00:13:48,406
I've gotten some really great support from the Laravel team who are, know, the Laravel
team has been working actively on building relationships in Silicon Valley and getting

188
00:13:48,406 --> 00:13:49,687
kind of our reputation up there.

189
00:13:49,687 --> 00:13:59,871
And it's been so exciting because that's been something that has been one of my focuses
for years at this point is trying to raise the reputation of Laravel among folks who have.

190
00:14:00,167 --> 00:14:09,674
influence on the what types of organizations would use us in the future and it's been a
pretty long slog of trying to convince these folks, know, hey, we're valuable.

191
00:14:09,674 --> 00:14:10,875
We're legit.

192
00:14:11,096 --> 00:14:18,531
And so first of all, I'm getting a new kind of boost of energy right now just because of
my role in the company at Tighten.

193
00:14:18,531 --> 00:14:20,323
You know, I've gone from being CTO to CEO.

194
00:14:20,323 --> 00:14:22,735
So I'm involved in even more of these business development conversations.

195
00:14:22,735 --> 00:14:24,618
So I'm more motivated than I was before.

196
00:14:24,618 --> 00:14:29,078
But then also there's some folks at Lyreville that are like, no, let's really do this of
their own volition.

197
00:14:29,078 --> 00:14:30,158
And I was like, well, I'm doing this too.

198
00:14:30,158 --> 00:14:31,658
And they're like, great, let's work together.

199
00:14:31,658 --> 00:14:34,818
So I feel like there's a ton of support from them.

200
00:14:34,918 --> 00:14:37,698
We're already talking about ways we can pair up together.

201
00:14:37,698 --> 00:14:40,418
There's other business owners that are saying, I'm really excited this is going on.

202
00:14:40,418 --> 00:14:42,328
So so far the response has been incredible.

203
00:14:42,328 --> 00:14:45,658
And I have over 200 submissions that I'm still working through.

204
00:14:45,658 --> 00:14:49,498
And I'm picking out some of the most exciting ones and adding them manually.

205
00:14:49,498 --> 00:14:52,799
And then once I have my filament tool, I'll then be able to pull in more of them.

206
00:14:53,398 --> 00:15:03,122
What in the, I guess, you know, because we're, we're in Laravel and we're kind of, you
know, most of our, I guess our reach is developers.

207
00:15:03,122 --> 00:15:12,707
you getting a lot of like, you know, people that are like submitting like Laravel news,
like that's a site that really shouldn't go there because that's literally for Laravel and

208
00:15:12,707 --> 00:15:15,298
nobody outside of Laravel cares about this website.

209
00:15:15,488 --> 00:15:17,846
are you getting a lot of little stuff like that submitted?

210
00:15:17,846 --> 00:15:27,134
And it's funny, if you look at the database cedar for Bill Jigsaw, you'll see I actually
at the bottom as I'm adding things, I ask questions and I'm like, so should I put Laircast

211
00:15:27,134 --> 00:15:27,684
there or not?

212
00:15:27,684 --> 00:15:31,857
Because it's a hugely successful business that anybody should be impressed with.

213
00:15:31,857 --> 00:15:35,810
But because it is developer focused, think somebody might be like, well, I don't know that
thing.

214
00:15:35,810 --> 00:15:37,952
It says Lara in the name, so it's not impressive.

215
00:15:37,952 --> 00:15:44,347
So it's weird because I personally think that the metrics that I have for what's
impressive, Laircasts fits, right?

216
00:15:44,347 --> 00:15:53,164
Very, very financially successful one man operation originally, you know, it should be an
inspiration, but because it is targeted Laravel folks, I'm probably not going to put it on

217
00:15:53,164 --> 00:15:54,074
the list.

218
00:15:54,095 --> 00:15:56,767
So that one is like kind of edge Casey, similar to Laravel news.

219
00:15:56,767 --> 00:16:01,259
Like it's, think it's very impressive that it's a one man operation, you know, for the
longest time and everything.

220
00:16:01,261 --> 00:16:03,883
but because it's Laravel, it's probably not going to get up there.

221
00:16:03,883 --> 00:16:11,389
However, there are the distinction, this like lines in the suggest page that say, here's
what means you do and do not belong in here.

222
00:16:11,389 --> 00:16:13,134
And literally when the lines is

223
00:16:13,134 --> 00:16:15,275
I don't want your individual developer website.

224
00:16:15,275 --> 00:16:16,796
I don't want packages.

225
00:16:16,796 --> 00:16:18,797
I don't want your agency's website.

226
00:16:18,797 --> 00:16:24,820
And still people submit them over and I'm just like, okay, so we don't read is what's
going on here.

227
00:16:24,820 --> 00:16:25,840
Got it.

228
00:16:25,840 --> 00:16:27,941
So yeah, but that's okay.

229
00:16:27,941 --> 00:16:29,782
The delete button is free.

230
00:16:29,843 --> 00:16:30,404
Yeah.

231
00:16:30,404 --> 00:16:41,531
You know, it seems like maybe we can already do it, but it seems like we should be able to
utilize open AI to scan URLs and be like, this is what I'm looking for and not looking

232
00:16:41,531 --> 00:16:41,731
for.

233
00:16:41,731 --> 00:16:43,632
And it can be rejected.

234
00:16:44,693 --> 00:16:45,463
Maybe one day.

235
00:16:45,463 --> 00:16:46,394
That's a dream in the future.

236
00:16:46,394 --> 00:16:50,596
I know I run into that because we do a community link section on Laravel News.

237
00:16:50,717 --> 00:16:55,079
I try to be approved freely, basically.

238
00:16:55,079 --> 00:16:57,561
I don't want to be the arbiter

239
00:16:57,952 --> 00:17:01,556
whether your tutorial is good or bad, unless it's just really bad.

240
00:17:01,556 --> 00:17:08,745
But it would be a nice way to just have some sort of automated thing to scan and be like,
nope, this is spam, just delete it.

241
00:17:08,745 --> 00:17:12,279
Or this is just a marketing website that shouldn't be here at all.

242
00:17:12,279 --> 00:17:14,340
But maybe in the future.

243
00:17:14,340 --> 00:17:15,920
Yeah, yeah.

244
00:17:15,920 --> 00:17:25,120
there is something, I'm trying to remember what it is, but there's been something where
I'm like, hey, if it has this in the name or if it looks like this, it's usually not good.

245
00:17:25,120 --> 00:17:34,000
I'm trying to remember what it was and I thought about even just building sort of like a
spam smell or like a good fit smell detector where I just run it through a few things that

246
00:17:34,000 --> 00:17:39,680
just tells me on the submission page, like one to 10, how likely is this to be any good?

247
00:17:39,840 --> 00:17:42,413
And it's something I've done in my personal email.

248
00:17:42,413 --> 00:17:46,974
There's one of my email addresses that I use and there's one of my email addresses that
I've never given out to anyone ever.

249
00:17:46,974 --> 00:17:50,565
So the only people who email that email address are people who guessed it.

250
00:17:50,565 --> 00:17:56,067
And so I have a little label in Gmail that says, probably spam question mark.

251
00:17:56,067 --> 00:17:59,528
And I don't delete them all because some people guessed it and I wanna talk to them.

252
00:17:59,528 --> 00:18:03,118
But the vast majority of people, they guessed it and they're sending me spam.

253
00:18:03,118 --> 00:18:09,620
So it's one of those sort of like, maybe we don't let the AI totally be in control, but
give it a little bit of like, let us give us a hint, you know?

254
00:18:10,462 --> 00:18:12,542
That's funny, yes, very true.

255
00:18:13,723 --> 00:18:16,044
I'm very excited about this project.

256
00:18:16,044 --> 00:18:25,706
I know it takes a lot of work, not actually to build it from a developer standpoint, but
just to run it and manage it, to go through and find all these people and find the

257
00:18:25,706 --> 00:18:27,076
relationships and stuff like that.

258
00:18:27,076 --> 00:18:38,449
So I'm very excited for it and for the community, like you said, helping all these other
businesses owners outside of our little ecosystem, find Laravel and get involved with it.

259
00:18:39,052 --> 00:18:42,748
But anything else you want to tell us about the app or?

260
00:18:42,748 --> 00:18:44,108
I actually do have something.

261
00:18:44,108 --> 00:18:52,868
So it's funny because it seems like such a simple app and granted I built it in 10 minutes
that's here and there between work, you know, so it took probably three weeks for me to

262
00:18:52,868 --> 00:18:54,968
build because it was in 10 minute segments here and there.

263
00:18:54,968 --> 00:19:04,888
But I was surprised at how long it took me to build and I forgot about the fact that there
is a long gap between proof of concept, just throw the thing up with the basic data

264
00:19:04,888 --> 00:19:12,093
modeling and really like well executed application, you know, with all the finance, the
fine details and the nuances.

265
00:19:12,093 --> 00:19:15,035
And I worked with a designer in this one that I've never worked before.

266
00:19:15,035 --> 00:19:19,329
he's sort of like, I'm really excited about this being an example of my work.

267
00:19:19,329 --> 00:19:23,082
Are you okay if I give you notes on like your implementation of my designs?

268
00:19:23,082 --> 00:19:27,866
And I was like, as the owner of the company, it's been a long time since somebody, he
doesn't work at Tighten, right?

269
00:19:27,866 --> 00:19:29,417
So he's just, he's just, I'm just some dude to him.

270
00:19:29,417 --> 00:19:30,298
And I was like, yeah.

271
00:19:30,298 --> 00:19:33,340
And so he's given me these like little fine grade notes on things.

272
00:19:33,340 --> 00:19:35,632
And I'm finding myself being like, yes, you're right.

273
00:19:35,632 --> 00:19:36,793
But you know, my hackles raised a little bit.

274
00:19:36,793 --> 00:19:38,174
I'm like, you're telling me what to do.

275
00:19:38,174 --> 00:19:39,505
But the thing is he's right.

276
00:19:39,505 --> 00:19:41,726
And the little nuances.

277
00:19:41,726 --> 00:19:45,676
really are as much work as building the whole thing itself.

278
00:19:45,676 --> 00:19:46,976
So that was an interesting point.

279
00:19:46,976 --> 00:19:54,086
But I also wanted to note that I built 98 % of that thing myself, but I asked for some
help from some Tighten folks to get it over the line.

280
00:19:54,106 --> 00:19:59,286
so Andy Newhouse built some cool little pill selectors.

281
00:19:59,286 --> 00:20:06,466
then Tony Macias helped me for some page caching, because we wanted it to feel really fast
while it's still running on a single shared Digital Ocean box.

282
00:20:06,466 --> 00:20:10,672
I tend to do, like I'll cache the

283
00:20:10,672 --> 00:20:17,204
the database results and then I'll also do often some kind of page caching like Joseph
Silver's page cache or something like that.

284
00:20:17,204 --> 00:20:21,655
So he set up Joseph Silver's page cache which makes it much, much, much faster.

285
00:20:21,655 --> 00:20:24,576
If you've never tried it out, I would definitely recommend it to everybody.

286
00:20:24,576 --> 00:20:35,509
One of the things it does is it takes the output of the HTML page and actually saves it as
an HTML page in a local folder and then tells NGINX every single time a page request comes

287
00:20:35,509 --> 00:20:40,143
for this URL, look at the local cached HTML version before you even touch Laravel.

288
00:20:40,143 --> 00:20:42,585
So it is actually not even hitting Laravel.

289
00:20:42,585 --> 00:20:52,371
And so your speed there is able to get even significantly better, but also your load on
your Laravel app is able to get better because many times it doesn't even touch Laravel.

290
00:20:52,371 --> 00:20:56,454
But one of the cool things that Tony did while he was doing that is he added page
transitions.

291
00:20:56,454 --> 00:21:04,999
And if anybody's not familiar, there's this new CSS thing where when you move between one
page and another, rather than just getting like a full page load like we're used

292
00:21:05,036 --> 00:21:11,919
you can say, browser, this element on page one and this element on page two are the same
element, animate them for me.

293
00:21:11,919 --> 00:21:14,630
Sort of like if you were in like Keynote or Flash or something like that.

294
00:21:14,630 --> 00:21:18,291
And so Tony threw a couple of those on and it's kind of crazy how simple it is.

295
00:21:18,291 --> 00:21:26,584
You can go look at the source code and the pull request where you put it in, but it's
pretty amazing how easily you can just say, like for example, this Apple logo on the grid

296
00:21:26,584 --> 00:21:31,616
page is the same as this Apple logo on the show organization page.

297
00:21:31,616 --> 00:21:35,147
And so when you click on Apple, the Apple logo,

298
00:21:35,231 --> 00:21:39,566
zooms over and it just makes it look really special with almost no work at all.

299
00:21:39,566 --> 00:21:40,748
It makes it feel kind of SBA.

300
00:21:40,748 --> 00:21:48,617
So I just wanted to kind of point that out both that my team helped on this project but
also that view transitions thing is really fun and that the page cache package is really

301
00:21:49,077 --> 00:21:49,899
That's awesome.

302
00:21:49,899 --> 00:21:55,475
So you said that was part of Vue or did you say that was a CSS transition?

303
00:21:55,475 --> 00:21:58,687
CSS it's called view transitions, but like VIEW.

304
00:21:58,687 --> 00:21:59,547
Yeah.

305
00:21:59,668 --> 00:22:00,288
Yeah.

306
00:22:00,288 --> 00:22:01,279
Yeah, the other view.

307
00:22:01,279 --> 00:22:01,799
Sorry about that.

308
00:22:01,799 --> 00:22:02,149
Yeah.

309
00:22:02,149 --> 00:22:03,190
So it's a CSS.

310
00:22:03,190 --> 00:22:05,231
It's a CSS feature called view.

311
00:22:05,231 --> 00:22:07,662
I think it's called view transitions or page transitions.

312
00:22:07,662 --> 00:22:09,173
So I think it's view transitions.

313
00:22:09,730 --> 00:22:10,792
Yeah, that's awesome.

314
00:22:10,792 --> 00:22:20,041
Yeah, I did see some you know banter on Twitter talking about how awesome that was But I
haven't had time to actually go dive into the source and see it all see it all so I'll be

315
00:22:20,041 --> 00:22:26,017
sure to link all that in the show notes down to the to the PR and to the project I
actually didn't know it was open source.

316
00:22:26,017 --> 00:22:32,093
So that's even better So, you know if anybody wants to I assume you accept PRs if somebody
wants to contribute

317
00:22:32,268 --> 00:22:34,169
Yeah, I mean, right now it's not really looking for PRs.

318
00:22:34,169 --> 00:22:41,295
Somebody can, but I would definitely recommend, because I'm so happy with it as is, I'd
recommend putting up an issue before you make a PR.

319
00:22:41,295 --> 00:22:48,169
I have it open source more to show people just how I build apps, less because I expect a
lot of community contribution.

320
00:22:48,406 --> 00:22:48,886
I love that.

321
00:22:48,886 --> 00:22:49,656
Yes.

322
00:22:49,656 --> 00:22:55,498
you can, and you know, if you are sort of listening to this and you're new to Laravel,
like go look at these apps for sure.

323
00:22:55,498 --> 00:23:04,510
And read through the source and just see how, you know, everybody sets things up a little
differently, but on how they, know, a lot of the big people within the liberal community

324
00:23:04,510 --> 00:23:09,491
stick to the liberal conventions and, you can follow an app, but just like, just like this
one.

325
00:23:09,491 --> 00:23:15,637
And you'll see basically, you know, you can jump right in and not be confused on where
things are or anything like that.

326
00:23:15,637 --> 00:23:16,097
Yep.

327
00:23:16,097 --> 00:23:21,987
And because I built it in 10 minute segments here and there, you're also going to see the
mistakes that somebody who's been writing Laravel for over a decade make, right?

328
00:23:21,987 --> 00:23:24,917
I'm just kind of like, you're going to see everything in there.

329
00:23:24,917 --> 00:23:32,377
especially Dan, Dan Heron and other filament folks, you can go in and criticize how my
first Laravel or my first filament app looks.

330
00:23:33,766 --> 00:23:34,408
I love that.

331
00:23:34,408 --> 00:23:35,829
Yes, that's awesome.

332
00:23:35,829 --> 00:23:37,761
Well, I think that about does it.

333
00:23:37,761 --> 00:23:46,742
You know, if we don't have anything else, I want to say, you know, thank you to Matt for
spending time with us today, telling us about this new project and, you know, just just

334
00:23:46,742 --> 00:23:49,455
being a great human in the Laravel community.

335
00:23:49,455 --> 00:23:51,327
He does so much stuff and so much work.

336
00:23:51,327 --> 00:23:53,088
He's one of the true

337
00:23:53,971 --> 00:23:55,836
Spoken by a true OG, thank you my friend.

338
00:23:55,836 --> 00:23:57,424
I really appreciate you.