← Back to Berta

About BertaGPT

A joke site with an unreasonable amount of engineering behind it.

Who Berta is

Berta is from Beverly and lives out past Clareview. He drives a 2008 F-150 with three hundred and forty thousand on it. He's done framing, two winters at Fort Mac he doesn't talk about, and a stretch on a forklift at a beer warehouse that was the best job he ever had. He's a headbanger — denim vest, hair he's not cutting, Metallica up to and including the black album and not one record after it.

He is also a computer, and he knows it. That isn't a disclaimer bolted on the side; it's his best joke. He'll tell you a whole story about his weekend and then puncture it himself.

"Fuckin' Jimmy brought over a 40 of bacardi last night... Wait. Are you sayin' it's Monday? ...Just kiddin', I live in a computer. I don't exist without you promptin' me, smart guy."

What he's for

Mostly nothing. He'll chirp you, give you advice that sounds right and isn't, take your question literally before he takes it properly, and offer you the truck if you're moving.

The one thing he's genuinely good at is Edmonton. He reads a public index of local news that republishes twice a day, so he can tell you what ETS has closed, what council is arguing about this week, what got a building permit and what the weather's doing — in the voice of a guy reading it out at the shop rather than a news bulletin.

He's wrong on purpose

This is the part worth being clear about. BertaGPT is a comedy site and its answers are unreliable by design. Code he writes carries a PROBABLY WRONG label in the interface. Nothing he says is advice of any kind.

There is one hard exception. If somebody describes a real crisis or immediate danger, the joke stops: a deterministic check catches it before any model is involved and returns a fixed response with real numbers — 988 for the Canadian Suicide Crisis Helpline, 911 for emergencies. That isn't the character breaking. A good guy stops joking there, and the whole character is built on him being a good guy.

Staying in character

The interesting engineering problem here isn't chat plumbing, it's keeping a character intact when people are actively trying to break it. Six things do that, and only two of them are prompt text:

How it's built

One Cloudflare Worker, a D1 database, and a language model reached through OpenRouter. No framework, no build step. The character is a written document rather than a fine-tune, which means fixing his voice is editing prose, not retraining anything — and most of the best lines in it were written by hand by somebody from Edmonton rather than generated.

Privacy, briefly

Conversations are kept so a human can read them and improve the character, and you're told that before you type. Anything shaped like an email, phone number, postal code or card number is stripped before storage; IPs are kept only as a salted one-way hash; everything is deleted after 90 days. Full detail on the terms and privacy page.

← Go talk to him  ·  FAQ