Glownet — design brief
Glownet — design brief
Implementation spec for the visual redesign of glownet.io (Jekyll + Minima). Follow this exactly. Where it is silent, prefer the quietest option.
1. Concept
The site is called Glownet. The identity is light: a lamp switched on over a desk, illuminating how AI systems work. Everything derives from that — the amber palette, the lamp mark, the warm paper ground, the glyph tiles.
This is the only rule that matters when making a judgment call: if a choice would look at home on any other engineer’s blog, it is wrong.
Do not introduce: monospace nav links, lowercase-only navigation, a name-plus-job-title hero, terminal styling, gradient meshes, or card grids with drop shadows.
2. Tokens
Declare on :root. Nothing below this line may hardcode a colour.
Light (default)
| Token | Value | Role |
|---|---|---|
--paper |
#FAEEDA |
page ground |
--paper-raised |
#FDF7EC |
article surface, code blocks |
--ink |
#412402 |
headings, primary text |
--ink-body |
#633806 |
body copy |
--ink-soft |
#854F0B |
metadata, nav, captions |
--filament |
#EF9F27 |
rules, mark, active states |
--tile |
#FAC775 |
glyph tiles, primary button |
--ember |
#F5C4B3 |
tag pills |
--ember-ink |
#4A1B0C |
text on tag pills |
Dark (@media (prefers-color-scheme: dark))
A lamp in a dark room. The amber stays; the ground drops away.
| Token | Value |
|---|---|
--paper |
#211405 |
--paper-raised |
#2E1D08 |
--ink |
#FAEEDA |
--ink-body |
#E8D3AE |
--ink-soft |
#C79A55 |
--filament |
#EF9F27 |
--tile |
#5A3608 |
--ember |
#4A1B0C |
--ember-ink |
#F5C4B3 |
Only the variable block changes between modes. If you find yourself writing a dark-mode rule that is not a variable reassignment, the light styles are wrong.
3. Typography
Two faces, loaded from Google Fonts:
- Fraunces (variable serif) — display. Headings, post titles, the wordmark.
Weight 400–500 only. Use
font-optical-sizing: auto. Set--wonk: 1and--soft: 30on display headings viafont-variation-settingsso it keeps its personality; do not use it at default settings, which reads like any serif. - Karla — body, nav, metadata, UI. Weights 400 and 500.
Scale (rem, 16px root):
| Element | Size | Face | Tracking |
|---|---|---|---|
| Hero thesis | 2.0 | Fraunces 500 | −0.02em |
| Page h1 | 1.9 | Fraunces 500 | −0.02em |
| h2 | 1.35 | Fraunces 500 | −0.015em |
| h3 | 1.1 | Fraunces 500 | −0.01em |
| Post title (list) | 1.1 | Fraunces 500 | −0.01em |
| Body | 1.0625 | Karla 400 | normal |
| Metadata / nav | 0.85 | Karla 400 | normal |
| Tag pill | 0.72 | Karla 400 | 0.01em |
Body line-height 1.7. Prose measure capped at 68ch. Headings 1.2.
4. Layout
Content column min(46rem, 100% − 3rem), centred. Two exceptions: the hero may
run to 52rem, and figures inside posts may break out to 52rem.
Masthead
Lamp mark (#g-lamp-mark from the glyph sprite, 22px) + “Glownet” in Fraunces,
left. Nav right: writing · papers · about in Karla sentence case, colour
--ink-soft, active item gets a 1.5px --filament bottom border. Separated from
the page by a 1px --filament rule.
Hero (homepage only)
Two columns at ≥720px, stacked below. Left: thesis headline, one paragraph of
intro, a row of pill links. Right: the #g-lamp-hero illustration at 150px.
Copy — use verbatim:
Making the inside of AI systems visible.
I’m Ayushi — I build multi-agent systems on Azure at Microsoft, then take them apart here so you can see how they work.
Pills: “Résumé” filled (--tile bg, --ink text), the rest outlined (1px
--filament, --ink-soft text). border-radius: 20px, padding 5px 13px.
Post list
Each entry is a flex row: a 60px rounded-10px --tile square holding the post’s
glyph at 34px, then title / description / tags. gap: 16px, 1.5rem between
entries. No card borders, no shadows — the tile is the only visual anchor.
Tags are pills: --ember background, --ember-ink text, border-radius: 20px,
gap: 6px, wrapping.
Bug to fix while you are in here: tags currently render with no separator
(Azure AI FoundryAgentic AIAzureCI/CD). Each tag needs its own element inside a
flex container.
5. Glyph system
Instead of per-post illustration, there is a fixed set of abstract marks. Each post declares one in front matter:
---
title: Evaluating AI agents on Azure with AI Foundry
glyph: agents
---
Available: agents, cuda, paper, generative, cloud, auth. Default to
paper when unset.
The sprite lives at _includes/glyphs.svg and is inlined once in the default
layout (hidden, width:0;height:0;position:absolute) so the symbols inherit page
CSS variables. Reference with <use href="#g-">.
Do not add glyphs beyond the six unless a new topic genuinely recurs. The point of a fixed set is that publishing costs one front-matter line.
6. Content fixes (do these too)
<title>currently contains the entire site description. Set it toGlownet — Ayushi Jainon the homepage,Glownet — design brief · Glownetelsewhere. Same forog:title.- Add
Ayushi Jaintoog:site_nameand the meta description so the site is findable by name. - The About page skills list ends mid-sentence:
Git • VS Code • Jupyter • - About page lists
AZ-201. The correct code is AZ-204 — her own credential link confirms it. - About page certification year says 2024; the résumé says 2023. Reconcile.
- Email address must match the résumé exactly. Pick one and use it in the footer, the About page Connect row, and the closing line.
- About page ordering: intro → current work → selected writing → credentials (Microsoft, IIIT-Delhi, Stanford, Azure certs, ACM publication) → personal note → books. Move Class 10 / Class 12 / JEE / NTSE below the fold or cut them; they do not help an international audience.
- The JEE Advanced entry claims “top 0.3 percentile” beside AIR 11404. Those numbers do not reconcile. Correct or remove.
7. Quality floor
- Responsive to 360px. The hero stacks, the glyph tile shrinks to 48px.
- Visible keyboard focus:
outline: 2px solid var(--filament); outline-offset: 2px. @media (prefers-reduced-motion: reduce)disables all transitions.- Body text contrast ≥ 4.5:1 in both modes. Verify
--ink-bodyon--paper. - No layout shift from font loading:
font-display: swapand a system fallback stack on both faces.
8. Files
| Path | Action |
|---|---|
_sass/glownet.scss |
new — the stylesheet below |
assets/main.scss or assets/css/style.scss |
import Minima, then glownet |
_includes/glyphs.svg |
new — sprite |
_layouts/default.html |
inline the sprite once, after <body> |
_includes/header.html |
override Minima’s — masthead per §4 |
index.html |
hero + restyled post loop |
_config.yml |
title, description, email |
Check which of the two assets/ paths exists before creating one; Minima 2.x
uses main.scss, Minima 3.x uses css/style.scss.