01 · The stack
Small tools, each with one job.
| Tool | What it does here |
|---|---|
| HTML, CSS, JavaScript | Every page, written by hand. No framework, no build step, so any page can be opened and read directly. |
| Matter.js | Real physics for the category capsules that fall and stack on the homepage. |
| three.js | The swaying grass in the garden, and the memory ball in Tend. |
| Lottie | Picnic’s own animated character on the Picnic cover. |
| ffmpeg | Every cover video, encoded twice (H.264 and VP9) so it plays in every browser. |
| Cloudflare | Hosting and the hamdadesign.cc domain. |
02 · What I decided
The calls that shape how it feels.
- 1A desk you can play with.My workspace as the metaphor: drag the objects, flip the ID card, open the sketchbook. It shows interaction design instead of describing it.
- 2One accent, used with discipline.Yellow #FFD60A, one type family, the same sizes and spacing on every page.
- 3No invented numbers.Every number carries an evidence label: Measured, Modelled, Observed or Concept. If I don’t have the data, the page says so.
- 4A cat that never makes things up.Chutku answers only from facts on this site, with no AI behind her. When she doesn’t know, she sends you to me.
- 5Work first, play second.Pinned work sits right under the headline so a recruiter reaches a case study in one scroll. The desk comes after.
- 6Calm by default.Sound is off until you turn it on, and the whole site respects your reduced motion setting.
03 · What Claude Code did
Fast hands, checked every time.
Built
- Turned my comments into code changes across the site.
- Converted my case study write-ups into pages that share one layout.
- Encoded and compressed the cover videos.
- Wrote Chutku’s memory from my case studies, and the matcher that picks her answer.
- Prepared the launch files: sitemap, robots.txt, the 404 page, the favicon and link previews.
Checked
- Opened every change in a browser at desktop and phone width before handing it back.
- Ran axe on every page and fixed contrast, landmarks, headings and keyboard access.
- Flagged gaps instead of filling them, such as missing participant counts.
04 · Accessibility
Playful, and still usable by everyone.
| Check | Result |
|---|---|
| axe (WCAG 2.1 AA and best practices), every page | 0 violations at desktop and at 390 px phone width |
| Keyboard | Skip link, visible focus ring, desk objects open with Enter and move with arrow keys, the garden plants with Enter |
| Reduced motion | Animations settle in their final state and cover videos pause |
| Touch | Desk objects and capsules are tap only on phones, so they never block scrolling |
| Sound | Off by default |
Not done yetA screen reader walkthrough with VoiceOver and NVDA. Spot a barrier? Tell me.
05 · Shipping it
From a comment to hamdadesign.cc.
Changes are reviewed on a private preview first. When a batch is ready, the whole folder is uploaded to Cloudflare as a new version, and the domain, sitemap and link previews stay the same.