A small, faithful design system distilled from the live personal portfolio of Zeel Bhatt — an M.S. Robotics graduate (Arizona State University) working in machine learning with a focus on 3D vision, SLAM, and robotics.
The live site is a GitHub Pages / Jekyll page built on the jekyll-theme-minimal
theme: a clean, two-column, black-on-white academic layout. This system captures that
theme’s foundations (Noto Sans, the #267CB9 link blue, neutral grays, 5px radii,
hairline borders) and extends them into a structured, mobile-friendly, scroll-snapping
portfolio rebuild.
_config.yml declares theme: jekyll-theme-minimal)_sass/jekyll-theme-minimal.scss, _sass/fonts.scss — exact colors, type, layout)Explore those repos to build higher-fidelity work against this person’s site. Imagery in
assets/ is pulled directly from the portfolio repo.
How copy reads on this site:
Example phrasings to echo:
“My research is driven by a more abstract interest in shape understanding at both the structural and semantic levels.” “Building robust SLAM & 3D reconstruction systems.”
#fff) page, ink grays for text
(#222 headings → #727272 body), a single brand blue #267CB9 for links and
accents that deepens to #069 on hover. No gradients. Imagery (e.g. the hero photo)
carries the only warm color — a Phoenix sunset — and is left untreated (no filters,
no grain).20px block rhythm and 50px page
padding are preserved as tokens.#f8f8f8 subtle panel. No textures,
patterns, or full-bleed gradients. The contact section uses the subtle panel to signal
a close.#e5e5e5 / #e0e0e0. Used generously to divide list
rows and outline cards — this is a hairline-driven system, not a shadow-driven one.rgba(34,34,34,…)). Cards rest with almost
no shadow and lift to shadow-md on hover. No colored glows.5px is the theme default (buttons, code blocks); the rebuild adds 10px
for cards and 16px for the photo. Pills (999px) for tags.shadow-md, border darkens slightly, and an inline ↗ arrow nudges.#267CB9 → #069 (and the theme famously bolds them);
buttons darken; cards lift. Press: none beyond color (no scale-down).rise (fade + 22px translate) reveals
section content via animation-timeline: view(), degrading to fully-visible where
unsupported. Easing is a gentle cubic-bezier(0.22,1,0.36,1). No bounces, no loops.The original site uses no icon system at all — it’s a Markdown page; “icons” are just text links and inline images. The rebuild keeps that minimalism:
Root
styles.css — global entry point (an @import manifest; link this one file)tokens/ — colors.css, typography.css, fonts.css, spacing.cssREADME.md — this fileSKILL.md — Agent-Skills-compatible entry pointFoundations (guidelines/ — Design System tab cards)
color-brand, color-neutralstype-display, type-bodyspacing-scale, radii-shadowsComponents (components/core/)
Button — primary / secondary / ghost, 3 sizesTag — monospace skill / metadata pillCard — bordered project / link card with cover imagecore.card.html — combined component specimenUI Kit (ui_kits/portfolio/)
index.html — the full rebuilt portfolio: fixed photo rail + scroll-snap sections
(About · Experience · Selected Work · Research & Writing · Off the Clock · Contact),
mobile-friendly.Assets (assets/)
photo.jpeg — hero portraitprojects/ — project cover images (SLAM, VOCAL, bundle adjustment, signal processing,
blending, GAN, Fourier)