Mascot — five candidates

Five ways to draw a smile.

Each is one SVG on a 100×100 grid, so there is no second asset to keep in sync. They are shown large, then at 32px, then at 16px — the favicon is where a mascot either survives or turns to mush, so judge them on the small row rather than the big one.

01

Twoslash

@tesyl/hapi
Idea
Eyes are the ^ of a twoslash type query — the marker already in every code sample here.
Risk
Reads as a face first and a type query second. The joke needs the code samples nearby to land.
02

Marker

@tesyl/hapi
Idea
No new vocabulary: it is the headline highlighter stroke, curved.
Risk
Two dots and a stroke is the most generic smiley there is. It depends entirely on the wordmark beside it.
03

Chip

@tesyl/hapi
Idea
A rounded square survives being an app icon, an avatar, and a favicon.
Risk
The most conventional of the five. Safe, and says nothing about types.
04

Optional

???
???
?@tesyl/hapi
Idea
The left eye is a ? — the character that makes a thing optional.
Risk
Asymmetric, so it is the first to break when small. Check the 16px row.
05

Return

@tesyl/hapi
Idea
The mouth is an arrow returning into itself — a value coming back.
Risk
Most abstract. Also the only one that still works if the brand stops being yellow.

Nothing here is wired into the site yet. Pick one and I will make it the favicon, the wordmark lockup in the header, and the open-graph image.