Josh Vaughen Josh Vaughen

brand

The mark for Josh Vaughen and ijosh.com, and every file other sites link to. Paths here mirror the repository: /mark/<file> is mark/<file>, and so on for social/ and photo/. Link to these URLs; do not copy the files.

The mark

A J on a three-by-three grid. Two forms: the mark, in two tones, and the solid mark for anywhere the grey cannot be trusted — mid-tones, photographs, anything under 32px, and every process that prints one ink.

Josh Vaughen
mark, on light
Josh Vaughen
mark, on dark
Josh Vaughen
solid, on light
Josh Vaughen
solid, on dark
FileUse
jshvn-mark-on-light.svgThe mark on white to light grey.
jshvn-mark-on-dark.svgThe mark on dark grey to black.
jshvn-mark-solid-on-light.svgOne tone, light surface. Also every one-ink process.
jshvn-mark-solid-on-dark.svgOne tone, dark surface.
jshvn-mark-resume.svg, .pdfPrint greys for a resume.

Each SVG has a 512 and 1024 PNG beside it, same name with the size appended.

The icons

A charcoal tile holding the on-dark mark. The tile brings its own background, so the icon reads the same on any page.

Josh Vaughen
icon
Josh Vaughen
square
Josh Vaughen
circle
Josh Vaughen
maskable
Josh Vaughen
solid
FileUse
jshvn-icon.svgRounded tile. App icons, favicons at 48px and up. 512, 1024.
jshvn-icon-square.svgSquare tile; iOS rounds it. apple-touch-icon-180.png, 512.
jshvn-icon-circle.svgAny avatar that is a circle. 1024.
jshvn-icon-maskable.svgAndroid maskable. 192, 512.
jshvn-icon-solid.svgFavicons at 16 and 32px.
favicon.icoSolid at 16 and 32, two-tone at 48, in one file.
safari-pinned-tab.svgSingle-color mask; Safari paints it. Tint #ca486d.

On a website

Link the icons from here. Copy only favicon.ico to your site root: browsers probe it on the page's own origin, and it is the one format Google is certain to read.

<link rel="icon" href="/favicon.ico" sizes="16x16 32x32 48x48">
<link rel="icon" href="https://brand.ijosh.com/mark/jshvn-icon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="https://brand.ijosh.com/mark/apple-touch-icon-180.png">
<link rel="mask-icon" href="https://brand.ijosh.com/mark/safari-pinned-tab.svg" color="#ca486d">

Your page's Content-Security-Policy has to name this origin under img-src. Nothing here needs CORS.

The photo

The other half of the identity, and not the mark. A face goes where someone expects to meet a person: avatars on personal accounts. The mark goes where someone expects to meet the work. One crop at every size, so the face sits in the same place at each.

FilePixelsUse
profile.png1024The master, lossless. The best source when a form takes it.
profile-1024.jpg1024GitHub, LinkedIn, X, Slack.
profile-512.jpg512The next rung down when a form caps pixels or bytes.
profile-400.jpg400
profile-256.jpg256
profile-128.jpg128
profile-64.jpg64

The banners

One profile banner per platform, at the pixel size that platform asks for. The mark sits on a charcoal field of its own grid, extended — it is not set on a pattern, it is the lattice, lit. Each is placed where that platform neither crops it nor covers it: all three put the avatar over the bottom-left, and X runs the name and bio across the bottom on mobile. The avatar beside these is the photo.

The field's cells take one of four tones of their own, chosen by a hash of where each cell sits. That is not a random draw — there is no seed and no state, so the field reads as scattered while the same cell stays the same tone in every build. The four are the field's, not the mark's and not the print greys.

FilePixelsUse
jshvn-banner-linkedin-1584x396.png1584×396The LinkedIn profile background.
jshvn-banner-facebook-851x315.png851×315The Facebook profile cover.
jshvn-banner-x-1500x500.png1500×500The X profile header.

Upload the PNG; every one of these takes it. The SVG beside each is the source, same name without the size.

The palette

Every color the site paints, as custom properties, in a light and a dark block. --mark and --mark-muted are the mark's own two tones, read from the artwork that draws them, so they cannot drift from it. Take the values at build time and inline them; a cross-origin @import puts this origin on your render path for twenty lines of CSS.

FileUse
tokens.cssThe palette. The source for every color on ijosh.com.

The rules that matter