Skip to content
View gogeorge's full-sized avatar

Block or report gogeorge

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
gogeorge/README.md

Hi there, I'm George πŸ‘‹

A handheld console rendered in SVG. The top screen shows what George is working on; the bottom screen shows GitHub stats, top languages, a contribution graph and the latest commit.

πŸ”‹ Batteries included. Screens refresh every morning at 06:00 UTC.


🎨 Creative Developer & Researcher

  • Developer by day, designer by night
  • Currently studying International Business Management
  • πŸ”­ Researching: Language, CNF, and how they can be applied to LLM system prompts
  • πŸ‘― Collaboration: Actively looking to contribute to open-source projects involving UI components
  • πŸ’Ό Work: Open for remote work and freelancing

πŸ•ΉοΈ How the console works

GitHub strips <style>, <script> and class attributes out of every README, so the usual answer β€” build it in CSS β€” is off the table. But an SVG loaded through an <img> renders as its own little document, and SMIL animation inside that document still runs. So the whole handheld is one self-contained SVG file: shell, buttons, hinge, both screens, every animation.

Two details worth stealing:

The text is a real bitmap font. Web fonts don't load inside a README-embedded SVG, and system fonts render differently on every machine. So scripts/lib/glyphs.mjs defines a 5Γ—7 pixel font by hand, each glyph compiled to an SVG <path> in <defs> and stamped out with <use>. Genuinely pixelated, identical for everyone, and cheap enough that ~700 characters of text costs about 30 KB.

Every animation is discrete. A browser rasterises an embedded SVG as one texture, so anything that moves continuously β€” a crossfade, a sweeping second hand β€” redraws the entire console 60 times a second. An early version made laptop fans audible. Now the second hand ticks, panels snap, and the whole thing repaints about once a second. It reads as more of a real handheld, not less. There are no filters either: the shadow is three offset rectangles, because feDropShadow recomputes a full-canvas blur on every repaint.

Nothing renders from empty. Bars are drawn at their final width and the first slot of each rotation starts visible, so if animation is stripped or the image is captured as a still, the screens read as finished rather than blank.

Five shell colours (lime, noir, snow, cobalt, coral), two avatars, and screens that follow whichever theme the visitor has GitHub set to β€” so a black console can show a light UI, or a white one a dark UI. All of it is two lines in content.json.

content.json Everything the top screen says. Edit this, not the code.
scripts/lib/glyphs.mjs The 5Γ—7 font, as ASCII art.
scripts/lib/sprites.mjs The avatars, same idea at 24Γ—24.
scripts/lib/ds.mjs Shell geometry and both screen layouts.
scripts/lib/data.mjs GitHub API β†’ numbers. Degrades to public data, then to demo data.
.github/workflows/refresh-ds.yml Redraws and commits both themes daily.

Want one on your own profile? SETUP.md walks through it β€” about ten minutes, no dependencies to install.

Pinned Loading

  1. EasyRegex EasyRegex Public

    Library that makes it easier to combine and use regular expressions

    JavaScript 22

  2. ml-trading-bot ml-trading-bot Public

    A crypto bot that makes decisions based on an attention-lstm model and the sentiment of the crypto related news

    Python 1

  3. posturify-app posturify-app Public

    A mobile app for detecting improper sitting posture

    JavaScript

  4. cursor-toolbar cursor-toolbar Public

    cursor-anchored macOS toolbar built in SwiftUI

    Swift

  5. readme-retro-stats readme-retro-stats Public

    Retro devices as animated SVG for your GitHub profile README to showcase your stats

    JavaScript