Design Document — Daiwei Zhang’s Personal Home Page

Design Document — Daiwei Zhang’s Personal Home Page

Course: CS 5610 Web Development (Online, Summer 2026) · course page Live site: https://zdwww.github.io

Covers the four Design-Document elements required by the Project 1 rubric: project description, user personas, user stories, design mockups.


1. Project description

A personal home page that serves two visitors at once: an academic reader (research, CV, contact) and a casual visitor (a more human side). Two layers ship from this repository:

LayerURL prefixStackPurpose
Academic homepage/, /cv/, /personal/Jekyll + Academic Pages + Bootstrap 5Real personal/academic content
Vanilla cat archive/project1/*Hand-authored HTML5/CSS3/ES6 modulesRubric-compliant graded submission

The vanilla layer is an editorial photo archive of three cats — chosen as a subject because the photographs are abundant, the content is personal without leaking sensitive information, and the zoological-journal aesthetic resists the generic “AI-template” look the rubric warns against. The two layers cross-link: /personal/ has a “Cabinet of Cats” card that opens the archive, and every page in /project1/ carries a back-link to /.


2. User personas

Mei, 38, prospective research collaborator. Assistant Professor of Robotics; reviewing a paper that cites the author’s Gaussian-Splatting work. Wants to confirm authorship, find publications, and grab an email — within a minute, on a desktop. Frustrated by academic homepages buried under six clicks.

Alex, 27, an old college friend. Software engineer, not in academia, browsing on a phone. Doesn’t care about the CV; wants a human signal — a photo, a hobby, something he can show his partner. Frustrated by CV-only pages and sites that don’t work without JavaScript.


3. User stories

Story 1 — “I just need to know if he’s real.” (Mei) Mei pastes zdwww.github.io into her address bar, lands on the about page, and within five seconds sees a photo, a one-paragraph bio naming the advisor, and a “Publications” link in the nav. She clicks it, finds the paper that brought her, copies the email from the sidebar, and closes the tab. Total time on site: under a minute.

Story 2 — “Where’s the human side?” (Alex) Alex opens the site on his phone. The landing page looks academic and dry, but he notices a “Personal” link in the top nav. He taps it, scrolls, sees a card with two animated cat sprites and a kicker — “The Cabinet of Cats” — taps it, lands on the biographies page, and grins.

Story 3 — “Filter, lightbox, keyboard nav.” (Alex, later) Alex clicks “Gallery” in the archive nav, taps a filter chip to show only one cat’s photos, and clicks the first photo. A <dialog> opens full-screen with the image, caption, and Prev/Next. He presses the right arrow key; the next photo in the filtered set appears. Escape closes the dialog and returns focus to the photo he opened.


4. Design mockups

ASCII wireframes describe layout intent; styling (typography, palette, photo art-direction) is implemented in CSS.

Sitemap

                          https://zdwww.github.io
                                    │
        ┌───────────────────────────┼────────────────────────┐
        /                          /cv/                  /personal/
   (about + pubs)                                            │
                                                "Cabinet of Cats" card
                                                             ▼
                                                      /project1/
                                       ┌──────────────────┼─────────────────────┐
                                       │                  │                     │
                                  /project1/    /project1/about.html  /project1/ai-companions.html
                                  (gallery)        (biographies)            (AI page)

Every /project1/* page carries a back-link to /.

/ — Academic landing (about + publications)

┌─────────────────────────────────────────────────────────────────────┐
│  DAIWEI'S HOMEPAGE              [Publications] [CV] [Personal]      │
├──────────────┬──────────────────────────────────────────────────────┤
│  ┌────────┐  │  ABOUT ME                                            │
│  │ photo  │  │  Bio paragraph (PhD program, advisor, prior degrees).│
│  └────────┘  │  Research interests.                                 │
│  Name        │                                                      │
│  Affiliation │  ──────────────────────────────────────────          │
│  Email ────► │  PUBLICATIONS                                        │
│  Links       │  ┌──────┐  Paper title  ·  Authors  ·  Venue/Year    │
│  (sidebar)   │  │teaser│  [Project][arXiv][Code]                    │
│              │  └──────┘  One-sentence summary.                     │
│              │  ┌──────┐  Next paper …                              │
│              │  └──────┘                                            │
└──────────────┴──────────────────────────────────────────────────────┘

Sticky author-profile sidebar; named anchor #publications lets the navbar link jump on-page rather than navigate away. /cv/ reuses the same shell with Education + Teaching sections in the right column.

┌─────────────────────────────────────────────────────────────────────┐
│  ┌──────────────┐  ALSO · A SIDE PROJECT                            │
│  │ 2 AI sprites │  The Cabinet of Cats                              │
│  │  (cropped)   │  A small editorial archive. Visit the cabinet →   │
│  └──────────────┘                                                   │
│                  (clickable card → /project1/about.html)            │
│  ┌──────────────┐  ALSO · A PHOTO DIARY                             │
│  │ flight photo │  My Flighty Passport                              │
│  └──────────────┘                                                   │
└─────────────────────────────────────────────────────────────────────┘

Two stacked cards share design language (consistent stage width, kicker / title / optional description); first is clickable, second is static.

┌─────────────────────────────────────────────────────────────────────┐
│  Wordmark                  [Gallery] [The Cats] [AI] [Daiwei's site]│
├─────────────────────────────────────────────────────────────────────┤
│  Volume I · Issue 01 · Boston, MA                                   │
│  A cabinet of three cats.                                           │
├─────────────────────────────────────────────────────────────────────┤
│  Filter:  [All]  [Cat #1]  [Cat #2]  [Cat #3]                       │
├─────────────────────────────────────────────────────────────────────┤
│  ┌──────┐  ┌──────────┐  ┌──────┐                                   │
│  │ img  │  │   img    │  │ img  │   asymmetric magazine grid        │
│  │Fig.01│  │  Fig.02  │  │Fig.03│   (mixed row spans)               │
│  └──────┘  └──────────┘  └──────┘                                   │
│  ┌──────────┐  ┌──────┐  ┌──────┐                                   │
│  │   img    │  │ img  │  │ img  │                                   │
│  └──────────┘  └──────┘  └──────┘                                   │
└─────────────────────────────────────────────────────────────────────┘

Lightbox (when a figure is clicked):

  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
  ░░░  ┌───────────────────────────────────────────────────────┐ ░░░
  ░░░  │                  enlarged photo                       │ ░░░
  ░░░  └───────────────────────────────────────────────────────┘ ░░░
  ░░░  Fig. 02 · Cat #1 · caption        [← Prev] [Next →] [×]  ░░░
  ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
    ← / →  cycle the filtered set  ·  Esc closes  ·  click backdrop closes

Real <button> filter chips, native <dialog> for the lightbox, custom gallery:filter event so the lightbox respects the active filter when stepping prev/next.

/project1/about.html — Biographies

┌─────────────────────────────────────────────────────────────────────┐
│  ┌──────────┐  PLATE I · Breed · Kicker                             │
│  │ portrait │  Heading. Dropcap lede. Body. Traits list.            │
│  └──────────┘                                                       │
│  PLATE II · Breed · Kicker                       ┌──────────┐       │
│  Heading. Dropcap lede. Body. Traits list.       │ portrait │       │
│                                                  └──────────┘       │
│  ┌──────────┐  PLATE III · Breed · Kicker                           │
│  │ portrait │  Heading. Dropcap lede. Body. Traits list.            │
│  └──────────┘                                                       │
└─────────────────────────────────────────────────────────────────────┘

Middle bio flips portrait to the right so the page reads with editorial rhythm rather than a repeating column.

/project1/ai-companions.html — AI-generated page

┌─────────────────────────────────────────────────────────────────────┐
│  ╔═════════════════════════════════════════════════════════════╗    │
│  ║  AI DISCLOSURE — sprites + text below were AI-generated     ║    │
│  ╚═════════════════════════════════════════════════════════════╝    │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐               │
│  │ ▮ sprite  ▮ │  │ ▮ sprite  ▮ │  │ ░ awaiting  ░│               │
│  │  animated   │  │  animated   │  │ ░  hatch    ░│  (placeholder) │
│  ├──────────────┤  ├──────────────┤  ├──────────────┤               │
│  │ An imagined  │  │ An imagined  │  │  (no controls)│              │
│  │ short text…  │  │ short text…  │  │              │               │
│  │[Idle][Wave]  │  │[Idle][Wave]  │  │              │               │
│  │[Jump][Pause] │  │[Jump][Pause] │  │              │               │
│  └──────────────┘  └──────────────┘  └──────────────┘               │
└─────────────────────────────────────────────────────────────────────┘

Disclosure banner first; two animated companions plus a deliberately muted placeholder make the AI-vs-real distinction visible at a glance; real <button> controls respect prefers-reduced-motion.