AI Writing Style guides and integrating Go with Laravel

Chris Gmyr (00:00)
Hey, welcome back to this lately caffeinated podcast. I'm Chris Gmyr

TJ Miller (00:03)
I'm TJ Miller.

Chris Gmyr (00:04)
Hey TJ, so what's new in your world this week?

TJ Miller (00:07)
man, this week has been, this week has been just flown by. I'm not even sure what I've done this week. You know, kind of coming off our last episode, I've taken a break from ClickHouse. Just mentally I needed a step away from it. So I was able to pick up a whole bunch of like smaller tickets at work. And that's been nice to just get some like momentum and wins under my belt after.

just banging my head up against a wall on like one big project for a minute. And I think, I think it's important to be able to switch stuff up like that. And I'm really fortunate to have that affordance at Geocodeo where we have some stuff, smaller stuff always kicking around in the background that we can, you know, take a break from the big project and get some wins and circle back to it. So I think because I took a break, I now think I have a game plan for going back, circling back around to it all.

which feels good. there's that. And then last night we got dumped on, I think we got like six inches of snow. yeah, know, I went out and cleared snow this morning. And I think maybe even after we finish recording, I think we're going to go sledding. take full advantage of the snow while I got it, man.

Chris Gmyr (01:05)
Yeah, it's a lot.

you

Yeah, especially when it's nice and clean, not all like mudded up and yeah, sitting around for weeks like take advantage.

TJ Miller (01:24)
Yeah.

Yeah, had a... With Prism, I had a big shipping day. Like I said on our last episode, I've just been kind of buried in other stuff and haven't had a ton of time to work on Prism. So I had a bunch of issues and PRs built up and ended up doing a live stream, think... Saturday or Sunday, I ended up doing a live stream.

And we were just in full on shipping mode, you know, went through and reviewed a bunch of PRs, got a bunch of them merged in and had a big release full of fixes and a couple of new features. I know we shipped like, we can get into more stuff with Prism later, but we had a big shipping day, which felt great to just see that the issue in PR list just shrink. So I got to...

Couple big ones still out there, but we'll get to those. Yeah, dude, life has been great. Jamming along. How about you?

Chris Gmyr (02:19)
Yeah. Yeah, pretty odd week this week. So over the weekend, had my sister-in-law come in for a quick visit. She was driving through from Florida to New York. So we got to hang out with her a little bit. And then Sunday, we had a little outdoor project before it. Instead of snow, we just got tons of rain this whole week.

TJ Miller (02:23)
Haha!

Chris Gmyr (02:42)
But Sunday was the only nice day that we've had so far. And we decided to do a little project outside, turn a little spot next to our patio and back porch into a little play space for the kids. So we cleaned out this area. We went to Home Depot, got a whole bunch of wood and material. And I built a little sand and rock pit.

so they can have their know, tonka trucks and like, you know, sandcastle things, you know, in there and like half of it's going to be sand, half of it's going to be like different size rocks and almost like you're like at a beach or, you know, something like that too. So it's like basically like seven by seven foot. So it's pretty, pretty decent size. So got that all built, all finished up, filled it half of the sand and stone materials and had to go back and get probably about

10 to 15 more bags of stuff to finish filling it up. But we just wanted to see how it felt and worked so far. So the kids got in there and played for a little bit before it started running in. And it was nice. So it was a nice little project. And it's always good to build stuff with your hands once in a while compared to just in the abstract computer world all the time. Yeah. And yeah.

TJ Miller (03:52)
So nice, man.

Chris Gmyr (03:57)
And this week is actually my last week at Curology Got a new job. So after almost six years of being there, yeah, been a long time. So yeah, I'll be transitioning into a new role. After this week, have a week off next week, and then starting the new job on the 24th. So I was hired as a

TJ Miller (04:01)
Woof!

Wow.

Chris Gmyr (04:20)
staff software engineer at a company called Rula. It's rula.com and they do like online therapy, mental health type sessions and things like that. So they're growing like crazy and happy to be a part of the engineering team and org over there.

TJ Miller (04:37)
Dude, that's awesome, man. Congratulations. Like, what a wild ride, because you were my in when I joined Chirology too. know? it's, a wild ride. But I'm so excited for you, man. And then, like, I know you're going to be dealing with a shifting tech stack too, right? You're kind of coming from the Laravel in TypeScript scene over to Rails in TypeScript, which...

Chris Gmyr (04:40)
Thanks.

Yeah.

TJ Miller (05:06)
I think it's going to be really cool. I love opportunities like that where it's just, all you see in front of you is a sea of learning opportunities. That's something I'm really fortunate to have at Geocodeo also, and I think that's just so important for us. And I'm really geeked for you, man. I think it's going to be a riot.

Chris Gmyr (05:25)
Yeah,

it'll be awesome. Different tech stack, slightly different domain. So it's still in the telehealth area, but just in a different sector. Building up the greater engineering team and the team and the groups that I'm going to be a part of. All those teams are new. So I'll be helping build out the team, do a bunch of hiring on our team.

kind of exploring what we can do for the system in general. They have a lot of different microservices and an old monolith. And how do we transition into the new way of doing things and trying wrangle some of the data that we have and keep everything safe and secure in the meantime as well. So yeah, tons of things to explore. I don't even probably know half of the things that I'll be working on right now.

TJ Miller (06:19)
Haha

Chris Gmyr (06:20)
But yeah, hopefully we'll have some different topics to chat about in the near future. So probably after a few weeks of getting settled a little bit more.

TJ Miller (06:28)
Oh, for sure, man. Like,

feel like I'm still settling in at Geocodeo, even though it's been a bit of time, man. think, ugh, that sounds so cool, dude.

Chris Gmyr (06:39)
That'd be fun. Looking forward to it.

TJ Miller (06:40)
Yeah, what a, what

I just, think all those opportunities are going to be great, you know, getting in on the ground floor of these teams, being able to work on like architecture and all of that stuff, man. Very cool.

Chris Gmyr (06:54)
Yeah, yeah. So yeah, that's what's new for me.

TJ Miller (06:58)
Cool, man. thought we could, you we were chatting a little bit before we smashed record and I thought it'd be cool to kind of talk about some AI writing workflows. Because recently, I mean earlier today, published a new blog post on the GeoCodeo tech blog, Code and Coordinates, about how we use Laravel and Go together. And I actually used Claude to write the first draft of

the post and then went in and just edited and massaged a bunch of stuff. I think it'd be cool to talk about some of that workflow that I use with Claude and how I got it to adapt to my writing style.

Chris Gmyr (07:39)
Yeah, I think that would be awesome. Because I know you can set up different profiles or projects. And I've been using Cloud most of the time to have it gone back to chat GPT too much. But I know you can do similar things with chat GPT and probably all of the other models. But I've been really curious to jump into how to separate out those projects or avatars, if you will, of, hey, I

and writing for personal on this project or business on this project or whatever else that you have as far as projects. I'm definitely interested to dive into that and how you set all this stuff up, especially when you have a bunch of content written pre-AI, trying to get your voice out there, or even videos that you have because you've spoken at.

a bunch of conferences, or if you have like meetup talks or something like that, that you can process all these things to get your voice into the AI bot or project. I think that'd be super interesting.

TJ Miller (08:40)
Yeah, man. So what I did was actually like a multi-stage process to get there. And I was very focused on this being, I wanted to, my end, like, you kind of always got to start at the end result and work your way backwards and like develop a strategy that way. So I know I wanted it to write a blog post. I wanted it to get pretty close to my writing style. So I took all, like, I don't have many, but I took all of my blog posts from my website.

gathered those all up easy, easy enough. They were like, I've always used static site generation for my blog for, mean, I don't say always, but for many years. So all of my blog posts are already marked down files, super easy to grab. So in Claude, have like with Claude, you have the concept of projects. So I created a new project called writing. And then with projects, you can upload files from your computer to give it context. So

I went ahead and uploaded all of my blog posts. But the first step of this was, well, the nice thing was all of the blog posts I have are already technical blog posts. So I have a lot of source of my writing style as technical blog post. Luckily, I was also trying to get it to write a technical blog post so everything really like meshed together well.

Chris Gmyr (09:58)
Mm-hmm.

TJ Miller (09:59)
But the

first thing I started with was I just hopped into Claude and I asked it very specific. I'm like, develop a rubric and guide for analyzing someone's writing style so that it can be duplicated. It should include notes on vocabulary, tone, voice, and pace and style. So that's the first thing I did. Before I even added my writing examples was first come up with a comprehensive rubric for like

how to describe someone's writing style so that it could be duplicated. And then I gave it that very specific descriptors of, want you to capture vocabulary, the tone, the voice, my pacing, and just the overall style of writing. Because I feel like those are all the really important aspects. I could have gone a step back from that and kind of asked it, first, describe what are key...

points about describing someone's writing style. I just took an educated guess and called out those specificities, but I could have also had it define its own specificities. And so it came back with a, let's see, a seven-point rubric of different attributes. So the first one is vocabulary profile. It's talking about the complexity level.

field-specific terminology frequency, word letter, like word length patterns. Like it just came up with all of these things for vocabulary. But then it dove into like sentence construction, paragraph architecture, voice characteristics, content flow, distinctive quirks, which I think was great to call out. It's like signature phrases, unconventional punctuation, special formatting preferences, know, personal anecdote usage.

Chris Gmyr (11:26)
That's really cool.

TJ Miller (11:44)
unique abbreviations. And then it also broke out a section for application process. So how to apply this rubric when writing, which was, I think, pretty cool. then I took that description of a rubric, and then I added all of my blog posts to that and said, all right, now here are a bunch of blog posts.

analyze them and apply that analysis to the rubric. And it did. And it went through all seven of those points and like pulled out like all the different aspects of my writing style and then gave like a nice overall summary of the writing style and everything. And like, this is fantastic. I'm like, now take this rubric and generate a style guide.

So I now have the rubric, and then it put together a comprehensive style guide. So I can take both of those together and be able to provide that to the language model and then give it a prompt for an article. So we have, in the style guide, it goes through voice and tone, structural elements, language patterns, sentence structure, code and technical content. So it broke down that I use like

code blocks with clear context, comment the code to be concise, follow code explanation with key points, has a section for personal elements, example phrases and patterns. It just went to town. It also broke out formatting guidelines for code blocks. I use

Fight Press, VEAT Press, I don't know how everyone's pronouncing that these days. VEAT Press, so I use that and it's got special affordances for doing different code markdown blocks. So it has a whole section on how to do the different kinds of markdown things. You can do callouts and stuff with it. So.

It has like a whole section on those, like key principles to remember. It added a whole like anti-patterns to avoid, avoid anti-patterns to avoid overly formal and academic tone, long, dense paragraphs, unexplained technical jargon. I'm like, this is, this is sick. Like it came up with some like thing, so many things that I would not have thought of, but

Chris Gmyr (13:57)
Yeah, sweet.

TJ Miller (14:04)
That was the whole point, because I'm like, this is going to know better than me. Claude is going to know better than me how to analyze a writing style. So that was kind of like, ground floor, let's figure out how to analyze my writing style first. Then when it came time to write this Geocodeo article, I more or less came in with a couple code examples.

from our code base, like just grabbed a couple pieces. So the article was on, you know, how we, the article's titled Supercharging Laravel with Go, you providing like a hybrid architecture, building like a hybrid architecture with Laravel and Go together and kind of how we link the two code bases together. So I gave, like I wrote a few sentence summary of what I wanted the article to be, provided some.

code from our code base that was relevant to writing the article. And then I gave it...

I don't know, not super extensive, but I gave it a, you know, maybe 15, 20 point bulleted list of like, here's the things that I want to make sure we like discuss in this article. or like things to avoid or like, I don't want to use the code exactly. Like I want you to anonymize the code from our code base, but like make it relevant to the article. like kind of stuff like that. So provided it a nice like bulleted list of all of these things, which I'd

If I was handwriting this article myself, this is what I, this is my writing process anyways. I create a bulleted list and then I kind of move the bulleted list around. Like I refactor it to get it, you know, in the order and flow that I want the article to go in. And then I basically just write around the bullet points. That's, I don't know where I got that from, but that's like how I've written things forever is like, do always do an outline first, mess around with the outline. Then I write just like,

Chris Gmyr (15:30)
Yeah.

TJ Miller (15:53)
fill out the outline, I gotta know.

Chris Gmyr (15:54)
Yep, yeah, I do something very similar to.

TJ Miller (15:58)
I feel like I picked it up somewhere in high school because writing was always really challenging for me with my ADHD. So this kind of gave me a way to kind of have like built in like checkpoints of like, all right, let me get the outline all settled. Let me make sure everything flows the way that I want it to flow. And then I can like set it down, go do whatever and come back to it then like just be able to write around all of those bullet points. So.

Chris Gmyr (16:26)
Mm-hmm.

TJ Miller (16:27)
I basically like staged up the same thing for it and then, you know, provided the writing style analysis and the style guide and said, yeah, write, write me the article. Ended up having it iterate on it two or three times. So just get a couple of different variations to see what it was generating. And it was actually really pretty consistent. So that was.

a big testament to breaking out this writing style and rubric. And I just went through the article, like made a handful of edits, kind of fixed a few things that didn't sound the way I wanted them to, and boom, we got an article. I've done this before, this exact same workflow before, and had sort of mixed results, but I think this was

Previous the current generation of clods. So like the model has been upgraded. I think twice since I've tried this last and I was I was pretty impressed

Chris Gmyr (17:28)
Yeah. And now that you have this set up, if you're writing in the same technical style, you could essentially just drop in a new blog idea, minimal outline, and it would be that much faster. You don't have to go through and set this whole thing up again.

TJ Miller (17:43)
Nope. Yeah, the writing project gets used once. And then what I can even do is like, I could take this blog post, it back to like, add this blog post to that, you know, my original set of blog posts and have it rerun the analysis. And like, I can keep having it do that over and over again, continuing to like refine it. If I have new pieces of writing to put together, you know, it'd be

harder to do with talks because it's just so much content that you would run out of context for it to... You'd run out of basically like... Too many tokens and then the model wouldn't be able to generate anything. But for blog posts, I think this works great, especially if you have a lot of writing, you can just pick out the ones you think are the most you or the best. But yeah, now that I have the analysis together, I can spit.

different ideas at it left and right and at least give me first drafts and then I can always go in and edit and write around it. At the very least, I think it's great for getting the idea solidified and generated and giving you something like, giving you some inspiration.

Chris Gmyr (18:54)
Yeah, yeah, totally. And yeah, I don't think it's a good idea to just copy and paste directly from what's in the AI, for sure.

TJ Miller (19:04)
No, I would

say I probably rewrote a third of the article. maybe a smidge more than a third. But, you know, it got me most of the way there. Like, that's really not bad.

Chris Gmyr (19:17)
Well, especially if it's

attached to your style of writing anyway, like reading that. And like you said earlier, it's like, oh, this sounds like I wrote it. And if that's truly the case, then you shouldn't have that much to adjust. Like you said, a third seems reasonable, especially if it's getting that close with the other two thirds. And that sounds like a lot better than just using a blank new chat.

and having something totally generic that basically everyone else is using that doesn't know how to use the tool as well.

TJ Miller (19:54)
Yeah, no, I mean, I can take this writing analysis and like style guide and take it anywhere. I can take it over to Chad GBT, I can take it over to Maestro, like I can take that anywhere that I want it to write like me. now I've got kind of this, you know, this framework for being able to do it. like I said, I can take it anywhere. It's not just specific to Claude. And actually, so I created a project for the writing style because I needed to upload

all of my example pieces of writing. But moving forward, just, you know, inside the content, I can just like start a new blank chat and just like paste this stuff in. I ended up adding it to, I created snippets with Raycast for it. So I can just type in like writing style guide, hit tab, and then it just auto, auto enters it all in there. So yeah, it's, it's great. think it's this workflow.

I think would serve a lot of people really pretty well. Probably deserving of me writing up a blog post or video of it, to be honest.

Chris Gmyr (20:55)
That's what I was going to say next is like a video I think would be cool, but definitely having the copy and pasteable text for the initial prompts and like how you go through it and take the output of one and, you know, popping it into the next step of it just for people to have a starting point instead of trying to recreate that over video or something like that. So, I mean, I'd use it right now.

TJ Miller (21:19)
Yeah,

and I mean, could easily, what I probably should do is I could probably slap a quick layer of all app together and use Prism to kind of be able to like pipe this stuff in and create like a little mini app, like upload your source and get, you know, upload your blog post. And then I give you back a writing analysis and style guide, and then you can create another like input window and you can add in your blog post idea and.

spit it right back out. I should probably actually do that. That would be, I think that would be pretty sick. Fun example with Prism too.

Chris Gmyr (21:54)
Yeah, that would be pretty sick.

Yeah, totally. Because you add.

TJ Miller (22:01)
You know, I'm giving

a workshop on this at PHP Tech. should maybe, this could maybe be that too.

Chris Gmyr (22:06)
Well, I definitely need a sneak peek before you do that, because I don't want to wait till May to get the information.

TJ Miller (22:14)
Yeah, yeah, no, that sounds like a fun thing to be able to put together in the weekend and sounds like a fun live stream to to build that all out

Chris Gmyr (22:22)
Yeah, totally. So I know you said about using Markdown to upload your old blog posts into the chat. Is there a way that you can have URLs of non-Markdown and have it parse that? Or do you really need an export to load into it?

TJ Miller (22:40)
mean, if you wanted to go the URL route, you'd need to like integrate some sort of like scraper functionality to go out and grab that URL, scrape the page and come back with it. And then who knows what other texts that scrapers like picking. I didn't know you got to like, it gets, it gets kind of crazy doing it that way. and scraping, generically scraping is tough.

I think it's easier if you like write a targeted scraper for it. And then if you're going to go that far, you might as well write a scraper that dumps to markdown files. Like, I don't know. It's, but it shouldn't be that hard. Even if you're using, you know, like a CMS or something, just go in and like copy and paste, create a couple of markdown files. Cause you don't, I mean, I don't know if I would upload more than a handful of articles really. Cause you've got

Chris Gmyr (23:10)
Yeah.

TJ Miller (23:27)
You've only got so many tokens that you can fit into a single request with a large language model, so I'd probably just stick with a couple.

Chris Gmyr (23:38)
Yeah, totally. Because I use Hashnode for my blog. And it basically converts everything to a Markdown behind the scenes, or it has a Markdown editor. So I can pretty easily just go into the editor, copy and paste three or five of them, and put them into the chat. So no big deal. It would have just been easier to put in URLs.

TJ Miller (23:58)
for sure. Yeah,

100%. Yeah, it'd be really nice to be able to do that. But I think it's just you're so much better off, I think, getting the content in a nice clean fashion because then you're giving the language model less distraction. You it's very focused on here's the content and it's like stripped down to like just the kind of content you need. Like it's not, it doesn't need to analyze images.

You know, that's gonna be a huge pain, so kind of stripping those out ahead of time is nice. So, yeah, I'd probably just grab like four or five articles and that's probably enough to do it.

Chris Gmyr (24:35)
Yeah, cool. Yeah, I'm going to try that and see how it works out.

TJ Miller (24:39)
Yeah, cool, Yeah, so speaking of this Geocodeo blog post, that was super fun to put together, I know you had been playing around with some Go. Have you ever worked with trying to, or thought about trying to bridge the gap between Laravel and Go at all?

Chris Gmyr (24:55)
No, honestly, I haven't even gone that far with it. I would definitely like to see the benefits of doing that to offload some data processing and just get stuff off the Laravel stack and server. But you never had a real life example to work on that.

TJ Miller (25:13)
Yeah, I know Mohammed goes into his use case, you know, with, he had an article, he's got a, I think, a course PHP to go and he had a blog post a while back. Yeah, in 2023, he had a blog post, the polyglot stack PHP and Golang, where he dives a little bit into detail.

you know, about why, why go, why go together and then kind of linking together the like there of all monolith with go server and go workers. And, it's a fantastic article. I'll definitely make sure that we add that to the show notes. so that's, that's a great, he goes into like a great use case. And for us at GeoCodeo, the, had two primary reasons why we like reached for go.

you know, performance critical operations goes like super performance. So was nice to kind of like drop out to that, like drop over to go for some of the performance critical stuff. And I know like Muhammad talks about that as well. And then we also do on-prem deployments. And for us, that's a way for, you know, go being compiled is a way for us to kind of secure our secret sauce instead of, you know, handing over, you know, open PHP source code we can.

precompile and ship a binary and kind of keep, you know, some of our stuff a little bit safer. and so that was like, I think super valid use cases and stepping through the article, there's, think there's like a couple of ways that we could have gone to link Laravel like PHP and Go together. We could serve it up over an HTTP API, like nothing wrong with that approach. You know, start the Go app and

just another API integration. could have done like, we could have shelled out, so in a controller or a service or something, actually just make a shell call to a Go binary. that could easily return JSON, and then you just parse the result of that process. But what Matias had chosen, and I really like, is RPC over Unix sockets.

which is fantastic. We get like near instant feedback. It makes it really easy for us to have, you know, the Go app running and the Laravel app running inside of the same container and just talk to each other really. It's super straightforward. So like it's in and it's RPC. So it's, you know, just easy to reason about as well instead of having to have the overhead of thinking about

you know, designing an API and routes and all of that. It's like, nope, you just go in, call certain functions that you want to call and just handle it that way. I think it's a great way of going about it.

Chris Gmyr (28:04)
That's really slick. I'll have to dive into the blog post deeper. But yeah, that sounds really cool.

TJ Miller (28:10)
Yeah, it was a fun one. This is not anything I've worked on. So for me, this blog post was a fun one to put together because it kind of was a bit of a forcing mechanism for me to dive in to a piece of the code base I really hadn't had too much experience with. And so it was just really cool seeing how like Matthias had put everything together and I love it. think it's great. think we're even talking about maybe investing a little bit more.

in go and kind of shifting some more of our secret sauce from Laravel into go and, you know, continuing to use the two together.

Chris Gmyr (28:44)
Yeah. Yeah, especially if you're deploying these onto individual services that sometimes the clients have or whatever product offerings that you might have in the future. To be able to push that into a binary and basically close it down so you can't go source diving into it, probably a good idea.

TJ Miller (29:03)
Yeah. one of the things I like most about Go is being able to compile down to a single binary. Think about how chill those deployments are. You're moving a single file from one place to another, and boom, you're deployed. That's so nice. Cool, man. Before we wrap up, you want to dive into?

Some prism updates.

Chris Gmyr (29:28)
Yeah, let's hear some more. I know you touched on it a little bit earlier, but yeah. What do you got?

TJ Miller (29:32)
Yeah,

we had a big ship day. Got a whole bunch of stuff in. I think one of the things that I'm most excited about is we had a big push on some Anthropic feature sets. So with Anthropic, we have much more in-depth exception handling now. So we've got detailed exceptions for rate limits or overloading the models.

with too much context. So instead of just getting this big generic exception, you now have like these really fine grained exceptions that you can check and handle in whatever way you need. And then we also, think last night, I merged Anthropic Citation Support. a week or so ago, we shipped the ability to upload documents.

to Clawed, like Markdown, PDFs, and I think DocX. So you can upload, like along with your request, upload documents and then have it reference those documents. Well, Anthropic shipped, they shipped a feature for being able to return citations along with that. So if it did grab content from one of those documents, it'll tell you which document and where in that document it grabbed the different pieces of information, which is

huge. Like AI is not great left to its own. So being able to like give feedback back that you can, you know, manually go and verify like human in the loop is so crucial.

Chris Gmyr (30:50)
Yeah, that's awesome.

Yeah. Nice.

TJ Miller (31:06)
So

yeah, we got that shipped and I think we're really close on getting Bedrock shipped. So we'll have AWS Bedrock support. And I think we're right around the corner from Gemini structured output, which is going to be another big one. And I have made no additional progress on streaming support yet. So last I left off on streaming support, was I got

the basics, like the very base level functionality with generators working. So we're, that's really, I think the next big focus. I may prioritize this big refactor that we've been talking about across episodes that I've abandoned a couple times. I think that that really needs to happen. So I'm a little torn on what to do next, but the thing is, is if I do streaming,

and then make this refactor.

I'm going to have to rewrite all of the streaming stuff in the refactored way. So I think it might make sense to make the refactor first and then continue with streaming support. I think that's probably going to be the case. might do, instead of doing all the providers at once, I might do like union return types on the contract so I can slowly roll out, you know, like one provider at a time and ship those in separate PRs instead of having to like, you know, build up.

redone all of the providers, you know, and one big go, which is stressful and not fun.

Chris Gmyr (32:34)
Yeah, yeah, that sounds like a good possible way to go as long as it works out that way.

TJ Miller (32:40)
Yeah, it's only internal type-ins, it's not going to break anybody's integrations or anything. So I can just turn that into a union and then pick a provider at a time and shift them over. then that way, too, I think what I'm going to do first actually is write up the change as like a...

issue in the GitHub repo and just kind of explain the what, the why, and the how, like everything's going to shift. And then hopefully I'm really crossing my fingers on this one that doing, taking the time to do the write-up enables and empowers other people to be able to grab a provider and maybe make that refactor for me. And that way we kind of can work together as a community to make this like big shift happen. And,

I everything's gonna be better for it, but it's gonna be unpleasant. Very unpleasant refactor.

Chris Gmyr (33:36)
Yeah, that sounds like a good plan of action to get the community involvement, which you've had. It sounds like decent community involvement up till now with people chipping in new features, new providers. So yeah, I can imagine that people wouldn't want to be involved in the next chapter and refactor to it and help you out a little bit at time.

TJ Miller (33:55)
Yeah, I think

that'd be great. Well, cool, man. I'm out of gas. So if you don't have anything else, we can maybe wrap there.

Chris Gmyr (34:03)
Yeah, let's wrap it. Thanks for listening to the Caffeinated Podcast. Show notes and all the links and social channels are down below and also available at Slightly Caffeinated FM. Thank you for listening and we'll catch you next time.

TJ Miller (34:15)
Sick, thanks.

Creators and Guests

Chris Gmyr
Host
Chris Gmyr
Husband, dad, & grilling aficionado. Loves Laravel & coffee. Staff Engineer @ Curology | TrianglePHP Co-Organizer
TJ Miller
Host
TJ Miller
Dreamer ⋅ ADHD advocate ⋅ Laravel astronaut ⋅ Building Prism ⋅ Principal at Geocodio ⋅ Thoughts are mine!
AI Writing Style guides and integrating Go with Laravel
Broadcast by