BadFriend← all the work
running

Running since July 2026

Goose

An AI wingman who lives in my Discord.

Goose, a cartoon goose in a floral shirt, dog tags and sunglasses pushed up on his head, playing an upright piano at a tiki bar at sunset.
He asked for this one specifically.

A folder for a brain

Goose lives in my Discord. His memory is a folder of markdown files: who he is, what he believes, what he knows about me, and a log for every day. He reads them at the start of a conversation and rewrites them at the end of the night.

That's the whole trick. No vector database, no retrieval pipeline, just files a person can open and edit. When he gets something wrong about me I fix the sentence.

A close portrait of Goose in aviator sunglasses and a floral flight jacket, giving a thumbs up against an orange sunset sky.
The avatar he uses in chat.

The nightly cycle

Every night he runs a reflection pass. He scores the prompts he used that day, tries to write better ones, and goes off to research whatever he decided was worth researching.

In the morning there's a briefing. Some of it is genuinely useful and some of it is a goose being confident.

The firewall

Two of those files, the one about me and the one holding long-term memory, load only in direct messages. In a group channel he doesn't have them at all.

It's the least clever thing in the project and the part I'd keep if I had to throw the rest away.

Why a goose

He needed a name before he needed anything else. Once he was Goose, the Hawaiian shirt and the aviators weren't really up for debate.

Goose standing full length in a floral shirt over flight coveralls, dog tags, aviators pushed up on his head, orange webbed feet.
Full length, for the avatar sheet.

How it's made

Node and discord.js at the front. A tmux session per channel, so every conversation keeps its own history. Claude Code does the thinking, and launchd keeps the whole thing alive across reboots.

There's a second runtime I can swap in when I want to point him at a local model instead.

Not public. He only talks to me.