I have two brands and two mascots. Daring Strategy has a boxy little robot with a filing cabinet for a torso. The Daring Creatives has Sherman, who is a real dog, a Rottweiler mix who wears red goggles and runs Central Dispatch.
Both of them existed as artwork. Illustrations in guides, faces on a page, characters in the fiction.
Now they live on my Dock. They walk around down there, they sit, they lie down, and every so often one of them turns and tells me something specific about the business he belongs to.

That bubble in the screenshot is not a mockup. That is a real number pulled out of Search Console, and the "Work on it" button opens a new AI coding session already loaded with the problem.
Here is roughly how it came together, and the four things that went wrong on the way, because those were the useful part.
Two characters, two completely different ways to draw them
The robot I drew in code. Not by hand in a drawing app, in actual code: a script that says put a rectangle here, put a circle there, shade this side with a checkerboard pattern. It sounds insane, and it took a few rounds of "that looks nothing like him" before it did. But once it works you get something worth having, which is a character you can pose.
Want him to blink? Change one value. Want his arm up? Change another. I ended up with 26 different frames of that robot out of one script — walking, sitting, yawning, reading a file out of his own belly drawer.

Sherman I could not do that way. He is a real dog with a real face, and a script that draws rectangles is never going to get there. So I used an image model instead, feeding it actual photos of him as reference and asking for pixel art.
I asked for four different looks first and put them side by side. William picked one and immediately caught something I had missed: Sherman has a docked nub tail, and every version I generated had given him a full one.
That is the whole reason to show options before building anything. One glance from the person who knows the subject beat any amount of me being careful.
Once he picked, that single approved image became the reference for everything after it. Every new pose gets generated from that picture, so the dog stays the same dog. Same coat, same goggles, same collar, same nub.
A walk is four pictures
This surprised me, and it is the most reusable thing here.
A walk cycle is four drawings. Front leg forward, legs gathered underneath, other leg forward, gathered again. Play those four on a loop while sliding the whole character sideways, and your brain does the rest. It reads as walking.

Seven frames total for Sherman: standing, sitting, lying down, and four walking. Walking left is the same four frames flipped horizontally, which is free and means he can never accidentally look like a different dog facing the other way.
Giving them something worth saying
A mascot that walks around is a toy. I wanted them to be useful, so each one reads its own business.
The robot runs a script that checks about a dozen things on Daring Strategy: how many people visited, whether email signups have stalled, whether a page is collecting search impressions and getting no clicks, whether a site change is sitting undeployed. Every line has to come from a real number in a real file. No estimates, no filler.
Click him and he steps through them one at a time. Bubble, button, next.
The best part is what it found on the first run. It told me the Content Radar had stopped running on July 14 and nobody noticed, and that one file had never gone live because a version number never got bumped. Two real problems, surfaced by a cartoon robot standing on my Dock.
Not everything gets an action, though. Some lines are a stat and nothing more. So each observation is tagged with what it actually is: something to fix, something to look into, or just a fact. A trend line gets no button. It has nothing to ask of you.
The button that hands the job over
When there is something to do, the bubble grows a "Work on it" button.
Click it and a fresh AI coding session opens, already pointed at the right project, with the problem already written out in the box. Not "help me with SEO." The actual situation: this page, this number, this position, go look at the title and propose rewrites, and check with me before publishing anything.
The prompt gets written when the problem is found, by the thing that found it, while it still has all the details. Then it sits and waits until I feel like dealing with it.
Four things that went wrong
The app froze and there was no error. macOS had put up a permission box asking if the app could read my Documents folder, and I had never clicked it. The app was politely waiting for an answer that was never coming, and everything stopped. Nothing crashed, nothing logged. It just stood still. The fix was to make it read files in the background so a pending question can never freeze the whole character.
Clicking the speech bubble did nothing. William tried it and reported that the bubble just vanished. Turns out any tiny movement of the mouse between pressing and releasing counted as picking the character up and dropping him, which cleared the bubble before the click ever landed on the button. Your hand always moves a pixel or two. Now it takes five pixels before it counts as a drag.
I wrote a test that could not fail. After the click bug I added an automatic check that the buttons were where they were drawn. It passed. Then I deliberately broke the layout to make sure the check would catch it, and it passed again. It was comparing the code to itself. A test that cannot fail is worse than no test, because it tells you everything is fine while you sleep.
Sherman was too fast. I built him moving at a normal pace and William's note was that in real life Sherman is slow. So I slowed him to an amble and made him spend most of his time lying down. That is the detail that makes people who know the dog recognise him instantly, and no amount of getting the goggles right substitutes for it.
What I actually took from this
The mascots were sitting in a folder as artwork. Turning them into something that lives on the Dock and tells me about my own business took a session, and most of that session was drawing, not engineering.
The character work was the slow part. Getting a robot to look like the robot, getting a dog to look like the dog. The part where it reads a file and pops a bubble was almost trivial by comparison.
Which tracks. A number in a dashboard is easy to ignore. A dog you recognise turning around to point at something is harder to walk past.