DEV Community

Cover image for Dev Tartan: Deterministic Plaid from a GitHub Username
Lee Reilly
Lee Reilly

Posted on

Dev Tartan: Deterministic Plaid from a GitHub Username

GitHub Copilot CLI Challenge Submission

This is a submission for the GitHub Copilot CLI Challenge

What I Built

I built Dev Tartan, a small, dependency-free web app that generates a deterministic tartan pattern from any GitHub username.

The idea is simple: every developer gets their own "clan" tartan. You enter a username, and the app produces a unique plaid pattern that will always be the same for that username.

Under the hood:

  • The username is lowercased and hashed using SHA-256 via the Web Crypto API.
  • The hash bytes are used to derive:
    • 4–6 colors from a fixed 20-color palette inspired by traditional Scottish dyes
    • Stripe widths grouped into thin, medium, and wide bands
  • A symmetric sett is constructed by mirroring the stripe sequence.
  • The tartan is rendered as layered SVG rectangles:
    • Vertical warp stripes
    • Horizontal weft stripes with mix-blend-mode: multiply
    • A subtle twill texture overlay
  • The pattern repeats across a 500×500 SVG canvas and can be downloaded.

It’s a pure function from username → tartan. Same input, same output. No database, no randomness, no backend.

The entire project is a single index.html file. No build step. No dependencies.

Repository:
https://github.com/leereilly/dev-tartan

Demo

Live demo:
https://leereilly.net/dev-tartan

You can also generate a tartan directly via query params. E.g.

https://leereilly.net/dev-tartan/?username=callumreilly

Screenshot of Dev Tartan

My Experience with GitHub Copilot CLI

I used GitHub Copilot CLI primarily as a thinking partner while building and refining the hashing and derivation logic.

In particular, it helped with:

  • Translating the high-level idea (“turn hash bytes into a tartan sett”) into concrete mapping rules.
  • Iterating on modular arithmetic for color selection while avoiding duplicates.
  • Structuring the symmetry logic for the reflective sett.
  • Refining the SVG rendering approach (layer order, opacity, blending).
  • Sanity-checking edge cases around empty or unusual usernames.

Because the project is small and self-contained, Copilot CLI felt most useful for rapid iteration in the terminal - asking it to explain or refactor small sections of logic, suggest cleaner transformations, and reason about deterministic behavior.

For a single-file, zero-dependency project, that kind of tight feedback loop was the most noticeable benefit.

Made in Scotland from girders.

Note: I'm a GitHub employee, so I'll rule myself out of any prizes. I'd still love the participation ribbon tho'!

Top comments (0)