Slightly Caffeinated

TJ Miller and Chris Gmyr discuss their latest projects involving AI, Obsidian, and Iris, sharing insights on managing context windows, building AI tools, and organizing digital knowledge. They explore practical techniques for enhancing AI workflows, integrating social media scraping, and optimizing note-taking systems.

Ask a question, suggest a topic
Podcast
Chris
TJ
References Mentioned

Creators and Guests

Host
Chris Gmyr
Husband, dad, & grilling aficionado. Loves Laravel & coffee. Staff Engineer @ Rula | TrianglePHP Co-Organizer
Host
TJ Miller
Dreamer ⋅ ADHD advocate ⋅ Laravel astronaut ⋅ Building Prism ⋅ Principal at Geocodio ⋅ Thoughts are mine!

What is Slightly Caffeinated?

Join Chris Gmyr and TJ Miller as they dive into the world of PHP, Laravel, and all things programming, while also sharing insights on family life and other musings.

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)
So Chris, what's new in your world,

Chris Gmyr (00:07)
⁓ too much this week. We got a lot of stuff going on. We are going camping with the Scouts tomorrow. So we're recording on Thursday. So I have the day off tomorrow and going camping from Friday afternoon to come back on Sunday. And then it's a quick turnaround for me because on Monday I head out to Chicago for an engineering team offsite until Thursday.

TJ Miller (00:09)
Yeah.

Woo.

Chris Gmyr (00:35)
⁓ then fly back on Thursday. My mom is also coming in on Thursday, because it's my daughter's birthday at the following week, but that weekend she's, next weekend that she's coming in for, we're going to the beach. So, that's what my daughter wanted for her birthday gift, activity, whatever for this year. So just going to be bouncing around and.

doing the beach for the weekend, coming back the following Sunday. So it's just a whole lot of travel, whole lot of stuff, prepping for things that are still a weak way, just less time at work for a condensed week. So just trying to keep everything straight, have like a million lists going and things to tick off, and just trying to do my best.

TJ Miller (01:14)
Bye!

Yeah, I very much understand that. Yeah, it's a lot going on, man. Camping sounds pretty fun. Yeah, I want to get out and do a camping trip soon before like summer heat hits, but it's April in Michigan is such a gamble. Our, my wife and I's wedding, 17th wedding anniversary was yesterday. Yeah, thank you. And we were just, we were at dinner and we were talking about

Chris Gmyr (01:38)
nice. Congrats.

TJ Miller (01:45)
just reminiscing about like our wedding and everything and we remember it was so cold when we got married like we were bundled up it was absolutely freezing and raining and yeah I just remember it being like we just remember being like so cold and it's like late April you know and so we've had like a big mix of like 70 degree days and then like back into the 30s and it's just been all over the place

Chris Gmyr (02:03)
Yeah, yeah.

TJ Miller (02:10)
But I forgot where I was going with that. But yeah, we want to go camping. So yeah, I want to go camping, but I don't want to like have that happen where it's like 70 degrees and then like all of a sudden we wake up and it's 30, you know? But I want to get out and camping before the summer heat really sets in too. So I don't know. That's a big goal for this year is to like get out and do a little bit of like camping with the kiddo. He's been wanting to go really bad.

Chris Gmyr (02:14)
You wanna go camping.

TJ Miller (02:38)
Yeah, so like I knew in my world we had a wedding anniversary. That was great. Had, I think, our best wedding anniversary dinners like we've ever had. Like we, we tried to go out to like a nice spot for our anniversary and everything. And like I was bouncing around around a couple of places and like settled on this Italian Mediterranean place. And dude, this food was

Chris Gmyr (03:00)
Sounds good.

TJ Miller (03:02)
out of this world. ⁓ my gosh. I cannot believe it. So that was great. And then over the weekend. So my son's really into rollerblading right now. Like I got him new roller blades a couple of weeks ago. He comes home from school, immediately puts his blades on and then just like leaves. Like goes off, skates in the neighborhood, goes over to his elementary school he went to and like skates around there. I love it because

Chris Gmyr (03:19)
Nice.

TJ Miller (03:26)
Technology is great. I've got he's got an iPhone so I can like track him and like figure out where he's at make sure he's safe and everything but in a world where like It seems less and less common it Reminds me so much of like my feral childhood, right? Where we like it was like be back when the streetlights turn on and like out of the house Go get out go leave go have fun do things be a kid. So

It reminds me a lot of that. And so that's been a lot of fun seeing him get like really into it. But when he first got his skates, he wanted to go to the skate park. So I took him to a skate park. It was packed. And he was just so overwhelmed, really intimidated. And honestly, I was really blunt with him while we were there. I'm like, but I think this is over your head right now. He was really discouraged. like, we ended up leaving without him really doing any skating because it was just like he tried, he tried to roll in it's.

It feels like a lot like a pump track, but it's all like bowls and like hips and stuff. So it's like, can just kind of like pump and vibe through the whole place, which is cool. So he like dropped in like a little roller and like ate shit and like, it was just a big mess. So we left. But a few weeks go by and we went back and he is now just like jamming through the bowls and like rolling in everywhere. like, it was so fun.

And I got out and busted my skateboard out and like pumped around a little bit, which was fun. But yeah, it was, it was funny. You know, just, just skating around and I haven't been on my skateboard in a minute. And some kids were there on their scooters too, and they were like pumping my kid, my son up. So like he was doing like bigger stuff and he kind of like, one of the kids like made some comment to me about.

something about me skating and I'm like, hey man, for being almost 40 years old and pumping around a skate park, like, this is pretty cool, man, I'll take it. Yeah. It's not only, like, not only have I not really skated in a park in like, probably eight or nine years, my knees are not up to the task right now.

Chris Gmyr (05:10)
Yeah, I haven't done this in a while. Give me a break,

Like, hey, I am to the point in my life where I sneeze and throw my back out. So I'm pretty lucky to be on a skateboard right now. So give me a break.

TJ Miller (05:26)
Yeah. Yup. Yup.

Yeah. It was so fun. So I see us going back and doing more of that, which is, which is great. But yeah. that's really it. That's all I've been doing. I've been hacking a lot on Iris and we can talk about that too.

But yeah, yeah, that's what we've been jamming on. Yeah.

Chris Gmyr (05:44)
Nice. That's awesome. ⁓

I don't have anything too exciting for coffee, basically. Just enjoying the same thing that I've been doing with the cold brew in the afternoon or cold espresso. And yeah, pretty boring over here. Any changes for you?

TJ Miller (06:00)
No, not really. am cutting back on Monster. You know, I have a coffee in the morning and then somehow managed to get through like two or three Monsters a day after that, which is ridiculous. ⁓ I don't need that much. I know that part of it is like using the caffeine to self-medicate my ADHD.

Chris Gmyr (06:13)
Yeah, that's all right.

TJ Miller (06:21)
But it's so excessive, that's so many monsters. Like, that's just, it's not good. So I've been working on cutting back, so I've really kind of gotten strict about like having my coffee in the morning, maybe a second cup of coffee, and then basically like gating myself of like, between like two and 3.30, you can have a monster. That's your monster window. Like you can have it then and then that's it. So.

Chris Gmyr (06:43)
Mm-hmm.

Yep, totally. It was funny though, because last week when we were talking about Monster and gas prices and stuff like that, it was like an hour later, I think. I got a text message from one of the gas stations about like, save 50 cents when you buy like three Monsters. I'm like, ⁓ they're listening. TJ's got me locked in.

TJ Miller (07:02)
Yep, they're listening. It's in.

my gosh, it's so funny, So yeah, I know we're on a little bit of a time crunch today, both of us are. But I really wanted to dive into some talking about like what I've been doing with Irish, because I've been doing some like pretty interesting things and undertaken a big, a big challenge there. But it's all been really centered around working with this like wiki stuff that you've been working on with Obsidian.

Chris Gmyr (07:07)
That's funny. ⁓

TJ Miller (07:30)
And like I've I've taken your blog posts and I've been starting to like contextualize that into Context for Iris and then I've got Carpathys LLM wiki description. I've got that in there and then I've been kind of I guess to jump ahead and then we'll kind of go back I've been kind of taking the approach like lessons learned from you of of just kind of letting Iris

figure out schemas and templates as we go and just kind of letting it all evolve. I was very upfront when I was talking with Iris about the mission of what we're doing of this is like, look, I'm going to give you content. We're going to work together to synthesize and curate this content. And then your job is to link it all together. So it should be built in a way that like,

I can open Obsidian and find content and explore and reference things. But for the most part, like outside of maybe some journaling, like I'm not going to be writing these notes. It's on Iris to like do all of that really. And that's been a pretty good approach like so far. I haven't ingested a lot, but

I've been starting to like throw links at Iris and get some content in there. Like I had her pulling all my blog posts and a bunch of different things, but like kind of taking a step back to the roots of all of it. So we talked about this before. Iris, part of the Iris experiment that I was running initially was how much can we make this like a direct message experience?

of like, it's me talking with my AI companion and it's like, it would just be like you and I texting back and forth, right? Wanting to use it more in a like, utilitarian sense of like, hey, go do this, you know? I didn't want these like, one-off requests or very specific conversations about things like polluting the context of like,

maybe my main thread of like my main conversation with Iris. So I introduced threads. And so that like the concept of threads is it's everywhere. Like Claude has them, ChatGPT has them. When people first cut their hands on Iris, they're like, where's threads? Like, what is this? And so I built threads. That's been really good.

But on top of threads, this PR just keeps growing. Like, it's crazy. It started with threads. But for me to make sure threads worked in the way that I wanted them to, I just kind of had to keep building up to the point where I can enable the workflow that I'm looking for. And then I can kind of go back through the system and say, yes, threads works. Well, then layered on top of that is this other thing.

And then there's this other thing. So it's kind of been like, well, I know I need to do threads for like context management, but I don't know if I've like got the abstractions right until I keep building more. And so this has gotten pretty crazy. like I built threads. Then it was like, all right, well, I want now that we have clean context per thread.

You know, each thread, we've talked about IRS has like summarization systems. Now those are scopes to each thread. So like the only things that bleed between threads are truths and memories. And then each thread has its own summarization like process that takes place. So I wanted a way to like have a thread have specific context. And this kind of came out of your work.

with your open claw bot in Discord where you have different channels for different topics, right? And so thinking about that is you're really kind of scoping that channel or thread to a like contextual prompt, right? Like this is what this thread is for, this is what we're doing in this thread. like that way, anytime you talk in that thread, it's just always known, right?

Chris Gmyr (11:40)
Yep, exactly.

TJ Miller (11:41)
So

I wanted to mirror some of that. So on top of threads, I built custom prompts where it's there's a whole crud interface for it. We go in there, you give it a title, a title, a description, and then the prompt body. You save those. It's an eloquent record. in the database. But then in a thread, you can pin a prompt or a number of prompts.

So for example, in a thread, if I want to talk with Iris about the LLM wiki, right? Like I have a custom prompt saved that has all of Carpathi's LLM wiki. It's got excerpts from your blog posts in there. And then at the bottom of it, it says, here's the local path to the Obsidian wiki directory. And so whenever I want to talk about the wiki, I just

go into the thread, I go to thread settings, and then I pin that prompt. And that prompt is now always going to be part of the system prompt. So that context is permanent, which is really nice. Then you can have that conversation, and it's not going to lose that prompting because it's part of the system prompt now instead of just part of a messaging prompt.

⁓ and then I did the same thing with skills. skills are pinnable per, per thread and you can pin any number of skills. And that just like permanently adds that context to the system prompting as well. so we're, we're very skill focused. I just didn't want to like, rely on the LLM to like pick a skill where I know if I want that skill and I know we're going to use it.

I'm just going to pin it to the context. It's always there.

So those things worked really well, but I wanted more power user features out of it. Like, I don't want to have to go click on the Settings menu and then go to the thing that I want. So I entered two slash commands. And they're not where I want them. But for a first iteration on slash commands, it's not bad. There's two slash commands.

Chris Gmyr (13:34)
the

TJ Miller (13:45)
There's slash skill and slash prompt and those auto complete to skills or prompts. And then that just triggers pinning them to the thread context. So instead of like having to go through the settings, you can just do it through some slash commands. Oh, it works pretty well. And that's nice for like toggling contacts on the fly of like, I need, I need this prompt in or I want to activate the skill and then do something with it and then like toggle it back off. Like, you know,

So that works really well. But then I'm like, all right, let's get into this. I started feeding content to Iris and then asking Iris to like ingest or like curate, you know, this like go grab this blog post and then ingest it into the system. And

And that led to another request of like, all right, now just go organize everything, right? Like we've dumped everything in here. We've evolved. We've had like a lot of churn in directory structure and templates. like, just go through the whole damn thing and tighten it all up. Like get everything in order, figure out new templates. And I pose it to her as like, all right, in the concept of all of this, you're gonna go garden these notes.

That resulted in like 56 tool calls or something. It was it was nuts. Oh, and that brings me to this. Right. So if we're to be in the wiki, Iris only had shell tools. That's like that's really the only tool she had to interact with, like the file system. So it was like constantly having to come up with like crazy escape string patterns and here docs to like cat into files and.

Then it was like trying to rip, grab, then said, and do all these things to like try and manipulate files. And it was just like wildly inefficient. And it would take maybe three or four attempts to like get the escaping right. And it's just like, this is not cool. So I sat down with Claude and I'm like, Hey, why don't you just build Iris a set of file system tools that replicates your file system tools.

Chris Gmyr (15:39)
Mm-hmm.

TJ Miller (15:54)
of file reads, create files, edit files, glob, delete files. then the read file, for example, has offset and max. So it can narrowly scope in on where to insert stuff. The create and edit file tools get much, much smarter.

So now that we're working with files, I got these file-specific tools. So anyhow, runs through the tools, and it does like 56 tool calls, moving stuff around, updating content, linking things. And it's doing a great job. But all of sudden, the request, everything blows up. The whole thing, just like the system completely collapses on itself. And what I find out happens.

was that we just blew out the context window, like massively. So we're using Sonnet 4.5 for Iris. I'm going to upgrade to 4.6 soon. But it's only got a 200k context window. So we were just blowing it out because a file read or if

I just needed to read a file, it was gonna like cat the file. Now all of that file content is in the context window because we send tool results as part of the messaging chain because it needs to be aware of like what tools are called, what tool results were because that's context, feeding into the next message and so on. So I'm like, great, now I have like a massive context window management problem.

I take a step back and I'm like, all right, I knew this day would come. I knew this day from like day one was going to come where I was being really simplistic about context window management. I basically was just using message count. Right. So we're just going to include the last 50 messages in a rolling context window, no matter what. And we just like, hope you don't send.

a ton of long messages, right? Because if someone was doing that, like sending tons of really long messages, they would hit the context window before it compacted and went to like summarization. So now I had to implement token management, like token based context window management. But it gets so much more complicated than that because

Let's say we're in a loop of tool calls that's like 50 tool calls deep. You know, the tool calls and resolve the arguments and results alone are going to blow out the context window, let alone the message that you sent. So I had to go a step deeper and get really smart about truncating tool call and tool results. And so now we've built this like.

crazy system that

estimates how big your system prompt is, estimates the incoming message, and tries to do a prediction on your token budget for your incoming message. And then as it's streaming that message out, it's on the fly truncating older tool calls and older messages.

and all of that to like make sure you at the very least like fit in the context window. And I'm still in the throes of testing that change. And I'm pretty scared about that.

just don't want like, I don't want missing context, but like we have to manage the context window. And then trying to like expose and visualize that in the front end. What I've done is sort of what clog code does and it's not as reliable as I'd like it yet, but we're showing in the UI at the message of like, this is, like we show like a

horizontal rule across the chat is like this little like, not little, it's like a pretty big like pill that goes across the chat window that's like earlier messages have been summarized. So at least you know, looking at the conversation history, when that compaction hit and turn into a summary and where your like new context begins. Don't try to expose that to the user. But man, it's just.

Chris Gmyr (19:59)
Mm-hmm.

TJ Miller (20:11)
It's spiraled out of control.

Chris Gmyr (20:13)
Yeah,

it seems like lots of big problems to solve and I was thinking when you were talking about the tool calls, I do think those are valuable for the system as it is, especially with multiple people using it on whatever system that they have. But for Obsidian that you're using a four or two, I would take a look at the ⁓ Obsidian

skills that are available from the creator of Obsidian. I don't know if you've seen that repo. I'll put it in the show notes and send it to you. But it has certain skills to utilize Obsidian CLI to write to the files. It has a whole handful of different skills in there. I think there's like three or four of them. But that might be a good one to try on your side too.

TJ Miller (20:42)
I haven't.

Chris Gmyr (21:02)
because installing the Obsidian CLI via the application on the server, that will give you some additional benefits to that and might find and be able to crack those files faster.

TJ Miller (21:16)
Cool. Yeah, I'll definitely check that out. One of the

Like I had I Iris set up obsidian sync and everything like the headless sync on the server that went pretty smooth. But yeah I'll add some of those obsidian skills. The other thing I sent you and I was looking at a little bit was.

graphy, is that what it was? But it's this thing that it's been going around. It's a skill that's like got a set of skills and commands that you use that like, look over your content and generate like, grab crawlable graphs that are meant for LLMs to be able to like crawl through your information and like find stuff. And it's kind of oriented towards

code bases, but there is direct support for for obsidian stuff. And I started trying to play around with it and I was asking Iris if it made any sense to use for the LLM wiki and it's like, you're not really at that scale yet. So you might be able to take advantage of it, because I know you have a ton of content in your system. So it might be useful for you.

We're not quite there yet. think I tried running it on the Iris code base and I just didn't know what to do with the data. So I just kind of moved on, but it looks really interesting. We'll include it in the show notes, but I wonder how much you could make use of that since you've got so much more.

Chris Gmyr (22:41)
Yeah, I've definitely seen this on like Instagram and other socials of people promoting it. I'm always a little hesitant to install some of these things, but this one because it keeps on coming up and it seems pretty well supported and it has a lot of options in it. I might just do a eval on it and see where it goes. Yeah.

I think this could be interesting, not only for the Obsidian Vault, for code bases as well. Because I've definitely noticed more chunking for doing that investigative work when doing a new feature or big code bases and things like that. So this could potentially help with that too.

TJ Miller (23:21)
Yeah, I was thinking about it in regard, like in relation to my PRD generation skill is like part of the process that I lay out in that skill is like, let me tell you what I'm looking to build. We have a conversation about it. Then there's like a research phase and then we have another conversation about it. So like we're kind of like, that's kind of scoping what we're looking to do.

then go and research it. think that research phase could definitely benefit from those types of reports and graphs and stuff of, ⁓ here's where I need to actually target my investigation before we go back and continue the interview process on generating this PRD. I think it makes it so much smarter than trying to just rep around and find stuff. You actually have this mapped out tree that it can crawl through.

Yeah, I definitely want to experiment with it some more on like a code base side of things, but definitely seemed interesting on the Wiki front too.

Chris Gmyr (24:23)
Yeah, for sure. Yeah, I'm going to dig into that a little bit more and, you know, my free time.

TJ Miller (24:29)
Yeah. ⁓

Chris Gmyr (24:31)
There's so

many things that I have like kept or like bookmarked or whatever of like, oh, yeah This seems cool to look into and this seems cool to look into and I just add it into my to do is inbox Also, good getting things done process of like yeah, I'll just throw this in here. I'll organize it or like Look at it later But there's been just so much stuff over, you know the last three to six months that like I never have a have had a chance to get back to it

And I feel like a couple of weeks ago, I'm like, this is crazy. I got like almost a hundred things like in my inbox. I don't like it. There's like some good nuggets in there. There's probably a bunch of things that are now like old and outdated. You know, cause AI stuff is just changing so often. So I hooked up the Todoist MCP to Claude and said like, Hey, go through all the things in the inbox, see if you can grab the content.

TJ Miller (25:07)
Yeah. Yeah.

Chris Gmyr (25:26)
⁓ or use some other tools to see if we can grab the content and rank them all and see what's actually valuable or what things might have fallen off in either popularity or usage or because the models and code have changed significantly. So I did a pretty good job of ranking all of them. I'm like, no, you don't have to worry about this anymore because it's handled out of the box. Or like, hey, this would be really good to use for AI at work.

over here is like a really good like obsidian one. So yeah, it helped me just kind of organize it really quickly and just kind of clear up that list. So now it's building up again, but good. We'll practice to get into, I guess.

TJ Miller (26:03)
Yeah. Yep.

That's what I'm really excited about is I've got links in like a couple of places and I really need to like centralize all of it. But that's what's been kind of cool about getting this system bootstrapped is I threw like I saw on I think your latest Dev Notes newsletter. You had linked to an article about context management with Claude code.

and like the one million context. was, unfortunately it was a Twitter article and those are kind of like a pain to get. So I had Iris install some like tooling to make it easier for her to get it. I had Iris add it to the un-ingested. So the way I have the Obsidian set up, they have like inbox, raw and wiki. Like it's three directories.

So the inbox is for un-ingested things. It's just like a markdown document with a link in it, or a blog post, like a full content blog post, or maybe a link to a blog post, whatever. And then when it comes to ingestion and curation time, like,

I'll deal with that later. But then that gets after it's been like ingested, then it goes into the raw directory and then it's referenced in the wiki directory. So it was, I had Iris scrape that article down and immediately Iris was like, this is directly applicable to what you're currently working on in Iris with context management. And I'm like, that's so cool. You're already making the connections and like,

making this relevant so it's like, great, I actually need to go and read this article because it is directly related to the context management that I'm trying to do with Iris. So I thought that was really cool that the system's already kind of exposing links and relevant things. Because I didn't even read the article. I was just like, here's the URL. Go get it. And through that process, Iris was like, no, this is something you should

Chris Gmyr (28:02)
Yeah.

TJ Miller (28:06)
it's applicable to what you're doing, which I thought was super cool. I'm like, this is exactly why I'm building it. Like the whole purpose is I'm like, want to two things. I want a second brain where can like ask you questions about things. And like you can go and like find relevant stuff. But also like, and that's why I'm a little on the fence about automated curation is like.

kind of want to participate in that curating process to make sure things are relevant, that I do want to hold on to that stuff. So I'd like Iris to drive that process, but I still kind of want a little bit of a human in the loop, or at the very least be able to surface this stuff with like, hey, this is further investigation for you.

Chris Gmyr (28:50)
Mm-hmm.

TJ Miller (28:51)
But man, that was just such a cool moment of like, yeah, no, this is related to the thing you're actively having conversations with me about. So yeah, that was rad, man.

Chris Gmyr (29:01)
Yep. Yeah, that's awesome.

⁓ I send it to you on the side. It's also included in the Obsidian Skills repo that we'll have in the show notes, but they have a defuddle skill in there and you install it via Brew. And that actually grabs ⁓ Twitter and Reddit and a couple of other social, like, kind of scraper avoidant links. So that has been

worked for me for a bunch of intake for different URLs and articles and things like that that I want to grab that Cloud can't do on its own. So that's a nice little workaround. So yeah, quick little install via Brew and then use the skill. I think I have a, I think I set up a memory for, like always use the defuddle skill for Twitter and Reddit and maybe a couple other.

TJ Miller (29:37)
Awesome.

Mm-hmm.

Chris Gmyr (29:54)
URLs, so it'll always just use that and not try to, you know, do a bunch of tries and it's out of the box options.

TJ Miller (30:02)
Yeah, I found a project called like Camufox or something like that. It's a Firefox distribution. The whole purpose of that project is to avoid that stuff, Like avoid the browser sniffing and like bypass all of that so that it looks like it is like a real browser traffic rather than like Playwright, which is going to set like Playwright headers and like

abide by like robot text files and stuff, you know, this, kind of like cuts through all of that. it has a ton more features than I've used it for, but I use that to like get through to Twitter. actually think it even got through one time using curl and like header manipulation, which I thought was really neat. I was like, yeah, do it. That's great.

Chris Gmyr (30:49)
Nice. Yeah. And the funnel is actually made by the same Obsidian maker. So it's a service to grab the content. it tries to grab the main content of the page and converts it to markdown. So it'll try and get like the headers out of there, the sidebar content, the footer, stuff like that to actually get the main content of the web page. I think that's what the Obsidian like Web Clipper uses behind the scenes.

So yeah, definitely check it out. I'll have the direct link in the show notes for there's a website and then you install the CLI via Brew. So lots of options there and just converts it to Markdown automatically.

TJ Miller (31:31)
Wow, this whole defuddle thing is like a whole...

yeah, it's defuddle things like a whole dang CLI project. This is pretty neat.

Chris Gmyr (31:39)
Yeah, so it's been working great for me for the links that I need to grab from some of those social sites.

TJ Miller (31:45)
yeah, no I'm totally gonna use this, this is awesome.

That's great. I just set up a, a thread in Iris for, intake where I, I just, said, I built a save prompt, added that to Iris. And so like, it's just a thread for me to dump things to get filed on the inbox. So I just, just sent a link to this. I'm like, put it in the inbox. We'll check it out.

Chris Gmyr (32:08)
Nice, yeah.

Yeah, I think I need to move my intake from Todoist and just throw it into Discord or the Obsidian Vault and have it do a quick pass and summarize and organize it or see if it's still relevant or not. Because then I wouldn't have to organize it myself and do double duty on that. So yeah, thanks for your chat. I'll do that.

TJ Miller (32:30)
Yeah. Yeah, man.

Check it out. All right. On that note, you want to wrap things up? All right, man. Thank you all so much for listening to the Slightly Caffeinated podcast. Show notes and all the links from things that we talked about in social channels will be down below as well as available at slightlycaffeinated.fm. If you have questions for us or a content suggestion, go to the Ask a Question page on our site and we'll feature it on an upcoming episode. Thank you all so much for listening. We'll catch you soon.

Chris Gmyr (32:35)
Yeah, let's hear about it.