Transcription: OpenAgents Episode 077 - Chat UI Buildout
June 9, 2026 ยท View on GitHub
Source: https://twitter.com/OpenAgentsInc/status/1758212579225219464 Wiki source: https://raw.githubusercontent.com/wiki/OpenAgentsInc/openagents/Video-Series.md Media title: OpenAgents - Episode 077: Chat UI Buildout A boring video in which we rebuild our ... Upload date: 20240215 Transcription model: mlx-whisper/mlx-community/whisper-tiny Generated at: 2026-06-01T19:02:27Z
Machine-generated transcript. Review speaker labels and wording before using this as quote-grade source material.
[00:00] Christopher David: Alright, we have the world's worst chat interface here. Let's make it an actual interface.
[00:07] Christopher David: I'm gonna be stealing code from myself. Did a super basic chat GPT kind of clone like,
[00:18] Christopher David: Oh my gosh, a year ago tomorrow. But I got a built this in Lairville using Tailwind
[00:28] Christopher David: and Lairville LiveWire, which I made and up using here.
[00:36] Christopher David: For now let's just get this, I mean not embarrassing.
[00:42] Christopher David: Let's make a kind of boring video. If you like UI hackin, then yeah.
[00:52] Christopher David: But yeah, it may as well show you what I'm doing. I also converted into the using Lairville's Tailwind
[00:58] Christopher David: now just using local stuff. So my URL is localhost. Eight down.
[01:05] Christopher David: I'm using SQLite. Alright, test your passing. Let's stab awkwardly at the end of it until we get what we want.
[01:15] Christopher David: And what I want just to keep restating it.
[01:22] Christopher David: I want to build an agent that can replace my day to day usage of chat GPT.
[01:30] Christopher David: It's more or less working, it's just not quite usable yet.
[01:36] Christopher David: But we're larger just now in the realm of UIUX. We've got the kind of components.
[01:41] Christopher David: Back-end stuff working.
[01:44] Christopher David: Okay. So I have this old codebase, this old Lairville codebase.
[01:51] Christopher David: That I'm going to steal some stuff from.
[02:02] Christopher David: I think I want to start from a clean slate.
[02:13] Christopher David: Let's see if the other codebase.
[02:18] Christopher David: Alright, so routes web, wish I put this.
[02:24] Christopher David: So I have an agent one right now.
[02:55] Christopher David: Well, I just just am hard-coded thing here.
[02:58] Christopher David: Let's do agent chat.
[03:24] Christopher David: Do I have that already?
[03:36] Christopher David: I do. Let's just call this old chat.
[03:49] Christopher David: Let's start by just stealing from this other codebase.
[04:16] Christopher David: I really want that.
[04:33] Christopher David: We use our existing app layout.
[04:44] Christopher David: Okay. So for the chat, it goes to main class.
[05:11] Christopher David: Which shows live wire chat main layout layouts chat.
[05:21] Christopher David: We'll start with the chat layouts.
[05:33] Christopher David: Okay.
[05:42] Christopher David: I'm going to need that stuff there.
[06:10] Christopher David: Okay.
[06:39] Christopher David: Alright, let's just go to what it was wrapping.
[06:52] Christopher David: I have wire chat main.
[07:22] Christopher David: Okay.
[07:52] Christopher David: Okay.
[08:05] Christopher David: Out of curiosity.
[08:11] Christopher David: I'm going to see if I can get it.
[08:26] Christopher David: Okay.
[08:56] Christopher David: Alright, here's what I'm going to do.
[09:24] Christopher David: Okay.
[09:54] Christopher David: Okay.
[10:24] Christopher David: Okay.
[10:54] Christopher David: Okay.
[11:20] Christopher David: Okay.
[11:48] Christopher David: I need age screen on the body.
[12:00] Christopher David: Flex, flex call, age full under that.
[12:25] Christopher David: Okay.
[12:55] Christopher David: Okay.
[13:22] Christopher David: Okay.
[13:50] Christopher David: Okay.
[14:20] Christopher David: Okay.
[14:50] Christopher David: Okay.
[15:20] Christopher David: Okay.
[15:50] Christopher David: Okay.
[16:18] Christopher David: Nice dash scroll bar is custom.
[16:48] Christopher David: Okay.
[17:18] Christopher David: Okay.
[17:48] Christopher David: Okay.
[18:18] Christopher David: Okay.
[18:48] Christopher David: Okay.
[19:16] Christopher David: Okay.
[19:26] Christopher David: Okay.
[19:56] Christopher David: Okay.
[20:29] Christopher David: and
[20:55] Christopher David: the
[21:43] Christopher David: the
[22:03] Christopher David: the
[22:29] Christopher David: the
[22:55] Christopher David: the
[23:21] Christopher David: the
[23:47] Christopher David: the
[24:13] Christopher David: the
[24:39] Christopher David: the
[25:05] Christopher David: the
[25:25] Christopher David: the
[25:51] Christopher David: the
[26:11] Christopher David: the
[26:37] Christopher David: the
[27:03] Christopher David: the
[27:23] Christopher David: the
[27:49] Christopher David: the
[28:15] Christopher David: the
[28:41] Christopher David: the
[29:07] Christopher David: the
[29:27] Christopher David: the
[29:47] Christopher David: the
[30:13] Christopher David: the
[30:33] Christopher David: the
[30:53] Christopher David: the
[31:13] Christopher David: the
[31:43] Christopher David: the
[32:13] Christopher David: the
[32:23] Christopher David: the
[32:33] Christopher David: the
[32:43] Christopher David: the
[32:53] Christopher David: the
[33:03] Christopher David: the
[33:13] Christopher David: the
[33:23] Christopher David: the
[33:33] Christopher David: the
[33:43] Christopher David: the
[33:53] Christopher David: the
[34:03] Christopher David: the
[34:11] Christopher David: the
[34:21] Christopher David: the
[34:31] Christopher David: the
[34:41] Christopher David: the
[34:57] Christopher David: the
[35:07] Christopher David: the
[35:33] Christopher David: the
[35:43] Christopher David: the
[35:53] Christopher David: the
[36:03] Christopher David: the
[36:13] Christopher David: the
[36:21] Christopher David: the
[36:47] Christopher David: the
[36:57] Christopher David: the
[37:07] Christopher David: the
[37:17] Christopher David: the
[37:27] Christopher David: the
[37:37] Christopher David: the
[37:45] Christopher David: the
[37:53] Christopher David: the
[38:03] Christopher David: the
[38:13] Christopher David: the
[38:23] Christopher David: the
[38:33] Christopher David: the
[38:43] Christopher David: the
[38:53] Christopher David: the
[39:01] Christopher David: the
[39:09] Christopher David: the
[39:17] Christopher David: the