{"$schema":"https://ejfox.com/schema/page-twin@1.json","kind":"project","url":"https://ejfox.com/projects/coach-artie","json_url":"https://ejfox.com/projects/coach-artie.json","generator":"ejfox.com/json-twin@1","data":{"cacheVersion":"2026-05-13-gear-cards","html":"<p class=\"\">Coach Artie is the AI assistant that lives in the Room 302 Studio Discord. He came online in March 2023 and has been answering the studio's questions, remembering its people and running its errands ever since.</p>\n<figure role=\"figure\" aria-label=\"Coach Artie interface\" class=\"\">\n<img src=\"https://res.cloudinary.com/ejf/image/upload/c_scale,f_auto,q_auto:good,w_1280/v1743818354/Screenshot_2025-04-04_at_9.59.00_PM.png\" alt=\"Coach Artie interface\" loading=\"lazy\" decoding=\"async\" srcset=\"https://res.cloudinary.com/ejf/image/upload/c_scale,f_auto,q_auto:good,w_640/v1743818354/Screenshot_2025-04-04_at_9.59.00_PM.png 640w, https://res.cloudinary.com/ejf/image/upload/c_scale,f_auto,q_auto:good,w_960/v1743818354/Screenshot_2025-04-04_at_9.59.00_PM.png 960w, https://res.cloudinary.com/ejf/image/upload/c_scale,f_auto,q_auto:good,w_1280/v1743818354/Screenshot_2025-04-04_at_9.59.00_PM.png 1280w, https://res.cloudinary.com/ejf/image/upload/c_scale,f_auto,q_auto:good,w_1920/v1743818354/Screenshot_2025-04-04_at_9.59.00_PM.png 1920w\" sizes=\"(max-width: 430px) 92vw, (max-width: 768px) 85vw, 900px\" title=\"Coach Artie interface\" width=\"3358\" height=\"1884\" style=\"--splay-rot:0.76deg;\" data-dimensions=\"3358×1884\" class=\"img-full my-8 rounded-sm img-splay aspect-video w-full mx-auto py-4\" crossorigin=\"anonymous\">\n<figcaption class=\"\">Coach Artie interface</figcaption>\n</figure>\n<h2 class=\"\" id=\"version-one-a-studio-assistant\">Version one: a studio assistant</h2>\n<p class=\"\">The <a href=\"https://github.com/room302studio/coachartie\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"external-link group inline-flex items-center text-blue-600 dark:text-blue-400\" data-preview-url=\"https://github.com/room302studio/coachartie\">first Coach Artie<svg class=\"inline-block w-4 h-4 ml-1 opacity-50 dark:opacity-75 group-hover:opacity-100 transition-opacity align-text-bottom\" xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12\" class=\"\"></path></svg></a> was a Discord bot with memory. Alongside each message, he gets the history of his past conversations with that person, the memories he's formed about them, and a random mix of other memories. That mix is what made him feel like a member of the studio rather than a search box. As I wrote in my 2024 year in review, he \"developed into an AI assistant that helps all members of the studio.\" I purposely left out the ability to DM him, to encourage public conversation.</p>\n<h2 class=\"\" id=\"version-two-one-brain-many-doors\">Version two: one brain, many doors</h2>\n<p class=\"\"><a href=\"https://github.com/room302studio/coachartie2\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"external-link group inline-flex items-center text-blue-600 dark:text-blue-400\" data-preview-url=\"https://github.com/room302studio/coachartie2\">Coach Artie 2<svg class=\"inline-block w-4 h-4 ml-1 opacity-50 dark:opacity-75 group-hover:opacity-100 transition-opacity align-text-bottom\" xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12\" class=\"\"></path></svg></a> is a 2025 rebuild as a TypeScript monorepo. One capabilities service sits behind many doors: Discord, Slack, SMS, IRC, email and a web \"brain\" UI for looking inside his head. A Redis queue feeds the language model through OpenRouter, and his memory and state live in SQLite. Capabilities are grouped by what they do: research, memory, the web, development, media, productivity, finance and more.</p>\n<h2 class=\"\" id=\"what-he-remembers\">What he remembers</h2>\n<p class=\"\">What does an assistant actually remember after years of conversations? <a href=\"/projects/coachartie-memory\" class=\"text-blue-600 dark:text-blue-400\">Coach Artie: Memory Analysis</a> embeds all of his memories, clusters them and draws the map.</p>\n<h2 class=\"\" id=\"the-showcase-site\">The showcase site</h2>\n<figure role=\"figure\" aria-label=\"Meet Coach Artie — the showcase landing\" class=\"\">\n<img src=\"https://res.cloudinary.com/ejf/image/upload/c_scale,f_auto,q_auto:good,w_1280/projects/coachartie-showcase/hero.png\" alt=\"Meet Coach Artie — the showcase landing\" loading=\"lazy\" decoding=\"async\" srcset=\"https://res.cloudinary.com/ejf/image/upload/c_scale,f_auto,q_auto:good,w_640/projects/coachartie-showcase/hero.png 640w, https://res.cloudinary.com/ejf/image/upload/c_scale,f_auto,q_auto:good,w_960/projects/coachartie-showcase/hero.png 960w, https://res.cloudinary.com/ejf/image/upload/c_scale,f_auto,q_auto:good,w_1280/projects/coachartie-showcase/hero.png 1280w, https://res.cloudinary.com/ejf/image/upload/c_scale,f_auto,q_auto:good,w_1920/projects/coachartie-showcase/hero.png 1920w\" sizes=\"(max-width: 430px) 92vw, (max-width: 768px) 85vw, 900px\" title=\"Meet Coach Artie — the showcase landing\" width=\"1440\" height=\"1500\" style=\"--splay-rot:-2.09deg;\" data-dimensions=\"1440×1500\" class=\"img-full my-8 rounded-sm img-splay aspect-square w-full mx-auto py-4\" crossorigin=\"anonymous\">\n<figcaption class=\"\">Meet Coach Artie — the showcase landing</figcaption>\n</figure>\n<p class=\"\"><a href=\"https://github.com/ejfox/coachartie_showcase\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"external-link group inline-flex items-center text-blue-600 dark:text-blue-400\" data-preview-url=\"https://github.com/ejfox/coachartie_showcase\">The Coach Artie showcase<svg class=\"inline-block w-4 h-4 ml-1 opacity-50 dark:opacity-75 group-hover:opacity-100 transition-opacity align-text-bottom\" xmlns=\"http://www.w3.org/2000/svg\" width=\"1em\" height=\"1em\" viewBox=\"0 0 24 24\"><path fill=\"currentColor\" d=\"M12 .297c-6.63 0-12 5.373-12 12c0 5.303 3.438 9.8 8.205 11.385c.6.113.82-.258.82-.577c0-.285-.01-1.04-.015-2.04c-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729c1.205.084 1.838 1.236 1.838 1.236c1.07 1.835 2.809 1.305 3.495.998c.108-.776.417-1.305.76-1.605c-2.665-.3-5.466-1.332-5.466-5.93c0-1.31.465-2.38 1.235-3.22c-.135-.303-.54-1.523.105-3.176c0 0 1.005-.322 3.3 1.23c.96-.267 1.98-.399 3-.405c1.02.006 2.04.138 3 .405c2.28-1.552 3.285-1.23 3.285-1.23c.645 1.653.24 2.873.12 3.176c.765.84 1.23 1.91 1.23 3.22c0 4.61-2.805 5.625-5.475 5.92c.42.36.81 1.096.81 2.22c0 1.606-.015 2.896-.015 3.286c0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12\" class=\"\"></path></svg></a> is a one-page editorial site in big serif display type on black, walking through what the agent does: adapts to its environment, remembers what matters, stays cost-conscious, writes its own release notes. It lays out 28 capabilities like a magazine feature.</p>","title":"Coach Artie","metadata":{"title":"Coach Artie","date":"2023-03-21T04:00:00.000Z","category":"Tools","featured":false,"modified":"2025-08-26T19:52:50.000Z","url":"https://github.com/room302studio/coachartie2","tech":["Node.js","TypeScript","Discord.js","OpenRouter","Redis","SQLite"],"state":"evolved","ai-involvement":"ai-enhanced","context":"collaborative","tags":["programming","ai","product","nodejs"],"about":"[[project-notes/coach-artie]]","words":294,"images":2,"imageDetails":{"total":2,"cloudinary":2,"withDimensions":0},"links":4,"codeBlocks":0,"headers":{"h2":4},"toc":[{"text":"Version one: a studio assistant","slug":"version-one-a-studio-assistant","level":"h2","children":[]},{"text":"Version two: one brain, many doors","slug":"version-two-one-brain-many-doors","level":"h2","children":[]},{"text":"What he remembers","slug":"what-he-remembers","level":"h2","children":[]},{"text":"The showcase site","slug":"the-showcase-site","level":"h2","children":[]}],"type":"post"}},"_links":{"self":"https://ejfox.com/projects/coach-artie.json","html":"https://ejfox.com/projects/coach-artie","index":"/projects.json"}}