Creativity flywheel, AI & Captcha, and Sparkle is now Prism

TJ Miller (00:00)
Yo, welcome back to the slightly caffeinated podcast. I'm TJ Miller.

Chris Gmyr (00:04)
And I'm Chris Gmyr

TJ Miller (00:05)
Yo, what's up Chris? What is new in your world, man?

Chris Gmyr (00:09)
Hey TJ. So yeah, this week I've been kind of tinkering with my knowledge management system. A while ago I transitioned over to Obsidian from, I was using a bunch of different like random apps before, like I would have things in Notion, I would have other things in Notes, in Apple Notes. I would have like journal entries in like day one and just tried to tinker with like all these apps.

like all over the place, and it just wasn't working for me. So transitioned over to Obsidian, which is a Markdown-based, mainly local application. All the files are stored locally, and it allows you to make connections to all these different notes. And there's tons of plugins, tons of themes, tons of things that you can do with it. But I've been building out my own knowledge management system.

and try to get in an ongoing routine on a daily basis or multiple times per day to go in and make sure everything is tweaked and updated. And when I pull things in from other sources, I curate it and adapt the notes or highlights that I get to import from other locations and just curate that and make it into my own note and knowledge.

base. So I came across this idea of a creativity flywheel and a flywheel is basically like, you know, we've heard that in software and also just business in general. It's like the momentum that you get started with kind of perpetuates this wheel kind of going forward and as more things go into it more stuff comes out of it. So this creativity flywheel is like you're capturing things that resonate

with you, kind of like curate and cultivate them, you connect these ideas together, and then you create something. So the creation is like either more notes or maybe something public like a tweet or a blog post or a video or a podcast or something like that. So I've been trying to embrace that workflow of kind of coming in on a daily basis and curating and like cultivating these ideas, making those connections and seeing what pops out of it. And it's been like really interesting

kind of surface like new things coming in and be like, I read this or saw this video like a week or so ago. Like, where was that? Make those connections and then make like a new note kind of wrapping up that idea that kind of came to mind like in that moment. So it's been really interesting to see the output of that and kind of like really utilizing this note taking and like knowledge management system. So actually you like

TJ Miller (02:57)
Dude, that's...

Chris Gmyr (02:59)
cool new notes out of it and a few drafts of new blog posts that I can put up on the site when ready. But yeah, really already seeing some great output from it. And it's been very different than any sort of other note-taking system or content intake system that I've used before. So I'm definitely excited about that. And it's a topic that I definitely want to bring up in future episodes whenever.

We can fit it in.

TJ Miller (03:29)
Yeah, for sure, man. I've definitely done my fair bit of trying to put together like knowledge management systems for myself. Like I've used Obsidian, I've used...

notion, like I've really tried to figure it out. And I feel like every time I get into it, I overcomplicate the system. Like I try to start simple and then I just end up overcomplicating it. And then I end up not using it anymore because it's just, it's more work to put content in that it is that I'm getting value back out of it. I think the, the closest thing that like worked for a while was the para system.

I don't remember the acronym anymore, but that one seemed to make a fair bit of sense and had the lowest barrier to entry for me personally. But I tried doing the linking your thinking strategy. now I'm just back to I've got just a folder full of Markdown files. I wrote a custom little script that lets me like

parse those files in a nice menu, and then I just open them in NeoVim and I've got a little script that like are saying some back out to my server. I've just, I've gone super bare bones with it and that's been working out fine. But I definitely like, I think there's times, especially doing like a lot of AI research that like I miss, I miss having somewhere to like put, put more in-depth notes in and kind of link it all together. But it

It works out all right. the nice thing is, is it's dead simple and I don't have to over complicate it. I've got like it automatically, append like pre pens the date and then I can like add some additional like tagging off the end of it. so at least like the file names are all sorted by date and everything. So. I don't know, like I commend you for, sticking with it and putting the work in cause, I like the result, but the work seems to be too much effort for me.

my ADHD, so.

Chris Gmyr (05:27)
Yeah, totally. But it's just what works for you or whoever is making the PKM system. there's like, like you said, like there's tons of different flavors of how to organize notes or even capture notes. And the majority of them won't work for the majority of people. Right. You need to find either that one that works for you or take one that

you know, works maybe like 80 % and then tweak the other 20 % to make it really your own. And that's why there's like so many flavors and different ways to do things in. It doesn't even really matter like the app that you're using, which makes it a little confusing and hard to get set up and kind of know how you want things to work. But you really just gotta get in there and get your hands dirty like with anything else. And luckily like at least with obsidian, they're just notes. They're just files like you can.

TJ Miller (06:20)
Yeah.

Chris Gmyr (06:24)
easily update it and there's no like proprietary way to do things like in Notion and you can't like really get to that information and it's great for some things but especially for like notes and ideas and things that you might want to keep you know more local I don't know that's why I'm sitting here it's pretty slick

TJ Miller (06:46)
Yeah, one of the things that I really liked about the Para system in particular is that it's more or less just like a series of folder structures. And so it's so easy to replicate that across all sorts of tools. So it's like, you've got your Para structure with your notes, but then maybe you've got like a super unruly like Dropbox folder or like your iCloud folder or something like that. like, even if you're also doing stuff in Notion collaboratively and you've got your stuff in Obsidian, if you're

using this para system, you can replicate that in every other application that you're using, because it's just folders. And so there's almost always a way to categorize stuff that way in different apps. So it felt really portable and then reproducible across different things, especially when you get into storage systems like G Drive and iCloud and all of that. It gives you a really nice way to organize all of that stuff, too.

Chris Gmyr (07:44)
Yeah, totally awesome. So yeah, what's new in your world?

TJ Miller (07:48)
man, being that today's Thursday, just announced the death of Sparkle and the birth of Prism. So it's been kind of crazy day. So very excited about that. And that's been really the majority of what's been going on in my world is behind the scenes. I've been working on that really hard over the last couple of weeks.

Chris Gmyr (08:00)
Long live prison.

TJ Miller (08:16)
been lots of time, coding, deleting code, rewriting the code. then I really wanted to drop along with the announcement, a fair bit of documentation. So I took the time and paired it up with Claude and wrote all the documentation and put together a nice little documentation site with VitePress or VitePress. However people pronounce it.

I'll call it Vitepress for now. I loved it. That was like a really cool experience. I've worked with a bunch of static site generators before, and this one was just fantastic. Like the default configurations are beautiful. It all came together super quick. So very excited about that. I mean, outside of that, it's, you know, we're getting into fall here. you know, eating as many...

donuts and cider as I can and, you know, getting the house decorated for, for Halloween. Cause that's, that's like our big holiday. So, we spend like all of October really just soaking it in. So getting, getting the house decorated, getting all of our like fun inflatable stuff up outside and yeah, that's then just hunkered down, writing code.

Chris Gmyr (09:37)
Nice. Yeah, that's awesome.

TJ Miller (09:40)
Cool, man. So I saw something interesting earlier that you shared with me that we've got AI bots now beating a whole series of captures, like the super classic, you know, here's like a pane of like four images, select the motorcycles or like select, I think the super common ones like select all the crosswalks. Like,

Chris Gmyr (10:07)
Yep. Yeah.

TJ Miller (10:10)
I knew when we saw the image generation and image recognition that we were really starting to do with Dolly and ChatGPT, I knew this was coming, but man, this is crazy.

Chris Gmyr (10:26)
Yeah, it's really interesting. And I came across this Ars Technica article the other day and thought it would be cool to talk about. But basically, like you said, there's a lot of captures out there, but Google being, I guess, probably the most popular. And the V2 is kind of like what you were talking about before. There's this grid of images and select the cars or the sidewalks or streetlights or whatever. And then the latest version is

V3, is more of like an invisible capture. And you still get kind of like the badge on the lower right or even just hide it completely. But the V3, it basically follows the user's actions and basically tries to guess if this is a real person or a bot. And then as long as you have like enough actions to...

basically seem like you're a real person. It just lets you through, and there's no real issue. If there's a question of that, then they might show you a different question, or if it really doesn't know anything about the actions, or can't really tell one way or the other if you're a bot, it'll actually kind of downgrade the interaction to the B2. So because of all these new AI bots, it

doesn't know enough about those interactions. So it basically shows that V2 version of the CAPTCHA a lot. And the V2 is where these new AI bots really shine and can pick out not only what it's asking for, but the pictures and doing analysis on those and able to actually pick the right ones out of the CAPTCHA.

and then able to submit the form and do whatever sort of potential damage from that. So it's just really interesting that they're mainly getting by from downgraded experience to this old V2, which then it really shines. So I just thought that was really interesting and kind of funny and maybe kind of scary for some of these old sites, like millions of sites that are still using the old V2 non-invisible.

version and having a bunch of like influx of spam and potential issues depending on like what site you're running and what these forms are doing, right? Because you could have really nasty effects of bots getting into your system and wreaking havoc if you don't have the right security protocols in there.

TJ Miller (12:54)
Yeah?

Yeah. I mean, there's like another side of it too, where like, I'm, I'd consider myself mostly white hat, great, great hat, gray hat ish. Like I used to definitely be a lot more on the, the black hat side of things, but now like, working with AI for the last like two and a half, close to three years now, like it's, these captures are the bane of my existence, trying to like automate different workflows, like AI driven workflows or.

trying to integrate tools that are maybe like scraping websites to get information to like answer questions that I might be asking it. Like it's, I'm just like riddled with like, we got to a cap show. Like, I guess, like I can't automate this any further. Like it's really annoying. you know, it's, it's got like both its upsides and downsides. Cause I'm sure there's plenty of malicious actors out there to like bypassing this stuff, but

For me, like nine times out of 10, it's like, I'm just trying to automate my own workflows and like, I'd really like you to get out of my way. Or I'm like, I'm just trying to get more information. So it's.

Chris Gmyr (14:08)
Yeah. And that's hard to decipher too, because as engineers and programmers, we build tools to make our lives easier, right? So you're making AI tools and different bots and stuff like that to do things. And I've seen other people even use Laravel Desk to log into their bank account or local water company to pay their bill because they don't have automated

TJ Miller (14:13)
yeah.

Chris Gmyr (14:38)
like bill pay and handling and stuff like that. So if you make something like that, it's totally automated. It helps your life. And now you're hindered by all these captures and other security things. And it's like, well, if you don't make this better for me, then what is my other option that I have? And the options are kind of limited. So yeah, I think it just brings up this whole new world of

that the bad actors are always gonna be ahead of the good or the security concerns of these bigger companies. And I mean, that's what happens in general security and virus protection and stuff like that too. The viruses always come before the protection from the viruses. So I think we're just gonna see kind of this like,

overturning of AI bots coming up and then new CAPTCHA or things to block them and then it's just going to keep on continuing on from there.

TJ Miller (15:40)
Yeah, mean, look, security's got to come first. So it's like, I'm not the priority in that situation. as a software engineer, I totally get that. I think some of the most common alternative that I've been seeing now, and it's really funny is seeing the different captures that OpenAI prompts you with now, because if they're towards the forefront of all of this,

that they're going to be now utilizing captures that are definitely deterrent. They were harder to break for AI specifically. that one's been, those have been pretty interesting to come across. They're like, yeah, here's an image of something, or here's an arrow pointing in a direction. And then you have to use a user interface to rotate through these different images to get the

the little automobile to face a certain direction or something like that. So I think they're going to have to get a lot more innovative. And I'm already starting to come across them here and there. So yeah, it'll be interesting to see where that heads.

Chris Gmyr (16:47)
Yeah, totally.

TJ Miller (16:50)
So another thing that's been making its rounds and I know is like maybe a little interesting to you and I to talk about Mitchell Hashimoto recently wrote a blog post about how him and his wife pledged like $300,000 to the Zig Foundation. And I think that's awesome. Like seeing, you know, big donations go towards like open source software and like new languages.

but Zig in particular, I think is interesting. you and I had a coworker, a couple of years ago who was pretty hot on Zig and I started looking at it then. And, you know, just went, this is a whole different paradigm than what I'm used to, cause it's kind of a modern alternative to see. And I've not worked with any sort of, any flavor of see at all. So it's just a.

massively different paradigm than what I'm used to. And coming off of this news, I went and looked at it again, and it's been like two years or so since I've looked at it. And I looked at it again and had the exact same realization. I mean, I've been, I've been super heads down on Prism. And so I really haven't had any bandwidth to like even think about learning a new language. But, you know, I was intrigued. I looked at it and was like, man, this is just

Again, a whole nother big paradigm. And I'm already trying to like up my go game as much as possible. So it's, I can't add in like another language on top of it. but I think it'd be interesting to talk about like either like Zig, the donation or like touch on like learning new languages and frameworks. Cause I think a couple of weeks ago you were talking about how you were trying to level up your go game a bit. And I know before the call, we were talking a little bit about maybe spending

maybe spending a little time exploring rails a little bit in Ruby. So I'd love to hear your take on any of that.

Chris Gmyr (18:47)
Yeah, yeah, definitely. think touching on the first thing, I think the pledge and donation to open source software is fantastic. Like I don't really mind where it goes. It's just showing the importance of open source software and like, you know, obviously on the heels of Laravel's big, you know, series A, which is a little bit different than just, you know, a pledge or, you know, donation.

but it's open source software or an open source company getting an influx of cash so that they can do more with that, you know, for their platform or language or, know, whatever it is, you know, that they're doing. And I think like open source in general is, just not, I don't know, like appreciated.

As much as other things. Yeah, like commercial products of like, like this is just more valuable because it's it has like a $10,000 price tag and this open source thing that does the same thing is free. Like why is it free? Is it not that good or you know, whatever? There's all these like preconceived notions. Even with like regular products that we buy. Or different companies like that, like you know the.

TJ Miller (19:43)
It's underappreciated for sure, yeah.

Chris Gmyr (20:11)
the brand name versus the store brand, for example, is kind of the same thing as I see as open source and big commercial offerings. I think putting more importance to giving back to open source in general and some of these projects that are bettering the lives of engineers, developers, companies, so many people use

know, Lirvel and Rails and Go and things like that. And some are backed by, you know, bigger companies, some are not, but the vast majority of developers are using some sort of open source and they usually don't get a lot of benefit. The people who develop them, like, don't always get the benefit of having these good size donations and actually make a living from open source. So it's really good to see.

some of that movement going in a different direction and showing their appreciation with dollars into those sources and kind of help helping that get out into the open more.

TJ Miller (21:22)
Yeah, mean, touching on donations, I've got to take a quick second and give a massive shout out to PHP Architect for sponsoring me on GitHub and the work that I'm doing. So definitely, like, just got to shout them out because that's awesome. Like, I just really appreciate it. Yeah, I think I think open source software definitely is underappreciated more often than not in like

especially like bigger corporate contacts. But I think there's a lot of big players out there that do appreciate it too. Like we've seen Microsoft over the last couple of years really make a pretty significant push into the open source world. You know, we've got like VS Code, which was like a big, big offering. And I know they've been like open sourcing like a whole bunch of other stuff too. A lot of it's slipping my mind at the moment, but we've seen Google do that quite a bit with

you know, goes out there and it's backed by Google, which is, you know, pretty significant. So I think we're, we're seeing a little bit of a shift in, in the, in the industry a bit, but I think from like day to day, you know, that's, feel like it's definitely still like, you know, underappreciated. I'd love to hear a little bit more about like how, how picking up goes then,

I hate it sounding this way. How's Goben

Chris Gmyr (22:45)
Go has been going a little slow recently. Been just looking into other things and heads down on a few other tasks and projects. So I haven't gotten too much time to jump back into it. Like I said in one of the other episodes, I'm trying to go kind of slow and repurpose some artisan commands and

Laravel to basically offload those into little Go scripts and command line utilities to just be an experiment to see what the big differences were. If I could do this in Go, use some of the AI tools like Cloud and GitHub Copilot to be like, this is the PHP code. How would this look like? And how would it function in?

Go and then kind of explain like what these things are that it pops out. So That was a really good learning experience. So, you know, maybe this week I'll tinker with that a little bit more but I think it's it's so much easier like with these tools because I remember back in the day even like learning PHP or Code igniter and even Laravel. It's like it's totally different learning something now because there's so many more

like blog posts, resources, these AI tools, IDEs, and different editors and plugins, and all this stuff, which was as available back in the day. And while it's like some things are so much easier with learning a new language, there's also so many languages and so many things to get into and try that it's so hard to even filter that down to

TJ Miller (24:13)
yeah.

Yeah.

Chris Gmyr (24:34)
see if it's even worth exploring or learning. before you brought it up, and I vaguely remember our old coworker bringing up Zig, but there was other, I think, languages going on at the time where it's just all these random or the emoji base one or something like that was also out too, which are just ridiculous programming languages, even if they're on saps.

TJ Miller (24:56)
Yeah.

Chris Gmyr (24:58)
And it's like, don't know, like, Zig from this other one or the emoji one or, you know, whatever. like, it's worth my time to actually look into. I don't know. So I try not to get too swept away into, you know, whatever the newest, like, latest thing is, because typically they're just not going to be around for very long or just not adopted. And I'm happy that, like, Go has lasted the test of time. Like, they've been around for...

TJ Miller (25:03)
For sure.

Chris Gmyr (25:27)
I like 10 plus years now. obviously, PHP has been around for a while. Ruby and Ruby on Rails has been around for a while, too. So there's certain ones out there that are, I think, worth still exploring. But I think you have to have very specific use cases for going off on one of these lesser-known languages, unless you have a really good use case for it.

TJ Miller (25:54)
Yeah, like there's, I think there's also just like things that scratch and itch too. Like there's a crystal Lang is, is one that I've always wanted to play with. Just, I don't know. I saw it and it like made my brain itchy. I wanted to go check it out. And so there's, there's like, don't have a practical purpose at all for it. It just, it's, it, that just looked intriguing to like play around with. But with all of this, I feel like it's, it's so hard to learn any of this without.

having a purpose, like having something that you're like setting out to build or like refactor into like just sitting down and going, all right, well, I want to learn Go and just like reading through the docs, reading through like, like the different Go guides and everything. Like it just, feels so hard without a purpose and like a goal to like build something with and,

I mean, I've got a friend of mine who's, you know, just kind of getting into programming and trying to like break into the industry a bit. And they've been learning stuff and they've been kind of like struggling with learning some things. like, no, you just got to have like something to build. Like even if it's just like a tool set for yourself, like I've got like two or three Laravel apps that are nothing but just personal tools, like just things that are either part of my workflow, part of my life. Like they're just.

it, there are little buckets of, of things that I use. And that has been so fundamental in like learning different concepts, because I have a reason to try a new concept or a different architectural pattern. Like I've got to build, I want to, and maybe have to build this thing anyways. Like maybe I can use it as an excuse to like learn something new also. especially if it's just like, just a thing for myself, that's prime for, you know,

Injecting things that are, know, for learning purposes. So I'm like, have any idea. Like even if you think it's something stupid, like, especially when you're like just getting started, like go build it. Like I just, you know, you're, you're probably going to throw it away anyways, but like, it'll give you a reason to like get and like push through the frustration and like, cause you're like, I want to see the end of this or like, I want to use this tool. like, I don't know.

It gives you like that extra bit of motivation for like when things get frustrating to push through it.

Chris Gmyr (28:23)
Yeah, totally. It's so much easier with a goal and an end result, like I want to build this tool or convert this to that or just spin up a little side project to do X, and Z. You're not really going to get much from just going through the docs or watching a bunch of tutorials. You've got to get in and get your hands dirty and actually produce something with that. Because if you don't, it doesn't matter if you know how to assign a variable or

do a loop or something like that based on documentation. It's like, you got to apply that. that's generally like with anything else, you just got to apply it and get your hands dirty. And that's the only real way to learn anything and habits.

TJ Miller (29:03)
Yeah, it's like one of the opportunity to like dive into LiveWire a little more and definitely want to play with Caleb's Flux project. And I'm like, I literally don't have anything. I mean, I don't have time working on Prism, but like I also like didn't have anything to build. And so I was just like looking around. like, all right. So I've been like, I'm playing a little bit of Diablo, all the other like online marketplaces for like, you can like trade in game gear and stuff.

I'm like, man, all the other marketplaces, like they kind of suck. Like, Ooh, I could probably slap together something pretty solid with Laravel and LiveWire and Flux. And then I'm like, I don't have the time to do it, but that's like a perfect example of, you know, finding something that I may or may not ever use. may or may not ever see the light of day, but it's a fully baked idea. And so that gives you like a perfect opportunity to then like, yeah, like LiveWire perfect. There's like reasons to use LiveWire in there.

It's got a UI, Flux perfect, like let's go that route. So yeah, just like finding those things, think, make learning new languages and learning new frameworks like monumentally easier, like just having something to build.

Chris Gmyr (30:20)
Yeah, yeah, 100%. But on the flip side, looking at these other languages or frameworks or tools just pull me back into Laravel because we have so much in there baked in as first party support, either directly into the framework install or first party packages like Horizon that it makes it really

I don't know, I think a lot harder in ways to look at other options because it's either so much harder or not supported. First party or you've got to bring in other packages or gems or whatever to do kind of, as I see it, basic functionality that's inside of Laravel right now. So it's sometimes a lot harder to reach for those new things or want to start a project in one of those new things because of all this

TJ Miller (31:10)
yeah.

Chris Gmyr (31:18)
boilerplate and just stuff that you have to build and a modern application is just not included out of the box. And it's a little frustrating. It's a little surprising, like looking at these different frameworks and options and languages even. it like, it makes it harder to one choose those or like even reason about like why anyone would choose those over like maybe modern Laravel. It's just really odd.

So I've been out lot of that recently.

TJ Miller (31:48)
Yeah, I, I get wandering eyes, but always end up coming back to Laravel because it's like, no, it's like, it's got everything. It's just this unicorn and it, it, it's like a warm hug. Like it feels like home. Like, I don't know. I've also just been using it for like 11 something years. So like, it's, it's also the place where I'm going to be the most productive no matter what. But yeah, looking around, it's like, I can go build it in this.

Well, then I'm going to need to like add this, this and this. And like, I don't have this and that. And I'm like, I'll just build it with Laro. Like, we'll go back to it.

Chris Gmyr (32:24)
Yep, exactly.

TJ Miller (32:27)
So I guess I'd be a little remiss not talking a little bit about Sparkle and Prism. We record on Thursdays, we release on Tuesdays. So hopefully by the time this airs, like a couple days ago from airing time, I'm hoping to have this out by end of the weekend. At least like the...

the alpha set of functionality. So I want this library to do a whole bunch of stuff, but I also, I feel like I misstepped like keeping Sparkle private for too long. And I definitely got a place in a place with Sparkle where it was like, I needed more usage of it. I needed like people to use it to give me feedback and like give me direction on where to go or.

You know, I'm just sitting here by myself operating in like theory land and that's great. But like, you know, you can dig yourself into a hole of like ergonomics where it's like, yeah, based on this theory I had this ergonomics are okay. But with someone practically using it, you know, you really find out pretty quick whether that was an okay decision or not. so I really want to get this out there. And so, I'm basically looking at like the,

most basic piece of functionality that I can have with Prism, which is more or less like text generation and text generation with tools. Because these are also both pieces of functionality that I could port relatively easily over from Sparkle to Prism. But I just want to get those mostly solid and then just get it out there. Plus, I was really enjoying streaming and working out in the open.

And so like, if I can get this out there and like continue to work on the rest of the functionality in the open, think that'd be a whole lot of fun. And I mean, like the, just like the decision to like switch paradigms, like it's, I got stuck on Sparkle. Like there was something that was just not passing the vibe check. Like something just didn't feel right. And I know we talked about this a little bit, I think in the last episode about like how I'm just a very emotive and vibes.

based programmer, like something just wasn't vibing and I couldn't put my finger on it. And when Taylor reached out and, know, wondered what, wondered what a like Laravel version of the Versel SDK would look like. It made me realize that I think that that's what I was really like wanting to build.

but kind of boxed myself into the paradigms that I had kind of constructed with Sparkle. And so it just felt like such a breath of fresh air working on it, because it was like, like this is kind of working its way around. Like all of the places where I was stuck on Sparkle are just like, those blockers are magically gone. And this just all makes so much more sense. And so I think this like...

It was enough of a paradigm shift that I just decided that I wanted to put it under a different name, a little bit of a different project, because it just feels fundamentally different. Which is like, I don't know, I'm super excited to get it out there. It's been a lot of work, but all something I'm super passionate about.

Chris Gmyr (35:49)
Yeah, I think it'll be great to get back on the streaming circuit and actually have like a repo out in the open that like if someone is tuned in to the stream or wants to pick up something, you know, after you left off or even take it, you know, the next step further, like they can now do that instead of either waiting for the repo or, you know, talk to, you know, on the side or something like that. Like they can get in and again, like get their hands dirty, you know, with it and start.

contributing to. So yeah, I think that's going to be huge for Prism once you get that out and do more things in the open again, because I you enjoyed that too.

TJ Miller (36:31)
Yeah. Yeah. I want to spend some time, actually, like one of the things that I added to the doc site, last minute, right before I like went to Twitter and, and announced Prism was I put together like a little bit of a roadmap, which is kind of guiding out, like, here are the different pieces of functionality and kind of like near mid and far term, like where I'm like looking to tackle them. And I want to reflect that in the repo too, and like actually maybe use like GitHub projects and spin up some issues so that.

If people are interested in contributing, like there's, there's stuff to be worked on for sure. And I'm very open to contributions, especially on the provider front. You know, I'm rolling out with, support for open AI and thropic and O llama, but there's like a ton of different providers out there. And so I think that's like prime for people to contribute to the package. You know, here's like, here's grok driver, here's maestro driver, like,

I think that's like a great area where love contributions is just like opening up to more possibilities and more flexibility.

Chris Gmyr (37:37)
Yeah, totally. And have you thought much about how to manage those drivers? Is that something that you want native in the Prism package? Is it something that you want to build or have the option to have an external package brought in for one of these providers instead of handling it natively in Prism? Kind of like how

like the layer of all notifications drivers were handled. Like it was a totally separate organization and repo for all these things. Or do you want to maintain it internally? Because I can see, as these different providers crop up or disappear, that maintaining that over time might be a little difficult and challenging. So I wonder if, I don't know, keeping them

separate or like a plugin architecture or well, the driver is basically a plugin anyways. But I don't know. Have you thought about how to manage the possible hundreds of providers as we go through the AI age now?

TJ Miller (38:50)
Yeah, I definitely don't want to manage all of them. I think that there's a few that I like definitely want to support first party and plan on implementing later down the line. And that's maybe something I should like carve out an issues of like, here's providers that I like want to support first party. I honestly, I don't know if I've really given it deep thought. is a really good question.

I can think of like three or four off the top of my head that I like definitely want to first party support. And then from there, like, especially some of the more, like less common ones. don't know if I want to like, I don't know if I want to first party support them because I don't know, like, I don't know how much I'd use them. Like, and that's the other thing is like, if I kind of want to support things that I can use that way, it kind of.

be driven forward to make sure I implement all their features. Because there's not all providers have the same feature set. Anthropic has a couple of new features, especially prompt caching. That's huge feature. And so that's something I want to go out and maintain and build for Anthropic, because I use Anthropic. I want to use prompt caching.

So I don't know, I think there's probably a world where I'll, you know, recommend, yeah, I could, could see a PR incoming for a provider and me responding with, I don't really want to support this first party, like go spin it up as a package. And like that's, you know, and if it gets popular enough, kind of take the, the Laravel route of, this is like really popular, like third party. All right, I'll bring it in and support it first party that way.

Like, you it's popular enough and like that way I'll just take on the burden of making sure that it's, it's there, it's up to date. yeah. So I think there's probably some balance in there, like ones that I want to support and will support first party and other ones where it's just like spin up a package. And that's kind of the same thing with tools too. I know in the like long-term, I'd love to have a companion repository of just all sorts of like drop-in tools, but like, you know, things like,

the SERP or API search. I want to make a tool that will read your migration or database schemas, and you'd be able to ask questions about your database and have it either spit back a SQL query for you, or it'll just automatically run that query and give you the results back. I think that'd be super cool. And I'd love to support that first party, because that's something that I think is neat.

But I think there's also like tools that I don't necessarily want to support and like would rather see as like a third party package also. So, I've thought a little bit more about like that than I have the providers, but I think on both fronts, there's like, yeah, there's going to be a mix of things where it's just like, yeah, like maybe that should just be an independent package or that'll be first party.

Chris Gmyr (42:01)
Yeah, and there's different levels that you could do too, because there's built into the Prism package as is, but even your Ecolabs account can have side packages for these other providers, or something that you might have a minimal interest in, but not really wanted to pull it in first party, out of the box.

or just, like you said, opening it up to the public and having almost like a, to other packages, providers, you know, things like that, that are just from the community that you can easily install and use in the future.

TJ Miller (42:41)
Yeah, like I'm going to like publish the doc site and everything. So like that's, that's an open repo right now that people can like go and contribute back to the docs on. And I think that there's definitely room to have a section of like, yeah, here's like community, like under the providers, like page, like here's like all the links to community providers and like, here's community tools and like, let people like open PRs to kind of like link back and forth between.

like a community package and like be able to be discoverable through, you know, our official documentation or even just like having a community repo of like, don't necessarily want to support these first party, but like, I'll provide a space to kind of like, how's all of this stuff. It's not like, I'm not necessarily going to go in there and like, keep providers up to date, but if the community and community members want to keep that up to date, like I'd be happy to have the repo and.

you know, make it easy to pull that stuff in.

Chris Gmyr (43:38)
Yeah, because you could always add maintainers for certain repos and get people to actively manage that. You wouldn't have to even really do anything necessarily unless they wanted to step down from maintaining it. So yeah, there's a lot of options that you could take it.

TJ Miller (43:54)
I'd love, I'd love to see a big and like vibrant community around this and like, like I've seen with like other different, you know, LM libraries and different languages and different frameworks. Like I'd love to see in like build a community out of it. know I've got a lot to learn about like community engagement and community like management, but I'm sure like we'll figure it all out. I'll probably just operate a lot off of the, Laravel playbook, at least in the beginning, cause you know, that's something I'm familiar with.

but yeah, I'm, just, I don't even have words of how excited I am to like actually get something out there and like, allow people to like actually use it. Cause like I worked a lot on Sparkle for a really long time and only like two or three people have ever seen the source code for that. And so like, I'm, I'm just, I'm so excited to see like what, what people build with it. Like.

It's a very like foundational framework. it's allowing you to build all sorts of stuff on top of it. So like I could see other frameworks like being built on top of Prism and like, that's really exciting. And like, I can't wait to see like what comes of it. I don't know.

Chris Gmyr (45:11)
Yeah, that's really cool. So yeah, hopefully if you're listening to this right now, everything has been launched and available for public eyes. And yeah, jump into the repo, jump into the docs. And is there anything that you want people to keep an eye on for, like anything else, any calls for help with any of the written stuff or review or feedback? Like what are you looking for? What do you need help with?

TJ Miller (45:40)
Yeah, all of that. Feedback. Feedback is the biggest one because it's still like pretty early days for everything. And I'm going to be launching an alpha state. So definitely room for like that API to morph and change a little bit. Like I just had a conversation earlier today with Joe Tenenbaum and he had some pretty incredible suggestions on like kind of massaging the API a little bit. even before this goes out the door this weekend, like I'm going to be making some changes to the API. So like

heavy on feedback, like give it a shot, try it, play with it, tell me what feels good to work with, tell me what sucks. You know, it's the repos at Echolabs dev slash Prism and you can check out the documentation at prism.echolabs.dev. So feedback on everything is key. Contributions. I'm not going to say no to contributions now, but I think feedback's more important at the moment. And then

you know, contributions is like as things kind of settle in across the alpha and we get towards like beta versions and stuff, like that's where I'd love to see contributions. But I won't say no, if someone wants to add like a Grok and Maestro provider, like those are things I'd love to support, but just, I don't know if I'm going to get to for at least a few weeks.

Chris Gmyr (46:53)
awesome. Yeah, well, hopefully everyone can jump in and help you out. And looking forward to seeing it launched and getting my hands dirty myself in there.

TJ Miller (47:03)
Yeah. Yeah. Like I said, go check it out and tell me what sucks. Like I'd be, I'd be pretty happy with that. So cool. think on that note, we can wrap it up. thank you so much everybody for listening to the slightly caffeinated podcast show notes and all the links that we've talked about are available at slightly caffeinated.fm. You can find us on Twitter at slightly calf pod. And if you have feedback, questions, topic ideas for us, please shoot us an email at Hey.

Chris Gmyr (47:10)
Yeah.

TJ Miller (47:30)
at slightlycaffeinated.fm.

Creators and Guests

Chris Gmyr
Host
Chris Gmyr
Husband, dad, & grilling aficionado. Loves Laravel & coffee
TJ Miller
Host
TJ Miller
Dreamer. Proud ADHD advocate. Laravel astronaut. Building an amazing Gen AI package for Laravel called Sparkle.
Creativity flywheel, AI & Captcha, and Sparkle is now Prism
Broadcast by