Skip to content

feat: redesign site as "The Working Notebook" - #8

Merged
BK5102 merged 6 commits into
chore/add-ci-cdfrom
feature/homepage-redesign
Oct 2, 2026
Merged

BK5102 merged 6 commits into
chore/add-ci-cdfrom
feature/homepage-redesign

Conversation

@BK5102

@BK5102 BK5102 commented Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Stacked on #7 (which is stacked on #6 and #5). Merge #5, #6 and #7 first; GitHub will retarget this PR to main.

What changed and why

The site looked too simple. It needs to grab attention, and a visitor should know within seconds what DevilQuant is and how to join. This PR redesigns the whole site as "The Working Notebook": a dark graph-paper scratch pad with chalk ink, highlighter for actions, and red pen for marks. It was built with the impeccable and frontend-design skills; the direction was chosen on the decision page.

Homepage

  • Hero:
    • "DevilQuant" set large.
    • "the first quantitative finance club at ASU" handwritten on a highlighter stroke.
    • The existing description sentence.
    • A pen-drawn tree from "you" to the two ways to join: Join the Discord (primary) and Sign up on Sun Devil Central.
  • Desktop only: a red-pen margin note lists where members have landed.
  • Placements: member placement logos, inked in chalk in a whole-square grid.
  • Closing: "Your move." with one Join the Discord action.
  • Motion: the tree draws itself and the highlighter swipes once on load. Reduced motion shows the final state.

Site-wide

  • Navbar: monogram wordmark, a red-pen loop on the current page, and the highlighter "Join the Discord" button. A full-screen menu on phones and tablets (below 1024px).
  • Other pages: About, Projects, Resources, 404, the footer and the redirect pages use the same tokens. Content and behavior are unchanged.
  • About: the year picker is now a native <select>, and the 3D placements icon cloud is replaced by the logo grid (lighter on phones).

Under the hood

  • Tokens: defined in src/index.css (@theme): pad, rule, chalk, pencil, highlighter, redpen. Lexend and Kalam are self-hosted via @fontsource, so there's no Google Fonts request.
  • Logos:
    • Official wordmarks from Wikimedia Commons for Amazon, Capital One, General Dynamics, Microsoft and ServiceNow, because several old files were icon-only or unreadable at small sizes.
    • Wells Fargo has its red background box removed so it can be inked in one colour.
    • Sources are recorded in src/data/placements.js.
  • Removed: the magicui background patterns, plus the now-unused motion, clsx and tailwind-merge dependencies.

Docs

  • PRODUCT.md: product truth (audience, brand rules, approved claims).
  • DESIGN.md + .impeccable/design.json: the design system, derived from the shipped build.
  • .impeccable/surfaces/src-pages-home-jsx.md: the homepage direction contract and design plan.

How it was tested

  • npm run lint, npm run check-links and npm run build all pass.
  • Captured every page from the production build at 1440px and 390px: Home, About, Projects, Resources, 404, and the mobile menu. No horizontal overflow, and all images load.
  • An independent design review (impeccable finish reviewer) ran over three rounds. It found 8 material issues, and all 8 were resolved before its final verdict, ship. The issues included unreadable logos, the motion hiding the primary button, a 404 eyebrow, and current-page marks.

Visual changes

Screenshots can't be attached through the API. To see the site:

  • Run npm run dev, or
  • download the dist artifact from this PR's CI run and serve it.

Follow-ups

  • Design ideas from the review (not defects): red-pen correction marks; section dividers that stand out from the grid; an action at the end of Projects; handwritten notes on the About and Projects headings.
  • Spacing: the Resources page and a few small gaps don't follow the 24px grid yet.
  • Photos: Vaibhav's and Thomas's are still missing.

Claude Code notes (CLAUDE.md, PROMPT.md) were removed from the repo on 2026-10-02 and are kept local only; both names are gitignored.

BK5102 added 5 commits October 1, 2026 05:35
Replace the plain black look with a dark graph-paper notebook world so a
visitor immediately sees what DevilQuant is and how to join.

Homepage
- Hero: "DevilQuant" display, the approved claim handwritten on a
  highlighter stroke, and a pen-drawn tree from "you" to the two ways to
  join (Discord primary, Sun Devil Central secondary).
- Desktop red-pen margin note with member placements; placements logo
  grid; closing "Your move." with one Join the Discord action.
- Motion: one-time pen-draw + highlighter swipe, off for reduced motion.

Site-wide
- Navbar: monogram wordmark, red-pen loop on the current page, highlighter
  CTA, full-screen mobile menu (switches at lg).
- About, Projects, Resources, 404, footer and redirect pages restyled into
  the same tokens; content and behavior unchanged. Year picker is a native
  select. Placements icon cloud replaced by the logo grid.
- Tokens in src/index.css (@theme): pad, rule, chalk, pencil, highlighter,
  redpen; Lexend + Kalam self-hosted via @fontsource.
- Placement logos: official wordmarks from Wikimedia Commons for Amazon,
  Capital One, General Dynamics, Microsoft, ServiceNow; Wells Fargo
  background box removed; viewBoxes trimmed (sources in placements.js).
- Removed magicui patterns and the motion, clsx, tailwind-merge deps.

Docs
- PRODUCT.md (product truth), DESIGN.md + .impeccable/design.json (design
  system), homepage direction contract in .impeccable/surfaces/.
- CLAUDE.md style notes and PROMPT.md status updated.
# Conflicts:
#	src/components/magicui/dot-pattern.jsx
#	src/components/magicui/icon-cloud.jsx
Design skills with a no-decorative-grid rule (design-taste-frontend) would
otherwise strip the grid during routine UI work. The note also records that
the team may replace the whole direction, in which case DESIGN.md and this
section should change with it.
…oad Lexend

Merges the Lighthouse CI performance job from #7, then ratchets the budgets
to the redesigned site and fixes the one budget it missed:

- vite.config.js: preload the hashed Latin Lexend woff2 so text paints in its
  final face sooner (About's LCP element is a text block that waited on the
  font). FCP 1.93s -> 1.65s, About LCP 2.73s -> 2.56s, Home LCP 2.22s -> 2.13s.
- lighthouserc.cjs: score >= 85, LCP <= 3.0s, TBT <= 400ms, CLS <= 0.05,
  weight <= 600 KB (from 60 / 3.5s / 2.5s / 0.1 / 1 MB on #7).

Measured (local, Edge, mobile preset, median of 3):
  Home  score 98, FCP 1.65s, LCP 2.13s, TBT 82ms,  CLS 0, 197 KB
  About score 96, FCP 1.63s, LCP 2.56s, TBT 100ms, CLS 0, 388 KB
@BK5102

BK5102 commented Oct 1, 2026

Copy link
Copy Markdown
Contributor Author

Performance results

Lighthouse, mobile preset (simulated slow 4G, 4x CPU), median of 3 runs, local Edge build served with gzip. Compared with main built the same way.

Build Page Score FCP LCP TBT CLS Weight
main Home 94 2.50 s 2.50 s 0 ms 0.001 3,377 KB
main About 67 2.49 s 2.72 s 2,212 ms 0.014 2,202 KB
#8 Home 98 1.65 s 2.13 s 82 ms 0 197 KB
#8 About 96 1.63 s 2.56 s 100 ms 0 388 KB

CI (GitHub runner): Home 99 (FCP 1.52 s, LCP 2.04 s, TBT 9 ms, 196 KB), About 97 (FCP 1.51 s, LCP 2.56 s, TBT 9 ms, 387 KB), all budgets passing.

Verdict: fastest of the stack. About goes from 67 to 96 (blocking time 2.2 s to 0.1 s), and first paint is ~0.85 s earlier than main.

Remaining opportunity: About's LCP element is a text block that still paints ~0.9 s after FCP.

@AlexanderPach
AlexanderPach self-requested a review October 2, 2026 07:54

@AlexanderPach AlexanderPach left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the new design! I'll approve of it, but my suggestion is to try to match the colors to our design. However, you may feel free to make counter points of course!

@BK5102
BK5102 merged commit 3e00ba1 into chore/add-ci-cd Oct 2, 2026
4 checks passed
BK5102 added a commit that referenced this pull request Oct 3, 2026
chore: land #6–#8 on main (stacked PRs merged into intermediate branches)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants