AI Tinkerers - "One-Shot"
00:09:13 · Joe Heitzeberg, Luke Harries
[00:09:13] S1: Yeah. But I [00:09:14] S0: was like, oh, well, just like lock in for an hour, made a quick video, wrote a tweet thread, and launched it. And, yeah, I I think quite early on, we got a retweet from Gary Tan. [00:09:24] S1: Nice. [00:09:25] S0: And that was the first initial spike. Nice. And then it like plateaued... It like very quickly got thousand, 2,000 stars, and then plateaued. [00:09:32] S1: Yeah. So I [00:09:33] S0: was like, oh, that's pretty cool. Like, what other channels could I share it on? So I wrote a hacking news post, and then that took it like past 3,000 stars. Cool. And and then there's been a few things after that. But the biggest thing was like, I genuinely didn't think anyone else would use it. Yeah. But kind of the learning from myself. And do you know Simon Willison? Yeah. [00:09:50] S1: Of course. [00:09:51] S0: Yes. He has fantastic blog. And one of his pieces was always like, you owe it to yourself for every project you do to just write about it. So I saw it as like, okay. Let's launch it, get it out there. And it's been really cool to see all [00:10:03] S1: these different [00:10:04] S0: people using it. [00:10:05] S1: Well, I have a lot of questions about your motivations going in and then what has actually happened since with the usage. [00:10:09] S0: Yes.
00:10:09 · Luke Harries, Joe Heitzeberg
[00:10:09] S0: Yes. [00:10:10] S1: I'll have to tell you last night, I did install it. You know, I got... It was a very simple process. I found it pretty elegant. Kind of it... You you launch it, and it's like, oh, I need to index, and it's it's clearly doing a sync. Yeah. And there's a little bit of output, which is itself kind of fun. Yes. Because I'm like, oh, yeah. Stream comes through. Real private messages of some close friends, then there's, like, crypto spam groups that I got added to that I haven't left yet or whatever. And then there's, like, a group chat, and it's... You get a sense of, like, you're reliving your recent conversations just by looking the... At the logs. [00:10:39] S0: Yes. [00:10:40] S1: And then it's Yeah. Yeah. And then it's ready, and it's clearly ready to be used. Of course, getting MCP set up with a client is a little bit of a technical exercise. [00:10:48] S0: Yes.
00:10:48 · Luke Harries, Joe Heitzeberg
[00:10:48] S0: Yes. [00:10:48] S1: Yeah. Yeah. Worked perfectly. And then first thing I did was, like, summarize all my recent conversations. There it was, you know, you know, you're on a crypto spam list, and you... Looks like you're talking about this with these people and, you know, breakfast with Luke tomorrow or whatever. And it was, it was great. And I was a little scared to use it to send messages. I'm not a heavy user, and I was, but I could tell, like, this is this is interesting, the simplicity of these things. A bunch of questions, technically, guess, for Yeah. The motivations are like, where is the data going? You know? When it's in my WhatsApp app and it's encrypted, now I'm on MCP. I've installed your thing. It's sub purpose running on my laptop. Part of it's inferring in the cloud. [00:11:26] S0: Well, no. Actually, the only thing it's running is... So it uses the WhatsApp device API. Yeah. So it speaks directly to WhatsApp. [00:11:34] S1: Okay. [00:11:34] S0: And all your messages are on your computer. [00:11:36] S1: They So be the exact same. The auth was a great step, by the way. The QR code that spits out in the terminal. That was cool. Yeah. Yeah. Worked great. [00:11:43] S0: I don't know how how I cursor did that, but worked out. It was... So it's like At first, it printed out a raw string, and I was like, turn it into turn it into QR code, and it did. [00:11:51] S1: Just for people who don't know what we're talking about, you install the the server and run it, does its indexing, and then it literally prints on the terminal output a QR code.
00:11:51 · Joe Heitzeberg, Luke Harries
[00:11:51] S1: Just for people who don't know what we're talking about, you install the the server and run it, does its indexing, and then it literally prints on the terminal output a QR code. [00:11:59] S0: Yes. [00:11:59] S1: And you scan, and that's the auth for WhatsApp. [00:12:01] S0: Yes. [00:12:02] S1: Okay. So now I have a secure connection, and I'm connecting via that secure connection from my laptop directly to WhatsApp [00:12:08] S0: Yeah. Just like they the [00:12:10] S1: Their own API. [00:12:11] S0: Browser WhatsApp web. Okay. [00:12:12] S1: Yeah. And then... Okay. So then when I issue a query in in, in Claude Yes. And it says, okay. I need to call this tool or do this Yeah. MCP call. What's happening then? [00:12:22] S0: Yeah. So the vast majority of read calls Mhmm. It's already got all the messages saved in this local SQLite. [00:12:29] S1: Makes sense. [00:12:30] S0: And so it can just clear... And so the cool thing is, like, you know, WhatsApp's very precious and fantastic service Mhmm. But you really don't want to get blocked by it. Yeah. And so you can do, like, as much querying as you want this local Yeah. SQLite bit. And that's all local. And then if... When you come to send messages, that's when it's actually, like, fires back through WhatsApp web. There's a few other cool bits, which is [00:12:53] S1: What about the info... If I said, you know, summarize my conversations, are you taking all that SQLite cache, pushing it up to somewhere?
00:12:53 · Joe Heitzeberg, Luke Harries
[00:12:53] S1: What about the info... If I said, you know, summarize my conversations, are you taking all that SQLite cache, pushing it up to somewhere? [00:12:59] S0: So it's... The way that the MTP interface works is you expose tools. Mhmm. And so one of the tools is query my messages. Yep. And it, like, literally just... You can pass in filters. So it's like, who's it from, date range, keywords, blah blah blah. And all the... And so your MTP client, like Claude Claude. Will write that query. Yep. It will get those messages, but it just goes back to your Claude. [00:13:26] S1: So Claude in the cloud though is gonna compute on my website. So those are the trust factors I have to trust. [00:13:31] S0: But you're actually specifying, like Sure. Yes, run this query. Yeah. And then it gets in, returns it. And the step, like, I've left as an exercise to the reader is, like, you can make it fully secured by doing a... Like, instead of using clause, you could use a local LLM Yep. Which then like... They're never leaving your personal computer. But yes, at the moment, it does it does... The messages you explicitly tell it to search. It will search and expose to call. [00:13:57] S1: I'm jumping jumping a couple steps ahead for a second. The thing that I immediately saw from it, going back to your original tweet around email, WhatsApp, and and calendar, was to build a cloud... Or an MCP server. Yes. Or client. Sorry. I wanna build a a client in my server infrastructure that uses this MCP WhatsApp interface behind the scenes as part of an app that is providing a service.
00:13:57 · Joe Heitzeberg, Luke Harries
[00:13:57] S1: I'm jumping jumping a couple steps ahead for a second. The thing that I immediately saw from it, going back to your original tweet around email, WhatsApp, and and calendar, was to build a cloud... Or an MCP server. Yes. Or client. Sorry. I wanna build a a client in my server infrastructure that uses this MCP WhatsApp interface behind the scenes as part of an app that is providing a service. [00:14:24] S0: Yeah. [00:14:24] S1: So wanna automate my... Part of my WhatsApp interfacing with my community or my business or for my business Yeah. As me [00:14:32] S0: Yes. [00:14:32] S1: Natively as me, but with agents. Right? [00:14:34] S0: So what's... That's why I actually built first. Yeah. And so the way I built it is I was... If you look at the code... [00:14:46] S1: We should look at the Yeah. [00:14:47] S0: I can show you the code briefly. So, yeah, what you've got here, you've got this bridge, which is all the Go files, and you've got the MTP server, and so these are the Python files. And if you look, I've actually have an extraction whereby whatsapp dot py is all the, like, business logic. But then there's a very thin wrapper in main dot py, which just takes each of the functions in WhatsApp dot py, adds a nice arg string, and adds a at MTP dot tool, which is just like a Python line Mhmm. Python client to expose it. But but... And what this does is it makes it very easy for your MTP clients to access your MTP tools. Mhmm. But what's interesting about this MTP system is it's actually mainly set up for, like, human interaction in the loop doing approvals.