
1/5 · Furious
"This ships over my dead body."
Something is broken in a way that costs money, data or trust. Security holes, silent data loss, a checkout that does not charge.
→ Stop the release. Fix before anything else.
PILOT - CLOSED - INVITATION ONLYBobby Guru is operating as a limited closed pilot. Features, availability and commercial terms may change before general release.
One direction, held everywhere: late-night terminal. Worn, warm, focused - the light of a CRT in a dark bedroom, not neon cyberpunk. Everything on this page is downloadable and this page is the source of record: if an asset is not here, it is not official.
Bobby knew everything. Now he answers.
Bobby.guru is a premium MCP advisory agent for engineering teams. It connects to your site, reads your codebase and your release, and gives the answer a senior developer would give - diagnosis first, no padding.
Diagnosis before advice
It names the cause before it proposes a fix, or it says it does not know yet.
Never cheap, never vague
Priced for teams that expect an agent to change the outcome of a release.
Honest about what it is
Bobby is a method with a name on it. Every likeness is AI-generated and labelled as such.
Bobby's verdict on a website is a single number from 1 to 5, and every number has a face. Every download is the complete, untouched square photo master. Avatar, icon and emoji sizes - including circular score rings - are created only in HTML/CSS. Never bake a crop, ring, colour or overlay into the photograph.
1
2
3
4
5
1/5 · Furious
"This ships over my dead body."
Something is broken in a way that costs money, data or trust. Security holes, silent data loss, a checkout that does not charge.
→ Stop the release. Fix before anything else.

2/5 · Unimpressed
"It works. That is the nicest thing I can say."
Real problems, none of them fatal. Missing error states, dead weight in the bundle, copy nobody edited.
→ Fix this sprint. Do not let it become the standard.

3/5 · Neutral
"Fine. Boring. Boring is fine."
Correct and unremarkable. Nothing to fix, nothing to point at either. The default state of a healthy site.
→ Ship it and move to the next thing.

4/5 · Pleased
"Somebody thought about this."
Above the line. Fast, accessible, sensible states, decisions you can defend in a review.
→ Keep the pattern. Write down why it works.

5/5 · Delighted
"Now we are talking."
Rare. Everything above, plus one thing done better than it had to be. Bobby quotes it back at other clients.
→ Nothing. Go home.
Rules
Inline badge
Minimum icon size 20 px. Below that, use the unicode square alone - never a downscaled face, it turns into a smudge.
One emoji stands for Bobby.guru everywhere text has no logo - bot avatars, Telegram and Slack descriptions, changelog headers, social bios. It supports the wordmark; it never replaces the mark.
Platform emoji
Stands for Bobby.guru wherever there is no logo: bot avatars, Telegram and Slack descriptions, social bios, changelog headers. One per line, always the first character, followed by one space.
Diagnosis
Opens a root-cause finding. Never used for an opinion.
Shipped
Marks a release note or a completed fix.
Unknown / blocked
Marks an unverified field, a blocker or a governance gap.
A bracketed B: phosphor brackets, white B, set in JetBrains Mono Bold so the mark and the wordmark are the same voice. Five official versions - pick the one with the highest contrast on your surface and never modify a file to make it fit.

Beeldmerk
The primary mark: phosphor brackets around a white B. Default on ink and on any dark surface.
min 24 px · 1024 × 1024

Beeldmerk on light
Ink brackets and ink B for white paper and light interfaces. The phosphor is dropped - it does not hold on white.
min 24 px · 1024 × 1024

Simplified beeldmerk
The B alone, brackets removed. Everything below 24 px, plus embroidery, engraving and die-cut stickers. Never re-add the brackets at these sizes.
min 16 px · 1024 × 1024

Beeldmerk, monochrome black
One ink. Stamps, photocopies, faxable documents, single-colour print.
min 24 px · 1024 × 1024

Beeldmerk, monochrome white
One ink, knocked out. Dark signage, garment print, single-head embroidery.
min 24 px · 1024 × 1024
Do
Don't
Seven official lockups. Every one ships in the formats listed on its card.

Primary logo
The default lockup: mark, then bobby in white and .guru in phosphor. Use this wherever a dark surface allows it.
min 120 px wide · 5841 × 1740

Logo on light
The same lockup for white paper and light UI. The TLD keeps a darker green so it survives print.
min 120 px wide · 5841 × 1740

Stacked lockup
Mark above the wordmark, for square and narrow placements where the horizontal lockup would be forced too small.
min 96 px wide · 3328 × 2259

Wordmark
Text only, for places where the mark already appears: footers, email strips, legal lines.
min 90 px wide · 2160 × 532

Wordmark on light
The wordmark inverted for paper and light interfaces.
min 90 px wide · 2160 × 532

Monochrome black lockup
Single-ink black lockup for stamps, one-colour print and photocopy.
min 120 px wide · 5841 × 1740

Monochrome white lockup
Single-ink knockout lockup for dark signage, garment print and photography.
min 120 px wide · 5841 × 1740
Which format when
Financial and legal paper uses its own lockups. They are always on white, always top-left, and the phosphor is dropped to a darker green that survives a laser printer.

Invoice & receipt logo
Compact lockup with the legal line underneath. Top-left on invoices, receipts, credit notes and quotes. Mark height 18 mm minimum in print; drop to the monochrome black version when the printer is one-ink.
min 18 mm mark height · 5841 × 2109

Letterhead logo
The document lockup without the legal line, for letters, agreements and statements of work. The company and VAT line goes in the footer instead.
min 16 mm mark height · 5841 × 1740

Receipt strip
Narrow one-colour lockup that survives 58 mm and 80 mm thermal printers. No greys, no anti-aliased detail - pure black on white only.
min 40 mm wide · 3326 × 860

Email header logo
The lockup baked onto its own ink plate so it reads identically in dark-mode and light-mode mail clients. Export at 2× and set the HTML width to half.
min 180 px wide · 6047 × 1946

Email footer mark
Muted grey mark for the legal and unsubscribe block. Never phosphor - the footer must stay quiet.
min 16 px · 358 × 358
Signature block
<table cellpadding="0" cellspacing="0" style="font-family:'JetBrains Mono',monospace;font-size:12px;color:#0B0C0A">
<tr>
<td style="padding-right:14px"><img src="https://bobbyguru.com/logo/beeldmerk-light.png" width="40" height="40" alt="Bobby.guru"></td>
<td style="border-left:1px solid #D8DBD6;padding-left:14px">
<div style="font-weight:600">Name Surname</div>
<div style="color:#5A6058">Role · Bobby.guru</div>
<div><a href="https://bobbyguru.com" style="color:#2E8A4A;text-decoration:none">bobbyguru.com</a></div>
</td>
</tr>
</table>Host the header image at 2× and set the HTML width to half. Never rely on a transparent PNG in email - dark-mode clients recolour the background behind it.
Every icon ships in a dark and a light variant, each with a flattened background or a transparent plate - same rule as the avatars. Stores and manifests want the flattened file; transparency is for compositing only.
App icon - 512 · dark
iOS, Android and PWA manifest. Full mark, 14% padding.
App icon - 512 · light
iOS, Android and PWA manifest. Full mark, 14% padding.
Apple touch / maskable - 180 · dark
Extra padding so the mark survives a circular crop.
Apple touch / maskable - 180 · light
Extra padding so the mark survives a circular crop.
Favicon - 64 / 32 · dark
Simplified mark. The brackets disappear at this size.
Favicon - 64 / 32 · light
Simplified mark. The brackets disappear at this size.

Avatar, dark
Default for every product and social account.

Avatar, light
Only where the platform forces a light chrome.

Persona avatar
Bobby himself, AI-generated. Full set and usage rules on the identity page.

Tall guardian banner - 1536 × 864, no text
The taller cut for the TV host profile, video end cards and any placement that needs headroom. Same scene, no wordmark - type is layered in CSS.
↓ bobbyguru-social-banner-tall.jpgJPG · 1536×864
Code banner - 1536 × 512, no angel
The work itself: three screens, a late-night window, no face and no wordmark.
↓ bobbyguru-social-banner-code.jpgJPG · 1536×512
High-tech banner - 1536 × 512
Abstract holographic panels and a network graph - the modern, product-side banner.
↓ bobbyguru-social-banner-modern.jpgJPG · 1536×512The mark that sits in the right-hand corner of the YouTube player, and anywhere else a small badge belongs. 150 × 150 PNG, no animation, far under the 1 MB limit.

Video watermark - transparent
150 × 150
PNG · ~2 KB · the size YouTube recommends, transparent background, white B in green brackets

Video watermark - black
150 × 150
PNG · ~3 KB · solid black background, for light or busy footage

Video watermark - white with black border
150 × 150
PNG · ~4 KB · white tile, black keyline inside the frame, black B

Video watermark - transparent 2×
300 × 300
PNG · ~5 KB · overlays, editors and thumbnails

Video watermark - white 2×
300 × 300
PNG · ~6 KB · white tile with black border, larger placements
A light, blurred “bobby guru” pattern for covering a whole frame instead of one corner. The tile repeats seamlessly; the 1080p overlay drops straight over footage.

Repeating watermark tile
600 × 600
PNG · ~65 KB · transparent, tiles seamlessly across any image or video

Full-frame watermark overlay
1920 × 1080
PNG · ~170 KB · drop straight over 1080p footage at 100 % opacity
Zippen Daniels was Bobby's hidden name on social media. Away from the code and away from his own name, he posted as Zippen Daniels, and this stitched skull sticker was the avatar on that account: instagram.com/zippendaniels. The mark is part of the brand book now. The original olive green version is our error face: when a page breaks, a job dies or a payment fails, that is the one on screen. The other five are recolours for everything that is not an error.

Zippen Daniels - original
Olive green · #8CBF3F
The exact sticker from his account. Reserved for error states: 404, 500, failed payments, dead jobs and anything that went wrong. Never used decoratively.

Phosphor
Phosphor green · #7CF29C
House colourway. Stickers, merch, community and anywhere the brand green leads.

Ember
Amber orange · #F2A65A
Warnings, degraded states, maintenance banners and slow jobs.

Alert
Alert red · #E5484D
Destructive confirmations, account suspension and hard stops. Loud on purpose.

Signal
Electric cyan · #3FC7F2
Playful placements: TV bumpers, Discord, stickers and dev tooling.

Bone
Bone white · #E8E8E2
Print, embroidery, one-colour merch and any surface that cannot carry colour.
Ink
#0B0C0A
Background. The room at 3am.
Surface
#141613
Cards, code blocks, tables.
Phosphor
#7CF29C
Primary. Accents, prompts, one CTA.
Ember
#F2A65A
Secondary. Warnings, unknowns.
Hairline
#2B2E2A
1px borders, dividers.
Ash
#A3A8A0
Body text on ink.
JetBrains Mono - headings, prompts, numbers
Diagnose before you advise.
Work Sans - body
Body copy stays quiet so the mono can carry the voice. 300 - 500 weight, 1.7 line height, never justified, never below 14px.
Radius 2px everywhere. Borders 1px hairline. Both families are open source (OFL) - no licence purchase for print, merch or embedding.
Great question! There are several factors that could be affecting performance.
Your list re-renders on every keystroke. Memoise the row, then measure again.
You might consider adding some tests at some point.
This function has three branches and no tests. Write the two that fail first.
It's generally recommended to follow security best practices.
Your roles live on the profile table. Anyone who can update their row is an admin. Move them.
I'd be happy to help you with that!
On it. Give me the error and the file.
There could be many reasons this is failing.
I don't know yet. Add a log at the boundary and paste me the output.
This looks pretty good overall.
The shape is right. Two things will bite you in production: no retry, no timeout.
You should probably refactor this eventually.
Don't refactor this. It's ugly and it works. Fix the payment bug instead.
Let me know if you have any other questions!
Next: ship it behind a flag, watch the error rate for an hour.
powered by bobbyguru.comSignage and vehicle lettering use the simplified mark in one colour, cut from matte vinyl. Never illuminated, never with a halo.

QR - ink on white
Default. Links to bobbyguru.com, error correction H so the mark can be centred later.
min 20 mm · 660 × 660

QR - ink, transparent
For placing on a light brand surface that is not pure white.
min 20 mm · 660 × 660

QR - white on ink
Knockout version for dark surfaces. Keep the ink quiet zone; never crop it.
min 20 mm · 660 × 660
Everything is black. The mark is the only colour. Merch is for members and the team - it is never discounted and never printed in a second colourway. Artwork is always the monochrome white or simplified mark, supplied as vector.
Tee
Black, mark on left chest at 45mm. Phosphor only.
Hoodie
Black, mark on left chest at 55mm, small wordmark on the sleeve cuff.
Enamel mug
Black, mark centred at 40mm. For the cola-and-code hours.
Laptop sticker
Die-cut simplified mark, 30mm, matte black backing.
Mousepad
Black stitched edge, simplified mark bottom-right at 25mm.
The only accounts that speak for Bobby.guru. Anything else is not us - report it.