Ren Ashby
A portfolio where colour lives only in the work
Join the waitlist for access to this piece. Already a member? Sign in
You're signed in as a member: copy the full prompts, or switch the film to the live preview.
What's inside
- Prompts
- HTML · 470 lines / React · 515 lines
- Media
- Background image · Canvas
- Hosting
- cdn.orbital.supply, already in the prompt
- Fonts
- Funnel Sans + Mrs Saint Delafield · Google Fonts
- HTML
- One file · gsap 3.15.0 (+ ScrollTrigger · Flip · SplitText) via jsDelivr · lucide-static 1.49.0 (iconos inline)
- React
- react 19.3.0 · vite 8.3.2 · typescript 6.0.3 · tailwindcss 4.3.3 · gsap 3.15.0 (+ ScrollTrigger · Flip · SplitText) · @gsap/react 2.1.2 · lucide-react 1.49.0
- Motion
- preloader-flip, colour-develop, scroll-spy, split-text
Tested & documented
13 October 2026
- Reproduced in Claude
- Rebuilt blind from the prompt: React and HTML
- Checked at 375, 768, 1440, 1920 px
- Spec linter: 0 errors, no generator links
How to use it
Claude
Paste the HTML prompt into a new chat. You get one index.html to serve over HTTP or publish anywhere.
Vite + React
Open an empty Vite + React project and paste the React prompt. It lists the exact packages; the asset URLs are already inside.
The prompt
Excerpt / 515 lines in the full prompt
# Build: "Grisaille" — a one-page portfolio where the interface is grey and colour lives only in the work
## 0. Brief
A dark app-shell portfolio for Ren Ashby, a fictional independent designer in Lisbon: icon rail, hairline top bar, one centred column. The interface is a grisaille (greys only); photographs sit in black and white and colour is glazed on where attention lands — a circle growing from the pointer's entry point (on touch, while crossing the middle of the screen). The loader is a contact sheet that counts to 100, develops its last frame and flies it into the page. Quiet type, hairlines, small radii, no pills; motion is transform/opacity.The full prompt unlocks at launch.

















































